PHP登录不起作用


PHP Login not working

我在一个禁令管理系统上工作了一段时间,但我在登录系统中遇到了一个错误,它无法正常工作

实时示例:

http://lotus.pe.hu/lbans/index.php/

username: admin
pass: anmol123

他们的代码没有错误或任何问题,我可以告诉你,如果你需要代码,我会把它

index.php

<html>
<head>
    <link rel="stylesheet" href="css/bootstrap.min.css"/>
    <title>LotusBans [BETA] [V 1.0] ~ Home</title>
</head>
<body>
    <?php
        require("api/api.php");
        require("header.php");
    ?>
    <div class="jumbotron">
        <div class="container">
            <h2>LotusBans [BETA] [v1.0]</h2>
            <p>View the players banned on the LotusNetwork Here</p>
        </div>
    </div>
    <?php if (isset($_SESSION["username"])) { ?>
        <div class="container">
            <input type="button" value="+" data-toggle="modal" data-target="#modal" class="btn btn-primary pull-right"/>
            <br/><br/>
        </div>
    <?php } ?>
    <div class="container">
        <table class="table table-bordered">
            <tr>
                <th>ID</th>
                <th>UUID</th>
                <th>Date</th>
                <th>Reason</th>
            </tr>
            <?php
                $bans = get_bans();
                while ($ban = $bans->fetch_assoc()) {
            ?>
                    <tr>
                        <td><a href="ban.php?id=<?php echo $ban["id"] ?>"><?php echo $ban["id"] ?></a></td>
                        <td><?php echo $ban["uuid"] ?></td>
                        <td><?php echo $ban["date"] ?></td>
                        <td><?php echo $ban["reason"] ?></td>
                    </tr>
            <?php } ?>
        </table>
    </div>
    <div class="modal fade" id="modal" tabindex="-1" role="dialog">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                    <h4 class="modal-title">Add Ban</h4>
                </div>
                <form id="form">
                    <div class="modal-body">
                        <div class="form-group">
                            <input type="text" id="uuid" name="uuid" placeholder="UUID" class="form-control"/>
                        </div>
                        <div class="form-group">
                            <input type="text" id="reason" name="reason" placeholder="Reason" class="form-control"/>
                        </div>
                    </div>
                    <div class="modal-footer">
                        <input type="submit" class="btn btn-primary"/>
                    </div>
                </form>
            </div>
        </div>
    </div>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script src="js/bootstrap.min.js"></script>
    <script>
        $(document).ready(function() {
            $("#form").submit(function(e) {
                e.preventDefault();
                var uuid = $("#uuid").val();
                var reason = $("#reason").val();
                $.post("api/add.php", { uuid: uuid, reason: reason }, function(data) {
                    location.href = "ban.php?id=" + data;
                });
            });
        });
    </script>
</body>

header.php

<nav class="navbar navbar-default">
<div class="container-fluid">
    <!-- Brand and toggle get grouped for better mobile display -->
    <div class="navbar-header">
        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" href="/">LotusBans</a>
    </div>
    <?php session_start(); if (!isset($_SESSION["username"])) { ?>
        <form method="post" action="login.php" class="navbar-form navbar-right">
            <div class="form-group">
                <input type="text" name="username" placeholder="Username" class="form-control">
                <input type="password" name="password" placeholder="Password" class="form-control">
            </div>
            <button type="submit" class="btn btn-primary">Log In</button>
        </form>
    <?php } else { ?>
        <div class="navbar-right">
            <p class="navbar-text">Welcome, <?php echo $_SESSION["username"]; ?></p>
        </div>
    <?php } ?>
</div><!-- /.container-fluid -->

api.php

<?php
define("key", file_get_contents("http://lotus.pe.hu/lbans/can'tenterthis as this is a key"));
function get_mysql() {
    $mysql = new mysqli("", "", "", "");
    if ($mysql->connect_error) {
        die($mysql->connect_error);
    }
    return $mysql;
}
function add($uuid, $reason) {
    $date = date("Y-m-d H:i:s");
    get_mysql()->query("insert into bans (uuid, date, reason) values ('$uuid', '$date', '$reason')");
    return get_mysql()->query("select id from bans where uuid = '$uuid' and date = '$date' and reason = '$reason'")->fetch_assoc()["id"];
}
function update($id, $uuid, $reason) {
    get_mysql()->query("update bans set uuid = '$uuid', reason = '$reason' where id = $id");
}
function remove($uuid) {
    get_mysql()->query("delete from bans where uuid = '$uuid'");
}
function remove_by_id($id) {
    get_mysql()->query("delete from bans where id = $id");
}
function get($uuid) {
    return get_mysql()->query("select * from bans where uuid = '$uuid'")->fetch_assoc();
}
function get_by_id($id) {
    return get_mysql()->query("select * from bans where id = $id")->fetch_assoc();
}
function get_bans() {
    return get_mysql()->query("select * from bans");
}
function login($username, $password) {
    $password = hash("sha256", $password);
    return get_mysql()->query("select count(*) from users where username = '$username' and password = '$password'")->fetch_assoc()["count(*)"] > 0;
}
function register($username, $password) {
    $password = hash("sha256", $password);
    get_mysql()->query("insert into users (username, password) values ('$username', '$password')");
}
?>

尝试将其添加到此。。

<?php 
        session_start(); //Transfer the session_start() here ..
        require("api/api.php"); 
        if( isset($_POST['username']) )
        {
           if( login( $_POST['username'], $_POST['password'] ) )
           {
              $_SESSION['username'] = $_POST['username'];
           }
           else
           {
              echo 'Invalid username/password';
           }
        }
        require("header.php");
?>