2014-10-05 96 views
-1

我創建了用戶可以更新其生物的成員區域。問題是用戶提交的信息沒有更新數據庫中的行。更新數據庫中的用戶表

會員專區

<body bgcolor="#E6E6FA"> 
<a href="logout.php"><button>Log Out</button></a><br><br> 
<input type="text" name="age"placeholder="Enter a your age."><br> 
<input type="text" name="bio"placeholder="Enter your bio."> 
<input type="submit" name="submit" value="Submit your details!"> 

PHP

<?php 
if(isset($_POST['submit'])){ 
    $con=mysql_connect("localhost","root","****","****"); 
    // Check connection 
    if (mysql_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

    $age = mysql_real_escape_string($_POST['age']); 
    $bio = mysql_real_escape_string($_POST['bio']); 
    $name = mysql_real_escape_string($_SESSION['username']); 

    mysql_query($con,"UPDATE accs SET age='.$age.' WHERE name='.$name.'"); 
    mysql_query($con,"UPDATE accs SET bio='.$bio.' WHERE name='.$name.'"); 

    mysql_close($con); 
}; 
?> 
</body></html> 

任何想法,這裏有什麼問題?

+0

Session open?在執行mysql_query()之前,你有價值$ name嗎? – 2014-10-05 11:04:00

+0

你有什麼錯誤嗎? – hakazvaka 2014-10-05 11:05:31

回答

0

在你的HTML頁面,形式應該是<form></form>標籤

<form method="post" action="update.php"> 
<input type="text" name="age" placeholder="Enter a your age."> 
<br> 
<input type="text" name="bio" placeholder="Enter your bio."> 
<input type="submit" name="submit" value="Submit your details!"> 
</form> 

在你的PHP頁面內 - 檢查結果,你可以暫時echo $age; echo $bio; 當您使用$_SESSION['username'];我認爲你缺少session_start();到您的PHP代碼的頂部。

mysql_query只需要SQL命令,而不是連接($con),這是mysqli,強烈建議使用,而不是mysql_ *。

請注意,不要依賴數據庫中的用戶名作爲更新條件。如果尚未引入,則可以向您的表添加ID列

0

a)創建適當的提交表單。在表單字段周圍使用表單標籤。

b)通過檢查$ _POST數組來檢查表單是否正確提交。

var_dump($_POST); 

c)檢查您是否有要插入的字段的值。 在mysql_query()之前做一個var_dump(),看看發生了什麼。

var_dump($age, $bio, $name); 

d)結合你的兩個查詢調用到一個:

mysql_query($con, "UPDATE accs SET age='.$age.', bio='.$bio.' WHERE name='.$name.'"); 
0

如果你想使用的頁面它的自我處理您的請求,然後清空表單的action屬性。例如:

<form method="post" action=""> 
<input type="text" name="age"placeholder="Enter a your age."><br> 
<input type="text" name="bio"placeholder="Enter your bio."> 
<input type="submit" name="submit" value="Submit your details!"> 
</form>