isset条件不能在PHP中工作

时间:2018-03-26 09:33:30

标签: php conditional-statements isset

我试图使用echo打印一些文本,起初我认为错误是来自echo函数的语法,然后我发现即使我按下按钮就没有验证isset条件!

<?php
if (isset($_POST['ajout'])) {
    echo "string";
} else {
    echo "vérifier les champs";
}
?>
<!DOCTYPE html>
<html>
    <head>
        <title></title>
    </head>
    <body>
        <form>
            <label>id</label>
            <input type="text" name="id">
            <br>
            <label>points</label>
            <input type="text" name="points">
            <br>
            <input type="submit" name="ajout">
        </form>

    </body>
</html>

3 个答案:

答案 0 :(得分:3)

您应该指定表单的方法。

<form method="post">

根据w3c,默认方法是GET。

  

method = get | post

     

此属性指定将使用哪种HTTP方法   用于提交表单数据集。可能(不区分大小写)   值&#34; get&#34; (默认)和&#34;发布&#34;。请参阅表格部分   提交使用信息。

答案 1 :(得分:1)

尝试这个

您必须将getpost数据的表单方法用于php

喜欢<form method="post">

<?php
if (isset($_POST['ajout'])) {
    echo "string";
}
else{
    echo "vérifier les champs";
}
?>
<!DOCTYPE html>
<html>
    <head>
        <title>
        </title>
    </head>
    <body>
        <form method="post">
            <label>id</label>
            <input type="text" name="id">
            <br>
            <label>points</label>
            <input type="text" name="points">
            <br>
            <input type="submit" name="ajout">
        </form>
    </body>
</html>

答案 2 :(得分:1)

此处唯一的$_POST变量是&#39; name&amp;&amp; &#39; id&#39;,您正在检查是否已设置提交按钮?

您也缺少表单方法,在这种情况下应该是&#34; post&#34;

<form method="post">

编辑:

通常更容易使用<button type="submit">代替<input type="submit">

  

虽然两个元素都提供了功能相同的结果,但我强烈建议您使用<button>

     
      
  • 更加明确和可读。 input表示该控件是可编辑的,或者可由用户编辑; button在其服务目的方面更为明确
  •   
  • 更容易在CSS中设计风格;如上所述,FIrefox和IE有一些怪癖,input[type="submit"]在某些情况下无法正确显示
  •   
  • 可预测的请求:当在POST / GET请求中向服务器提交值时,IE会有非常行为
  •   
  • 标记友好;您可以在按钮内嵌套项目,例如图标。
  •   
  • HTML5,前瞻性思维;作为开发人员,一旦官方化,我们有责任采用新规范。截至目前,HTML5已经正式推出一年多了,并且在很多情况下已经显示为提升SEO
  •   
     

总之,我强烈反对使用<input type="submit" />

来源:Input Type Submit vs Button Type Submit