<!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";
}
?>
输出: 警告:第 5 行 C:\xampp\htdocs\phpvideo\Projem\dosyam.php 中未定义的数组键“seçici1”
警告:foreach() 参数必须是 array|object 类型,第 6 行 C:\xampp\htdocs\phpvideo\Projem\dosyam.php 中给出的 null
警告:第 11 行 C:\xampp\htdocs\phpvideo\Projem\dosyam.php 中未定义数组键“Meyve”
警告:foreach() 参数必须是 array|object 类型,第 13 行 C:\xampp\htdocs\phpvideo\Projem\dosyam.php 中给出的 null
警告:第 21 行 C:\xampp\htdocs\phpvideo\Projem\dosyam.php 中未定义变量 $deger
警告:第 26 行 C:\xampp\htdocs\phpvideo\Projem\dosyam.php 中未定义变量 $deger Yanlış değer
请帮助我
在页面初始加载时,还没有设置$_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";
}
}
}
?>
看起来就像是一个页面调用本身
为了避免页面登陆时出现警告错误,您可以使用功能
isset()
来避免这些问题
示例
if(isset($_POST["gonder"])){ // check if submit button is set or not
// other instruction
}