php怎么定义索引,PHP未定义的索引/变量

我使用以下代码得到以下错误:

注意:未定义的变量:第35行的C:\ xampp \ htdocs \ test \ projects \ Learning \ php \ Databases \ Forms和Databases \ project.php中的错误

代码:

$clicked = false;

if($clicked == false && isset($_POST['submit'])) {

if ($_POST['label'] == '') {

echo "

You must enter in a label!

";

$error = true;

}

if ($_POST['url'] == '') {

echo "

You must enter in a url!

";

$error = true;

}

if ($_POST['status'] == '') {

echo "

You must enter in a status (0 or 1)!

";

$error = true;

}

}

if ($error != true) {

if (isset($_POST['submit']) && $_POST['submit'] == '1' ) {

$query = "INSERT INTO nav (label, url, target, status, position) VALUES ('$_POST[label]', '$_POST[url]', '$_POST[target]', $_POST[status], $_POST[position])";

$result = mysqli_query($dbc, $query);

if ($result) {

echo "

You've added a new navigation link!

";

}

else {

echo "

An error has occured!

";

echo mysqli_error($dbc);

echo '

'.$query.'

';

}

$clicked = true;//submit button replaced

}

}

?>

Navigation

*Required Fields

*Label:

Position:

*URL:

Target:

*Status:

if ($clicked == false) {

echo '

Add Navigation Link

';

}

else {

echo '

Do Another

';

}

?>

当我做出以下更改时:

if($clicked == false && $_POST['submit'] == "1") {

if ($_POST['label'] == '') {

echo "

You must enter in a label!

";

$error = true;

}

if ($_POST['url'] == '') {

echo "

You must enter in a url!

";

$error = true;

}

if ($_POST['status'] == '') {

echo "

You must enter in a status (0 or 1)!

";

$error = true;

}

}

我收到这些错误:

注意:未定义的索引:在第18行的C:\ xampp \ htdocs \ test \ projects \ Learning \ php \ Databases \ Forms和Databases \ project.php中提交

注意:未定义的变量:第35行的C:\ xampp \ htdocs \ test \ projects \ Learning \ php \ Databases \ Forms和Databases \ project.php中的错误

很明显,名称“提交”的按钮不会因任何原因被“看到”;我相信 . 这对我来说有点意义,有点......如果我没有弄错:php从头到尾以线性方式读取,并且因为表单在if语句之下,所以索引还不存在 . 我认为这进一步证实了这样一个事实:一旦我单击提交按钮,所有错误都会消失,因此执行if语句中的if语句的错误(echo)语句 .

这令人难以置信 . 这也不起作用......

if(isset($_POST['submit']) && $_POST['submit'] == '1') {

if (isset($_POST['label']) && $_POST['label'] == '') {

echo "

You must enter in a label!

";

$error = true;

}

if (isset($_POST['url']) && $_POST['url'] == '') {

echo "

You must enter in a url!

";

$error = true;

}

if (isset($_POST['status']) && $_POST['status'] == '') {

echo "

You must enter in a status (0 or 1)!

";

$error = true;

}

}

...在以前版本的代码中,isset和"is equal to"的组合用于if语句's conditions, solved the Unidentified index problem, as it pertained to the $_POST[' submit '], here' s代码:ps:因为它属于这个特定的代码块,以下链接的伙伴tutorial尽管我和他做了完全相同的事情,但我正在跟随它,并没有出现任何这些错误 .

$clicked = false;

if (isset($_POST['submit']) && $_POST['submit'] == '1' ) {

$query = "INSERT INTO nav (label, url, target, status, position) VALUES ('$_POST[label]', '$_POST[url]', '$_POST[target]', $_POST[status], $_POST[position])";

$result = mysqli_query($dbc, $query);

if ($result) {

echo "

You've added a new navigation link!

";}

else {

echo "

An error has occured!

";

echo mysqli_error($dbc);

echo '

'.$query.'

';

}

$clicked = true;//submit button replaced

}

?>

Navigation

*Required Fields

*Label:

Position:

*URL:

Target:

*Status:

if ($clicked == false) {

echo '

Add Navigation Link

';

}

else {

echo '

Do Another

';

}

?>

再次,这工作得很好,没有错误 . 那么为什么我在我发布的第一个代码块中得到了undefine变量错误?未定义的变量是由于后续的if语句未能执行而导致的,这就是我假设与索引问题有关的问题,但是,错误并没有反映出来!

当我用$ clicked == false替换条件时,如下所示:

$clicked = false;

if($clicked == false) {

if ($_POST['label'] == '') {

echo "

You must enter in a label!

";

$error = true;

}

if ($_POST['url'] == '') {

echo "

You must enter in a url!

";

$error = true;

}

if ($_POST['status'] == '') {

echo "

You must enter in a status (0 or 1)!

";

$error = true;

}

}

我得到了这三个未定义的索引错误ALONG WITH BLOODY CODE,它显然成功执行,尽管三个索引被认为是未定义的:

注意:未定义的索引:第20行的C:\ xampp \ htdocs \ test \ projects \ Learning \ php \ Databases \ Forms和Databases \ project4.php中的标签您必须输入标签!

注意:未定义的索引:第24行的C:\ xampp \ htdocs \ test \ projects \ Learning \ php \ Databases \ Forms和Databases \ project4.php中的url你必须输入一个url!

注意:未定义的索引:第28行的C:\ xampp \ htdocs \ test \ projects \ Learning \ php \ Databases \ Forms和Databases \ project4.php中的状态您必须输入状态(0或1)!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值