【问题标题】:Form automatically adds entry on page load表单在页面加载时自动添加条目
【发布时间】:2021-10-07 06:50:53
【问题描述】:

尝试使用 PHP 设置表单,但我希望它等到按下提交按钮才能运行脚本。否则,它会在每次页面加载并向同一页面上的框发送垃圾邮件时这样做。我对 PHP 几乎一无所知!感谢您的所有帮助!

<div style="height:75%;width:90%;border:1px solid #ccc;overflow:auto;background-color: rgba(50, 54, 57, 0.8);color: white;">
 <?php
 

    $msg = $_POST["msg"];
    $name = $_POST["name"];
    $date = $_POST["date"];
    $posts = file_get_contents("posts.txt");
    $posts = "<i>$msg</i> - $name ($date)<br />" . $posts;
    file_put_contents("posts.txt", $posts);
    echo $posts;
    

 ?>




</div>
<font color="white">
 <form id="form1" name="form1" method="post" action="">
 <label>Quote
 <input type="text" name="msg" id="msg" />
 </label>
 <label>Name
 <input type="text" name="name" id="name" />
 </label>
 <label>Date
 <input type="text" name="date" id="date" />
 </label>
 
</font>

<font color="white">
 <p>
 <label>Submit
 <input type="submit" name="submit" id="submit" value="Submit" />
 </label>
 </p>
 </form>
</font>

【问题讨论】:

    标签: php html forms input label


    【解决方案1】:

    这将一直执行,因为没有任何东西可以检查表单是否已提交。

    你添加条件来检查,

       if(isset($_POST['submit'])) {
        $msg = $_POST["msg"];
        $name = $_POST["name"];
        $date = $_POST["date"];
        $posts = file_get_contents("posts.txt");
        $posts = "<i>$msg</i> - $name ($date)<br />" . $posts;
        file_put_contents("posts.txt", $posts);
        echo $posts;
       }
        
    

    现在它检查$_POST 数组中是否有任何值,键为submit。 顺便说一句,submit 键来自 html 中提交输入按钮的name 属性。

    &lt;input type="submit" name="submit" id="submit" value="Submit" /&gt;

    【讨论】:

      猜你喜欢
      • 2013-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-27
      • 2015-07-26
      相关资源
      最近更新 更多