【问题标题】:PHP code not working - custom error message printed [duplicate]PHP代码不起作用 - 打印自定义错误消息[重复]
【发布时间】:2016-06-30 09:51:51
【问题描述】:

所以,我正在尝试让登录页面正常工作,但出现了一些错误。以下是正在发生的和不起作用的细分。

  1. 页面加载正常,一切都可以看到。
  2. 如果我输入了正确的用户名和密码组合,我知道它已被接收,因为页面只是变成空白。但是,回显语句不打印。

    echo "You have been logged in as ".$firstName." ".$lastName.", (".$user.").";   
    echo "<a href = 'GroceryOrder.php'>Confirm</a>";
    
  3. 当在用户和密码字段中输入不正确的内容时,不会打印错误消息,而是重新加载页面,不会打印新消息。
  4. 我的创建帐户按钮有效。

任何帮助将不胜感激!到目前为止,这是我的代码主体(我的数据库设置正确,我已经检查过了)。另外,我调用了 session_start();在我的头部信息之前的文档顶部。

【问题讨论】:

  • 您是否将整个 HTML 包含在单个字符串中? :o
  • 这是因为我希望在打开页面时按原样调用它,并在某些内容输入错误时调用它。那么有没有更好的方法来设置它? *还有一个 php 变量,我想根据输入的内容进行更改。
  • 最好使用include("page.inc") 之类的。主要原因是,开发人员很难更改其中的任何内容。同意吗?
  • 使用此代码打开文件时看到的第一件事:注意:未定义索引:第 41 行 root\index.php 中的 loginBtn
  • 您对如何更好地格式化它有什么建议吗?如前所述,这只是因为我想继续调用并重新打印该 html 代码,并带有已编辑的错误消息。

标签: php html database variables echo


【解决方案1】:

尝试将if ($_POST['loginBtn']){替换为if (isset($_POST['loginBtn'])){

这将检查“submitBtn”是否设置了任何值,而不是检查使用名称“submitBtn”提交的值是否只是“true”
(这似乎不是你的情况)

【讨论】:

  • 这有助于消除一个错误,即 loginBtn 未定义,但无助于让事情整体正常工作。
  • 您应该将 HTML 放在 PHP 之外,反之亦然,以获得更好的可读性。发现任何错误有点困难
【解决方案2】:

这里的问题是您如何检查POST。使用:

if (count($_POST)) // This checks if there's anything being posted to the page.

【讨论】:

  • 我应该在我的程序中具体在哪里进行更改? (抱歉,还在学习中)
  • @MandyLB 将if ($_POST['loginBtn']){ 替换为上述内容。
  • 我按照@Minzkraut 的建议将其更改为 if (isset($_POST['loginBtn'])) 并消除了另一个错误。在这种情况下使用 count 会更好吗?我要做的就是检查按钮是否被按下。
  • @MandyLB 由于没有设置,它不会工作。试试我的,告诉我它是否有效?
  • 我改变了它,它仍然给我同样的问题;不打印内部回显语句,也不打印错误消息。
猜你喜欢
  • 2018-08-08
  • 2014-02-18
  • 1970-01-01
  • 2016-12-03
  • 2014-10-25
  • 2021-02-02
  • 1970-01-01
  • 2021-04-20
  • 2019-12-16
相关资源
最近更新 更多