【发布时间】:2013-12-26 04:22:36
【问题描述】:
此代码调用输入到表单中的值并将它们输入到数据库中(或者至少它应该在每次页面加载时给出“未定义索引”消息,我正在努力确定原因。
非常感谢可以提供给我的任何帮助!
<?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>';
}
}
【问题讨论】:
-
就像你上面提到的,这是一个输入表单并插入数据库的页面,所以当你第一次加载这个页面或者在提交表单之前,它仍然会插入到数据库中,但是由于表单中没有值,但未定义变量。你应该检查一下 isset($_POST){ //save into database }
-
您还需要检查 $_FILES 是否为空。您的表单是否使用
enctype="multipart/form-data"? -
那个 SQL 真的有效吗?你的价值观没有被引用......
标签: php html forms undefined-index