<!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
}