我只是在页面顶部试验一些php来处理一些表单数据。它似乎要我声明变量,即使它不存在,因为它将在提交表单时传递。
我收到以下错误 注意:未定义的索引:第3行的/home/grsim/public_html/age1.php中的mysubmit
<?php
$problem='';
if($_POST['mysubmit']=="Submit Form"){
if($_POST['age']==''){
$problem="The form is blank";
} else {
// do something
$myage = $_POST['age'];
if($myage < 21){
echo "you are a bit young for this";
} else {
echo "you are old enough";
}
}}
任何帮助都会受到赞赏,因为我在使用前不必声明变量。我正在使用一个名为mysubmit的按钮。
答案 0 :(得分:0)
只需将if行更改为
即可if(isset($_POST['mysubmit']) && $_POST['mysubmit']=="Submit Form"){
答案 1 :(得分:0)
当您放入$_POST
的索引不存在时,某些服务器将设置为提供未定义索引错误的位置。 if(isset($_POST['index']) && $_POST['index']=='whatever') { ... }
:
<?php
$problem='';
if(isset($_POST['mysubmit']) && $_POST['mysubmit']=="Submit Form"){
if(isset($_POST['age']) && $_POST['age']==''){
$problem="The form is blank";
} else {
// do something
if(isset($_POST['age']) && $_POST['age'] < 21) {
echo "you are a bit young for this";
} else {
echo "you are old enough";
}
}}
这可以在服务器的设置中进行配置。它可以设置为为空字符串而不是抛出此错误。
答案 2 :(得分:0)
首次运行时,您的变量mysubmit尚未设置。 所以你有这个消息。
尝试使用此代码来解决问题:
$problem='';
$my_submit = isset($_POST['mysubmit']) ? $_POST['mysubmit'] : false;
$myage = isset($_POST['age']) ? $_POST['age'] : false;
if($my_submit == "Submit Form"){
if(empty($myage){
$problem="The form is blank";
} else {
// do something
if($myage < 21){
echo "you are a bit young for this";
} else {
echo "you are old enough";
}
}}