这个未定义的索引消息是什么意思

时间:2013-12-09 06:07:02

标签: php html forms undefined-index

这段代码调用输入到表单中的值,并在每次页面加载时将它们输入数据库(或者至少应该是这样),它会给出“未定义的索引”消息,而我正在努力确定原因。

非常感谢能提供给我的任何帮助!

<?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 个答案:

答案 0 :(得分: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