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)!
總結
以上是生活随笔為你收集整理的php怎么定义索引,PHP未定义的索引/变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php禁止国外访问,wordpress
- 下一篇: php执行只读文件,php实现以只读方式