如何防止表单操作使用链接的 php 脚本打开新选项卡?

How to prevent a form action opening a new tab with the linked php script?

我的网站上有一个带有提交按钮的简单输入表单

  <form action="signup.php" method="post" name="form">
      <div class="input">
             <input type="text" class="button" id="email" name="email" placeholder="NAME@EXAMPLE.COM">
             <input type="submit" name="submit" class="button" id="submit" value="submit">
     </div>
     </form>

使用 signup.php 脚本将输入的文本写入文本文档

    <?php
            if(isset($_POST['submit']))
    {
             $email = $_POST['email'];
            $file = fopen("signup.txt","a+");
            fwrite($file,$email);
            fclose($file);
            print_r(error_get_last());
    }
    ?>

一切正常。但是每当单击提交按钮时,一个新的空白选项卡将打开 php 脚本。我怎样才能摆脱这种情况并用某种反馈替换输入表单?

您可以在 ?> 下的 .php 文件中使用 html,它将呈现它。尝试:

<p>Thank you for subscribing</p>

你应该升级它以匹配你在第一页上的漂亮设计。

编辑:

你也可以这样做

if(error_get_last() == null) echo "<p>Thanks for subscribing</p>";
else print_r(error_get_last());

正如我所见,您正指向带有脚本的空白 php 页面,这就是为什么您在按提交后得到空白页面的原因。 第二件事是你的 if 语句是错误的。

最适合您的方法是将所有内容放在名为 signup.php

的同一页面中

我会这样做:

<form action="signup.php" method="post" name="submit">
      <div class="input">
             <input type="text" class="button" id="email" name="email" placeholder="NAME@EXAMPLE.COM">
             <input type="submit" name="submit" class="button" id="submit" value="submit">
     </div>
     </form>

<?php
            if(isset($_POST['email']))
    {
             $email = $_POST['email'];
            $file = fopen("signup.txt","a+");
            fwrite($file,$email);
            fclose($file);
            if(error_get_last() == null) echo "<p>Your signup was recorded</p>";
            else print_r(error_get_last());
                }
?>

并且您可以向该段落添加任何 class 以使其看起来像您想要的那样并放置在您想要的位置。

希望对你有帮助。