PHP - 发布表单后的未定义索引

时间:2013-10-13 11:31:00

标签: php forms post indexing undefined

我写了以下表单代码:

HTML

<form method="post" action="cible.php">

<p>Prénom</p> <!-- ZONE DE TEXTE -->
<input type="text" name="prenom" />
<input type="submit" value="Valider" />
<br />

<p>Message</p> <!-- ZONE DE TEXTE MULTILIGNES -->
<textarea name="message" rows="8" cols="45">Votre message ici.</textarea>
<br />

<p>Pays</p> <!-- LISTE DEROULANTE -->
<select name="pays">
  <option value="Suisse" selected="selected">Suisse</option>
  <option value="France">France</option>
  <option value="Allemagne">Allemagne</option>
  <option value="Angleterre">Angleterre</option>
  <option value="Italie">Italie</option>
</select>
<br />

<p>Plateforme</p> <!-- CASE A COCHER -->
<input type="checkbox" name="case" value="acer" id="case" /> <label for="case">Acer</label>
<input type="checkbox" name="case" value="asus" id="case" /> <label for="case">Asus</label>
<br />

<p>Sexe</p> <!-- BOUTON RADIO -->
<input type="radio" name="sexe" value="Homme" id="m" checked="checked" /> <label for="Homme">Masculin</label>
<input type="radio" name="sexe" value="Femme" id="f" /> <label for="Femme">Féminin</label>

</form>

PHP

<?php

echo $_POST["prenom"] . "<br />";
echo $_POST["message"] . "<br />";
echo $_POST["pays"] . "<br />";

if ($_POST["case"] == "acer")
{
    echo $_POST["case"] . "<br />";
}
else if ($_POST["case"] == "asus")
{
    echo $_POST["case"] . "<br />";
}
else
{
    echo "Pas de plateforme";
}

echo $_POST["sexe"] . "<br />";

?>

PHP代码意味着:

  

如果访客选择“acer”,请写下他的选择。如果访客选择   “华硕”,写下他的选择。另外,请写下:“Pas de plateforme”。

但是当我“发布”表格时,它会告诉我:

  

undefined index:case in ...

有人可以帮我解决这个问题吗?

谢谢。 克里斯。

2 个答案:

答案 0 :(得分:0)

使用复选框意味着&#34;案例&#34;将返回一个数组,因此您需要查看是否设置了[&#39; asus&#39;]并且值等于1。

答案 1 :(得分:0)

在操作文件中尝试此代码:

<?php

echo $_POST["prenom"] . "<br />";
echo $_POST["message"] . "<br />";
echo $_POST["pays"] . "<br />";

if (!empty($_POST["case"])) {
    if ($_POST["case"] == "acer") {
        echo $_POST["case"] . "<br />";
    } else if ($_POST["case"] == "asus") {
        echo $_POST["case"] . "<br />";
    }
} else {
    echo "Pas de plateforme" . "<br />";
}

echo $_POST["sexe"] . "<br />";
?>