首页 > 解决方案 > (empty($_POST['submit'])) 不起作用,而我可以看到调试器中有一个值

问题描述

我有一个网站,我想防止用户通过 url 访问特定页面。所以我只希望当他们按下第一页上的提交按钮时可以访问它。

问题是使用这段代码我会自动转到index.php?page=home, while$_POST不是空的。如果$_POST不为空,我希望用户进入其他页面。

这是我的html:

<form action="index.php?page=cart" method="post">
    <input type="hidden" name = "submit"  value = "submit" />
    <button type="submit" 
            name="action"
            value="details"
            class="btn btn--big btn--big-2 btn--dark">
        your details -> 
    </button>
</form>

这是我在控制器中使用的代码:

public function detail() {
  if(empty($_POST['submit'])) {
    header('Location: index.php?page=home');
    exit();
  }else {

//Rest of code..
}

当我查看调试器时,有一个带有提交值的 $_POST,这就是为什么我觉得它很奇怪。

标签: phpposturl-routing

解决方案


推荐阅读