提问人:user3081307 提问时间:12/9/2013 最后编辑:Rob M.user3081307 更新时间:12/9/2013 访问量:1219
此未定义的索引消息是什么意思
What does this undefined index message mean
问:
这段代码调用输入到表单中的值,并将它们输入到数据库中(或者至少应该如此),每次页面加载时,它都会给出“未定义的索引”消息,我正在努力确定原因。
任何能提供给我的帮助都非常感谢!
<?php
$dbc=mysql_connect('localhost', 'user', '');
mysql_select_db('database', $dbc);
$sqlInsertString = "INSERT INTO band_information (Name, Photo, Bio, City, State, Zipcode, Genre, Link)
VALUES ({$_POST['bandname']}, {$_FILES['bandphoto']['name']}, {$_POST['bandbio']}, {$_POST['bandcity']},
{$_POST['bandstate']}, {$_POST['bandzipcode']}, {$_POST['bandgenre']},{$_POST['bandlink']});";
if($_SERVER['REQUEST_METHOD']=='POST'){
if(move_uploaded_file($_FILES['bandphoto']['tmp_name'], "C:\\HTML\\mgertenbach\\BAND\\photos\\{$_FILES['bandphoto']['name']}") && $mysql_query($sqlinsertString, $dbc)){
print '<p>Thanks for submitting your band!</p>';
} else {
print '<p>Could not submit band because: <br/>' .
mysql_error($dbc) . '</p>';
}
}
答:
1赞
Shankar Narayana Damodaran
12/9/2013
#1
由于您是从 <form>
中获取值,因此需要首先检查它们是否已设置。
为此,您应该使用 isset
构造。喜欢这个
if(!isset($_POST['bandname'])) // And whichever variables you get from your <form>
{
echo "Band Name was not Provided";
exit;
}
else
{
//.... do your CRUD operations here
}
其次,您正在使用即将弃用的 mysql_*
函数。改用 MySQli
或 PDO
。
评论
1赞
Damien Pirsy
12/9/2013
您还需要检查 _FILES 美元是否为空。
评论
enctype="multipart/form-data"