【问题标题】:Why Does Localhost Get A HTTP 500 Error On Redirect?为什么 Localhost 在重定向时会收到 HTTP 500 错误?
【发布时间】:2017-01-31 03:17:30
【问题描述】:

我正在摆弄 mysql、PHP 和 phpMyAdmin,并且正在制作一个简短的小测试登录和注册系统。唯一的问题是由于某种原因,注册按钮将我带到了登录页面,这是应该的,但是 localhost 由于某种原因崩溃了。有什么帮助吗?

编辑:如果您愿意,也可以对其进行测试。我的网站:http://localhost/

index.php

<head>
    <meta charset="utf-8">

    <title>Test Site</title>

    <link rel="stylesheet" type="text/css" href="css/styles.css">
</head>
<body>
    <form action="login/logreg.php" method="post" accept-charset="utf-8">
        <label>Username: </label><input type="text" name="username" value="" placeholder="Username">
        <br><br>
        <label>Password: </label><input type="password" name="password" value="" placeholder="Password">
        <br><br>
        <input type="submit" name="login" value="Login">
        <input type="submit" name="register" value="Register">
    </form>
</body>

logreg.php

<?php
$cookie_name = "loggedin";

$servername = "localhost";
$username = "root";
$password = "H2124130E63C8D14871";
$database = "webserver";

$conn = mysqli_connect($servername, $username, $password $database);

if (!$conn) {
    die("Database Connection Failed: ".mysqli_connect_error());
}

if (isset($_POST['login']))
{
    $user = $_POST['username'];
    $pass = $_POST['password'];

    $phash = sha1(sha1($pass."salt")."salt");

    $sql = "SELECT * FROM users WHERE username='$user' AND password='$phash';";

    $result = mysqli_query($conn, $sql);
    $count = mysqli_num_rows($result);

    if ($count == 1)
    {
        $cookie_value = $user;
        setcookie($cookie_name, $cookie_value, time() + (180), "/");
        header("Location: personal.php");
    }
    else
    {
        echo "Username Or Password Is Incorrect!";
    }
}
else if (isset($_POST['register']))
{
    $user = $_POST['username'];
    $pass = $_POST['password'];

    $phash = sha1(sha1($pass."salt")."salt");

    $sql = "INSERT INTO users (id, username, password) VALUES ('', '$user', '$phash');";

    $result = mysqli_query($conn, $sql);
}
?>

personal.php

<?php
$cookie_name = "loggedin";
if (isset($_COOKIE[$cookie_name]))
{
    $cookie_value = $_COOKIE[$cookie_name];
    echo "Welcome To Your Personal Area $cookie_value!";
    echo '<a href="logout.php">Logout</a>';
}
?>

注销.php

<?php
setcookie("loggedin", "val", time() - (120), "/");
header("Location: index.php");
?>

【问题讨论】:

  • “编辑:如果你愿意,你也可以测试一下。我的网站:localhost”我认为你不明白 localhost 是什么
  • 我知道我在开玩笑
  • 这段代码中唯一的玩笑是你的不安全查询

标签: php mysql localhost


【解决方案1】:

你在这里漏掉了一个逗号:

 $conn = mysqli_connect($servername, $username, $password $database);

【讨论】:

  • 当我修复它并单击注册时,它没有被添加到我的数据库中?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-15
  • 2012-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多