我插入一個特定的字符串值與一個窗體在HTML(它實際上是PHP,我呼應HTML)到MySQL。幾天前,我插入了值,讓我們說「啊啊」。現在,我試圖插入其他東西,但它仍然帶來了舊的價值。這不是瀏覽器緩存,也不是我的代碼中的值錯誤。PHP/mysql/HTML - 插入字符串值並返回一個顯示
形式如下:
# form for adding a notice
echo "<form name='formAdd' action='controller.php' method='post'>";
echo "<input type='text' name='data' size='50'/>";
echo "<input type='hidden' name='user' value='$user' />";
echo "<input type='submit' name='submit' value='Add notice'/>";
echo "</form>";
我有3個PHP文件。 functions.php,controller.php以及顯示內容的主文件,並創建上面可以看到的表單。我傳遞給controller.php的$ user是正確的值,應該插入(我打印它並且沒問題)。
在Controller.php這樣我通過
if($_POST["user"]!=NULL){
# HERE he actually comes in, but gets another value from before.
$user = $_POST["user"];
}
得到了用戶插入功能我重定向迴應該告訴我的更新值主文件的調用後,但它顯示了一個錯誤,而不是。
任何想法?
附加信息:
這會在主腳本中獲得正確的用戶。
# get username
$sql = "select username from user_auth where id=" . $_SESSION["sess_user_id"];
$result = mysql_query($sql) or die (mysql_error());
$name = mysql_fetch_array($result);
$user = $name['username'];
echo $user;
的functions.php的樣子:
#cacti DB specifications
$database = "cacti";
$hostname = "localhost";
$username = "xxxxxx";
$password = "xxxxxx";
$port = "xxxx";
mysql_connect($hostname,$username,$password);
mysql_select_db($database);
function addNotice($data,$user,$date){
$sql = "INSERT INTO lalalal (data,user,date) VALUES ('$data','$user','$date')";
$result = mysql_query($sql) or die (mysql_error());
}
function deleteNotice($id){
$sql = "DELETE FROM lalalala WHERE id='$id'";
$result = mysql_query($sql) or die (mysql_error());
}
的Controller.php這樣的樣子:
$user = NULL;
if($_POST["user"]!=NULL){
$user = $_POST["user"];
}
ini_set("display_errors", 1);
include_once("/var/www/html/cacti/plugins/lalala/functions.php");
$id = NULL;
$data = NULL;
$date = date('d.m.Y');
if($_POST["data"]!=NULL && $_POST["id"]==NULL){
$data = $_POST["data"];
addNotice($data,$user,$date);
}
小心向我們展示相關代碼呢? – 2012-07-13 18:35:37
我最好的猜測是檢查正在創建的行的ID。我們需要更多的代碼來查看select和insert語句。 – Robert 2012-07-13 18:38:36
是的,如果他只是將新值插入到數據庫中,我們應該看看數據庫中的值是如何搜索的。 – 2012-07-13 18:40:31