我正在嘗試更新我的表格,並將正確的信息鏈接到follwing ID。我將發佈代碼,以便大家看一看。使用PHP更新數據編輯窗體幫助需要
這是我的問題:一旦我提交表單與從數據庫收到的所有細節,一切工作成功。但是當我點擊提交它重新指向我的另一個頁面,名爲update_ac.php。一切工作正常,除了在MySQL表中的數據不會得到更新。
我想知道是否有人可以看看代碼,看看他們的想法:非常感謝和反饋會是太棒了。 PS我不是最好的PHP程序員,仍在學習!
因此,這裏是edit.php - 在德用戶編輯自己的信息:
<?php
session_start();
$UserName = $_SESSION['UserName'];
require("checkLoginSession.php");
$adminid = $_GET['id'];
//CONNECTION CODE WAS HERE
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
echo("Logged In As: $UserName");
echo "<br />";
echo("We are editing Data for ID: $adminid");
echo "<br />";
echo "<a href=test.php>Go back to panel</a>";
$id=$_GET['id'];
// Retrieve data from database
$sql="SELECT * FROM admin WHERE id='$id'";
$result=mysql_query($sql) or die(mysql_error());
$rows=mysql_fetch_array($result);
?>
<table width="400" border="0" cellspacing="1" cellpadding="0">
<tr>
<form name="form1" method="post" action="update_ac.php">
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="0">
<tr>
<td> </td>
<td colspan="3"><strong>Update data in mysql</strong> </td>
</tr>
<tr>
<td align="center"> </td>
<td align="center"> </td>
<td align="center"> </td>
<td align="center"> </td>
</tr>
<tr>
<td align="center"> </td>
<td align="center"><strong>Name</strong></td>
<td align="center"><strong>Main Content</strong></td>
</tr>
<tr>
<td> </td>
<td align="center"><input name="name" type="text" id="name" value="<? echo $rows['name']; ?>"></td>
<td align="center"><input name="mainContent" type="text" id="mainContent" value="<? echo $rows['mainContent']; ?>" size="15"></td>
</tr>
<tr>
<td> </td>
<td><input name="id" type="hidden" id="id" value="<? echo $rows['id']; ?>"></td>
<td align="center"><input type="submit" name="Submit" value="Submit"></td>
<td> </td>
</tr>
</table>
</td>
</form>
</tr>
</table>
<?
mysql_close();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Edit Page</title>
</head>
<body>
<h2>Edit Page (<?php echo ("$adminid"); ?>)</h2>
</body>
</html>
這裏是update_ac.php:
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// update data in mysql database
$firstName = $_POST["name"];
$mainText = $_POST["mainContent"];
$sql="UPDATE admin SET name='$firstName', mainContent='$mainText' WHERE id='$id'";
$result=mysql_query($sql) or die(mysql_error());;
// if successfully updated.
if($result){
echo "Successful";
echo "<BR>";
echo "<a href='test.php'>Back to panel</a>";
}
else {
echo "ERROR";
}
?>
OK GUYS編輯在這裏:
如果在Update_ac.php中,如果我將以下行更改爲:
$sql="UPDATE admin SET name='$firstName', mainContent='$mainText' WHERE id='1'";
現在得到更新的信息,因此意味着什麼與我的ID變量
使用2個分號語法錯誤,你還沒有定義'$ id'在'update_ac.php'。我強烈建議您閱讀有關在代碼中防止SQL注入的信息,將變量直接插入到查詢中並不安全。 – sooper 2012-01-06 13:11:30
...並閱讀了關於SQL注入後,閱讀準備的SQL語句:http://php.net/manual/en/pdo.prepared-statements.php – 2012-01-06 13:32:04
謝謝,爲您的幫助,將看看! – 2012-01-06 13:41:56