我花了好幾天的時間試圖找出這個無濟於事。我已經檢查了PHP文檔以及有關「未定義索引」通知的多個其他形式問題,以及似乎通常的解決方案「isset()」函數。未定義的指數通知
但我無法解決我的情況。
下面是代碼:關於與$ SQL變量的行
<form action="" method="post">
<!-- Here are all the form fields -->
<input type="submit" name="send" value="send"/>
</form>
<?php
$con = mysql_connect("#","#","#");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("#", $con);
$sql="
INSERT INTO events (e_date, e_time, e_type, e_name)
VALUES ('$_POST[form_e_date]','$_POST[form_e_time]','$_POST[form_e_type]','$_POST[form_e_name]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con)
?>
4個啓事出現爲開頭的「價值」,指的是form_e_date等
我詢問一個道歉我意識到的問題有點頻繁,但我嘗試了其他人的解決方案,這些解決方案對我來說沒有任何作用,否則我沒有正確實施它們。
請幫忙,請隨時留下任何關於我的代碼的建設性反饋,因爲我是一個新手。
謝謝!
哪些注意事項和錯誤將它們粘貼到你的問題 – 2012-03-28 23:52:13
$ _ POST [form_e_time]應該是$ _ POST [「form_e_time」],除非form_e_time被定義爲一個常數,同樣,你引用的任何其他關聯數組索引,無論是你自己的數組還是超全局...這個問題每週回答幾十次 – 2012-03-28 23:53:26
但是請注意,直接從用戶輸入插入是非常危險的,所有的用戶輸入都應該在用於任何類型的數據庫語句之前進行轉義。 – dldnh 2012-03-29 00:01:07