PHP和MySQL错误。执行某些代码并显示错误消息
我的系统是这样的: 在MySQL数据库中注册并向电子邮件发送验证消息后,该消息中有一个链接将用户指向名为activate.php的页面。下面是错误:PHP和MySQL错误。执行某些代码并显示错误消息,php,mysql,Php,Mysql,我的系统是这样的: 在MySQL数据库中注册并向电子邮件发送验证消息后,该消息中有一个链接将用户指向名为activate.php的页面。下面是错误: <?php $query = "SELECT active FROM users WHERE id='"; $query .= $_SESSION['id']; $query .= "' LIMIT 1"; $result = mysqli_query($link, $query); $row = mysqli_fetch_arr
<?php
$query = "SELECT active FROM users WHERE id='";
$query .= $_SESSION['id'];
$query .= "' LIMIT 1";
$result = mysqli_query($link, $query);
$row = mysqli_fetch_array($result);
if ( $row['active'] == 'false' ) {
$query = "UPDATE `users` SET `active`='true' WHERE `id`='";
$query .= $_SESSION['id'];
$query .= "' LIMIT 1";
$result = mysqli_query($link, $query);
**//THE END**
if ( $result ) header("diary.php");
else echo "<script type='text/javascript'>alert('Activation Failed! Server error!.');</script>";
} else {
header("diary.php");
}
?>
您编写了if($result)标题(“diary.php”);
else echo
“else”前面有分号这不正确我发现了错误。标题语法应如下所示:
header("Location:diary.php");
谢谢大家。它现在工作得很好 如果这是用户在单击邮件中收到的链接后看到的页面,那么您不能期望会话仍然处于活动状态。我认为这个问题的根本原因是这个$\u会话['id']
。首先检查会话是否已过期。Doecho$_会话['id']
并查看是否得到任何值。同时删除行**/结尾**
,它将给您提供这条意外的“”(T_POW)
语法错误。我只是添加这条//结尾,以明确我指向的是哪一部分,而它不在实际代码中。看看您的代码,您添加了这条**/结尾**
/**END**
很好,但是这个**//END**
会给出语法错误。我已经完成了这个会话\u start();在我的实际代码的顶部,但忘了粘贴在这里。我还测试了你回显会话变量的方法,它确实存在。实际上,如果我删除这个分号,它会给我500个服务器错误。这不是问题所在。