foreach()参数的类型必须为array|object,中给定null


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Fiyat listesi</title>
</head>
<body>
<form method="post" action="dosyam.php">
Fiyat listesi: <input name="seçici1[]" type="checkbox" value="Fiyat">
Gram <input name="seçici1[]" type="checkbox" value="gram">
<br>
Elma: <input  type="checkbox" name="Meyve[]" value="Elma" ><br>
Kiraz: <input  type="checkbox" name="Meyve[]" value="Kiraz">
<input type="submit" name="gonder " value="Anketi Gönder">

</form>
</body>
</html>
<?php

$sec = $_POST["seçici1"];
foreach ($sec as $secici){
echo $secici;
}

$Meyve = $_POST["Meyve"];
foreach ($Meyve as $deger) {
echo $deger."<br>";
}
$gram = array("Elma" => "1.000", "Kiraz" => "1.000", "Elma Fiyat" =>"50TL", "Kiraz Fiyat"=>"60TL" );

if ($deger =="Elma"){
echo $gram["Elma"];
}
if ($deger == "Kiraz"){
echo $gram["Kiraz"];
}
else{
echo "Yanlış değer";
}


?>

输出:警告:未定义的数组键";seçici1";在第5行上的C:\examplep\htdocs\phpvideo\Projem\dosyam.php中

警告:foreach((参数的类型必须是array|object,在第6行的C:\examplep\htdocs\phpvideo\Projem\dosyam.php中给定null

警告:未定义的数组键";Meyve";在第11行上的C:\examplep\htdocs\phpvideo\Projem\dosyam.php中

警告:foreach((参数的类型必须是array|object,在第13行的C:\examplep\htdocs\phpvideo\Projem\dosyam.php中给定null

警告:第21行C:\examplep\htdocs\phpvideo\Projem\dosyam.php中未定义的变量$deger

警告:第26行C:\examplep\htdocs\phpvideo\Projem\dosyam.php中未定义的变量$degerYanlışdeğer

Pls帮助满足

在页面的初始加载时,还没有设置$_POST,因此需要保护这是isset()条件的逻辑,所以我们可以更新它并添加条件,使其看起来像

<?php

if(isset($_POST["seçici1"])){
$sec = $_POST["seçici1"];
foreach ($sec as $secici){
echo $secici;
}
}
if (isset($_POST["Meyve"])){

$gram  = array("Elma" => "1.000", "Kiraz" => "1.000", "Elma Fiyat" =>"50TL", "Kiraz Fiyat"=>"60TL" );
$Meyve = $_POST["Meyve"];
foreach ($Meyve as $deger) {
echo $deger."<br>";

if ($deger =="Elma"){
echo $gram["Elma"];
}
if ($deger == "Kiraz"){
echo $gram["Kiraz"];
}
else{
echo "Yanlış değer";
}
}
}

>

它看起来像是对自身的页面调用

为了避免在页面着陆时出现警告错误,u可以使用函数isset()来避免的这些问题

示例

if(isset($_POST["gonder"])){ // check if submit button is set or not
// other instruction
}

最新更新