我的系统是这样的: 在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_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");
}
?>
对于作为注释编写的结束部分,所有以前的代码都成功执行并更新MySQL数据库中的表。其余的代码根本没有执行,我总是在执行代码的同时收到错误消息。 错误消息是: Error message relating to a server error although some of the code gets executed
我真的很多地搜索了这个错误,但没有用。我已经确保语法没有错误。
注意:我有数据库工作的链接,但没有提到安全问题。
提前致谢。
答案 0 :(得分:0)
你写了if ( $result ) header("diary.php");
else echo
在'else'之前有分号这是不正确的
答案 1 :(得分:0)
我发现了这个错误。标头语法应如下所示:
header("Location:diary.php");
谢谢大家。它现在很棒!