2012-03-30 63 views
-3

在上一頁我有一個文本框。現在,用戶在該文本框中輸入一個數字,當用戶提交表單時,它將被髮布到下一頁。但是我想知道的是,如何將數字插入數據庫,並在文本框處於發佈的下一個頁面時將該代碼放在上一頁上?如何在數據庫中插入某些東西?

換句話說,當用戶在文本框中輸入一個數字並提交表單時,它將用戶導航到下一頁,並在下一頁上顯示該數字,但也會將該數字插入到數據庫中。

在數據庫中的表的名字叫做「會話」和字段的名稱是「TotalMarks」

下面是用戶在一些進入上頁的文本框:

<input type="text" id="txtMarks" name="textMarks" /> 

下面是其張貼到下一個頁面數的PHP代碼:

if (isset($_POST['textMarks'])) { 

$_SESSION['textMarks'] = $_POST['textMarks']; 

} 
+6

你完全不知道你在做什麼。閱讀一些PHP教程。 – maialithar 2012-03-30 11:36:41

+0

好的,所以我們知道你的HTML和PHP的外觀。你的數據庫呢?它是什麼數據庫服務器軟件?你的數據庫認證是否有效?你有沒有試過閱讀這方面的任何文檔,或者你是否希望使用StackOverflow代替教程? – ghoti 2012-03-30 11:43:08

+0

我使用MYSQL phpadmin,我知道連接數據庫和所有這一切,我已經做了一些代碼創建查詢從數據庫中查找信息在PHP應用程序。我只是不知道如何在數據庫中插入值:)我知道連接到數據庫的代碼以及所有這些。我只需要知道INSERT代碼是在上一個文本框所在的頁面還是下一個已經發布詳細信息的頁面? – user1292857 2012-03-30 11:46:06

回答

1

MySQL的代碼是標準的,你只需要使用的mysql_query執行與

例如去在提交表格後(未測試):下一頁:

$con = mysql_connect("localhost","databaseusername","databasepassword"); 
mysql_select_db("databasename", $con); 

$textmarks=$_POST['textMarks']; 

$sql = "insert into session (totalmarks) values ('$textmarks')"; 
mysql_query($sql,$con); 

mysql_close($con); 

我希望這有助於。

又看了教程http://www.w3schools.com/php/php_mysql_insert.asp

好運。

+0

對SQL注入不安全 – allen213 2012-07-02 15:09:24

0

的查詢是:

INSERT INTO Session (TotalMarks) VALUES ('your value') 

但是,您需要首先連接到數據庫。也許尋找一個簡單的PHP/MySQL教程(例如:http://www.freewebmasterhelp.com/tutorials/phpmysql)。並且一定要注意Mysql Injection以及如何避免它!

+0

我知道有關連接到數據庫,我只是不知道什麼代碼是從PHP頁面插入數據到數據庫:)感謝 – user1292857 2012-03-30 11:40:07

+0

在提交表單之後,最好是將此代碼放入下一頁中嗎? – user1292857 2012-03-30 11:42:59

0

如果你正在使用MySQL作爲數據庫服務器,你就需要PHP,MySQL的橋

第一, 創建通過身份驗證一個新的連接:

$con=mysql_connect($hostname,$user,$password); 

然後使用這個連接的資源對象選擇您的數據庫

mysql_select_db($databaseName,$con); 

然後對數據庫執行查詢

mysql_query("insert into table_name values(\"$_POST[textMarks]\")"); 
+0

我知道如何連接到數據庫:)我現在想知道的是,這些代碼是否需要放在w表單下面的上一頁,或者在下一頁顯示詳細信息? – user1292857 2012-03-30 11:47:53

+0

你有兩種方法: 1)從表單中取值並存儲會話,並使數據庫條目在同一頁面中。那麼你重定向到下一頁,並使用會話值在那裏打印值 2)將表單的動作設置爲下一頁本身..在下一頁中寫入DB條目的代碼,然後將不存在需要會話 – 2012-03-30 11:50:52

+0

我正在考慮這樣做的第一種方法,把DB代碼放在第一頁,以便表單提交時,它會在數據庫中發佈詳細信息,然後在下一頁發佈會話,最後一個問題,DB代碼在文本框的下方或上方 – user1292857 2012-03-30 11:55:59

0

我不知道是什麼數據庫,但假定MySQL的,這將是這樣:

if(isset($_POST['textMarks'])) { 
    if(!mysql_connect(localhost,'username','password')) { 
     die("cannot connect with the sql server"); 
    } 

    if(!mysql_select_db($database)) { 
     die("cannot connect with the database"); 
    } 

    $myVar = mysql_real_escape_string($_POST['textMarks']); // for security 
    $sqlquery = "INSERT INTO Session('TotalMarks') VALUES ('{$myVar}')"; // qry 
    mysql_query($sqlquery); // execute 
} 
+0

小的更新順序,因爲mysql_real_escape_string函數需要一個mysql服務器連接。 – ArendE 2012-03-30 11:48:10

相關問題