下面的PHP文件旨在讓有人可以向數據庫提交評論,包括他們的名字,姓氏和電子郵件地址。然而,當我嘗試提交測試評論,我得到以下錯誤:未定義索引PHP和MYSQL
Notice: Undefined index: fname in \comments.php on line 20
Notice: Undefined index: lname in \comments.php on line 20
Notice: Undefined index: eaddress in \comments.php on line 20
Notice: Undefined index: comment \comments.php on line 20
現在我什麼之後真的有我困惑的是同樣的邏輯爲另一種形式的填補了不同的數據庫和一個作品沒問題。 PHP和SQL對我來說都是非常新的,所以我認爲我會忽視簡單的事情。然而,我現在一直在盯着這一點,我無法理解它。 Anyhelp非常感謝,我爲一個普通的問題感到抱歉。
<?php
define('DB_NAME', 'conference');
define('DB_USER', 'root');
define('DB_PASSWORD', 'password');
define('DB_HOST', 'localhost');
$link = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
mysqli_set_charset($link, 'utf8');
if (!$link) {
die("Database connection failed: " . mysqli_error($link));
}
//Use array to not repeat code
$post_vars = array('fname', 'lname', 'eaddress', 'comment');
foreach($post_vars as $key) {
$$key = mysqli_real_escape_string($link, $_POST[$key]);
//For example now there is a variable $firstname that you can use
}
$sql = "INSERT INTO comments ('fname', 'lname', 'eaddress', 'comment') VALUES ('$fname', '$lname', '$eaddress', '$comment');";
$result = mysqli_query($link, $sql);
mysqli_close($link);
?>
PHP通知告訴你,你在foreach循環中使用的鍵不存在於$ _POST數組中。 –
我不明白爲什麼。我有2個其他的PHP文件,喂2個其他表,具有相同的確切結構和沒有問題。 – Vortex11
var_dump $ _POST來查看它的實際內容。 –