提交表单后未定义的索引错误

时间:2011-12-22 10:23:21

标签: php html forms

嗨请帮我解决这个问题..我创建了一个表格&试图将数据发布到mysql数据库。但在提交表格后,我收到了以下错误..

注意:未定义的索引:第14行的C:\ xampp \ htdocs \ auto \ insert_ac.php中的月份 注意:未定义的索引:第15行的C:\ xampp \ htdocs \ auto \ insert_ac.php中的listner_name 注意:未定义的索引:第16行的C:\ xampp \ htdocs \ auto \ insert_ac.php中的rj_name 注意:未定义的索引:第17行的C:\ xampp \ htdocs \ auto \ insert_ac.php中的通道 注意:未定义的索引:第18行的C:\ xampp \ htdocs \ auto \ insert_ac.php中的年份 注意:未定义的索引:第19行的C:\ xampp \ htdocs \ auto \ insert_ac.php中的国家/地区

&安培;当我检查插入我的数据库的空白行条目

  <?php

$host="localhost"; // Host name
$username="root"; // Mysql username`
$password=""; // Mysql password
$db_name="auto"; // Database name
$tbl_name="song_request"; // Table name

// 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");

// Get values from form
$month=mysql_real_escape_string($_POST['month']);
$listner_name=mysql_real_escape_string($_POST['listner_name']);
$rj_name=mysql_real_escape_string($_POST['rj_name']);
$channel=mysql_real_escape_string($_POST['channel']);
$year=mysql_real_escape_string($_POST['year']);
$country=mysql_real_escape_string($_POST['country']);

// Insert data into mysql

$sql="INSERT INTO song_request (month, listner_name, rj_name, channel, year, country)VALUES('$month', '$listner_name', '$rj_name', '$channel', '$year', '$country')";
$result=mysql_query($sql) or die ('error Updating database');

// if successfully insert data into database, displays message "Successful".
if($result){
echo "Successful";
echo "<BR>";
echo "<a href='index.html'>Back to main page</a>";
}

else {
echo "ERROR";
}

// close connection
mysql_close();
?>

2 个答案:

答案 0 :(得分:1)

我不知道你的表单是什么样的,但基本上PHP告诉你没有$_POST['month']。你真正应该做的是开始调试。查看$_POST中的内容以及不是$_POST['month']中的内容。试着找出PHP告诉你{{1}}不存在的原因。

答案 1 :(得分:0)

表单上没有月份字段,这就是您收到错误的原因。

提交表单时应分配

$_POST['month'],尝试将该字段添加到表单中,然后重试。

此外,您可以检查它是否设置了isset()empty()个功能。