【问题标题】:submit button just refreshes php提交按钮只是刷新 php
【发布时间】:2022-02-09 13:46:48
【问题描述】:
<form method="POST">
    <div class="form-outline form-white mb-4">
  <input type="password" name="password" class="form-control" required/>
  <label class="form-label" for="form">Pass</label>
</div>
    <button type="Submit" value="send" class="btn transparent btn-block" style="color: white;">Submit</button>
  </form>

   if (isset($_POST['submit'])) {
      $password=$_POST['password'];

      if ($password=='password') {
        header("location:ari.html");
        exit();
      }
      else
        echo "Incorrect.";
    }

我目前正在开始使用 php,并且正在尝试使用登录方法,但是每当我按下提交按钮时,我的代码都会刷新并且不会移动到我指示的下一页。 (位置:ari.html) 如果我能就我做错的事情获得帮助,那将非常感谢。

【问题讨论】:

  • 您的表单中没有带有name "submit" 的表单元素。此外,action 属性在 &lt;form&gt; 标记中是必需的。

标签: php html forms


【解决方案1】:

你应该考虑在表单标签中使用 action 属性并指向一些 POST url 来检索你的数据 使用此操作线

<form method="POST" action="/ari.php">

提交按钮刷新页面没有action属性,如果你不填写它只是指向当前URL

【讨论】:

  • 看来 OP 只在 $password=='password' 时才想重定向到 ari.php。
  • 是的!感谢您的评论,但它不适用于我的登录 php 代码。 $password=='密码'。
【解决方案2】:
<form method="POST" >
    <div class="form-outline form-white mb-4">
  <input type="password" name="password" class="form-control" required/>
  <label class="form-label" for="form">Pass</label>
</div>
    <button type="Submit" name="submit" value="send" class="btn transparent btn-block" style="color: white;">Submit</button>
  </form>
<?php
   if (isset($_POST['submit'])) {
    echo $password=$_POST['password']=='password'?header("location:ari.html"):"Incorrect.";
}
?>

已更新此代码并为我工作正常...希望您得到答案

【讨论】:

  • hmm... 我试过这个,但不正确的部分不起作用。无论密码是什么,它都会指示操作。
  • 我刚刚尝试过,对我来说效果很好...从表单标签中删除操作,然后重试
  • 啊,我又试了一次,去掉了这个动作。谢谢!
【解决方案3】:

看看这一行:

&lt;form method="POST"&gt;

发生的情况是,当您提交表单时,它会将数据发送到同一页面。

在这一行:

if (isset($_POST['submit'])) 我没有找到带有 name='submit' 属性的标签。你应该把它放在你的提交按钮中。

如果您想将其发送到另一个页面,请使用表单标签中的 action 属性并将您的数据指向该页面,例如 action=yourpage.php

【讨论】:

  • 知道了,我包括了你提到的 action + name="submit"。这确实有效,但你怎么能做到这样 $password=='password' 而已?
  • 或者我可以做 var_dump($_POST);代替?
  • 在这种情况下你可以只使用简单的回声。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-09
  • 2014-12-09
  • 2017-07-31
  • 2020-10-06
  • 1970-01-01
  • 2017-10-16
相关资源
最近更新 更多