我只是在页面顶部尝试一些php来处理一些表单数据。它似乎希望我声明变量,即使它不存在,因为它将在提交表单时传递。
我收到以下错误注意:未定义的索引:第3行上的mysubmit in/home/grsim/public_html/age1.php
<?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的按钮。
只需将if行更改为
if(isset($_POST['mysubmit']) && $_POST['mysubmit']=="Submit Form"){
在第一次运行时,尚未设置变量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";
}
}}
当您在$_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";
}
}}
这可以在服务器的设置中进行配置。它可以设置为提供空字符串,而不是抛出此错误。