首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP登录页返回错误500

问PHP登录页返回错误500
EN

Stack Overflow用户
提问于 2018-06-21 17:39:50
回答 1查看 1.2K关注 0票数 1

我已经写了一个页面,允许用户登录。但它返回错误500。如果我注释掉$resultCheck变量,它至少会传递一条指定的错误消息。我的$resultCheck怎么了?我在注册页面中使用$conn,所以我知道这是可行的。我还知道$sql是正确的,因为我通过MariaDB运行了相同的命令,并且运行正常。我有一个正确工作的注册表单,所以PHP与MariaDB的交互没有问题。我还有0处语法错误。为什么它会给我一个错误500?

代码语言:javascript
复制
<?php

session_start();

if (isset($_POST['submit']))
{

include 'serv.db.php';

$uid = mysqli_real_escape_string($conn, $_POST['uid']);
$pwd = mysqli_real_escape_string($conn, $_POST['pwd']);

//check if inputs are empty
if (empty($uid) || empty($pwd))
    {
    header("Location: signin.php?login=empty");
    exit();
    }   
else
    {

    $sql = "SELECT * FROM users WHERE user_uid='$uid';";
    $result = mysqli_query($conn, $sql);
    $resultCheck = mysqli_num_rows($result);
    if ($resultCheck < 1)
        {
            header("Location: signin.php?login=error");
            exit();     
        }
    else
        {
            if ($row = mysql_fetch_assoc($result))
            {
                //echo $row['user_uid'];
                //de-hash password
                $hashedPwdCheck = password_verify($pwd, $row['user_pwd']);
                if ($hashedPwdCheck == false)
                {
                    header("Location: signin.php?login=error");
                    exit();
                }
                elseif ($hashedPwdCheck == true)
                {
                    //Sucessfully create user here.
                    $_SESSION['u_id'] = $row['user_id'];
                    $_SESSION['u_first'] = $row['user_first'];
                    $_SESSION['u_last'] = $row['user_last'];
                    $_SESSION['u_email'] = $row['user_email'];
                    $_SESSION['u_uid'] = $row['user_iid'];
                    header("Location: signin.php?login=success");
                    exit();
                }
            }
        }
    }
}
else
{
header("Location: signin.php?");
exit();
}
EN

回答 1

Stack Overflow用户

发布于 2018-06-21 18:50:58

500内部服务器错误是一个非常普遍的HTTP状态代码,这意味着网站的服务器出了问题,但是服务器不能更具体地说明具体问题是什么。权限错误。在大多数情况下,500内部服务器错误是由于对一个或多个文件或文件夹的权限不正确造成的。在大多数情况下,对PHP脚本的不正确权限应该归咎于PHP超时。如果您的脚本连接到外部资源,并且这些资源超时,则可能会发生HTTP 500错误。如果这是导致500错误的原因,则超时规则或脚本中更好的错误处理应该会有所帮助。.htaccess中的编码错误。虽然不是很常见,但是一定要检查站点的.htaccess文件结构是否正确。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50974607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档