登录表单不可见,PHP不显示错误

时间:2019-02-26 07:45:42

标签: php html mysql

美好的一天,

我做了一个login.php,因此用户可以登录页面。在编写脚本并检查文件以发现我犯的一些错误之后,login.php页面什么也不显示。甚至源代码也只显示<body></body>

这是连接数据库的代码。

ini_set("display_errors", 1);
ini_set("display_startup_errors", 1);
error_reporting(E_ALL);

session_start();
$servername = "xx";
$username = "xx";
$password = "xx";
try {
    $conn = new PDO ("mysql:host=$servername;dbname=xx", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e) {
    echo "Verbindung fehlgeschlagen: " . $e->getMessage();
}

不要介意“ xx”。不,这不是我的真实脚本。 现在是用户登录页面的脚本:

//fetch data
if(isset($_GET['login'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];

    $statement = $conn->prepare("SELECT * FROM usertable WHERE username=:username");
    $result = $statement->execute(array('username' => $username));
    $user = $statement->fetch();

    //Check password
    if($user !== true && password_verify($password, $user['password'])) {
        $_SESSION['user_id'] = $user['id'];
        exit('Anmeldung war erfolgreich. Gehe zurück zu <a href="veranstaltungen.php">der Hauptseite</a>, aber das ist ein Geheimnis.');
    } else {
        $errorMessage = "E-Mail oder Passwort war FALSCH!!<br>";
    }
}

表单,该表单应该在页面上,以便用户可以输入其数据进行登录。

<form action="?login=1" method="post">
    <input class="uk-input uk-from-width-medium" type="text" name="username" placeholder="Benutzername eingeben">
    <input class="uk-input uk-from-width-medium" type="password" name="password" placeholder="Passwort">
    <input class="uk-button" type="submit" value="login">
</form>

我在这里做错了什么? Sublime Text也不会显示错误或警告。谢谢。

2 个答案:

答案 0 :(得分:0)

尝试更改

if(isset($_GET['login'])) { 

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

答案 1 :(得分:0)

我实际上发现我在这里做错了什么... 第一行

ni_set("display_errors", 1);

在整个过程中都是错误的。它应该是“ ini_set(“ display_errors”,1);”。我坐在那个脚本的前面几个小时,试图弄清楚这里出了什么问题。我一无所有。我只是喜欢我的工作。但是,还是谢谢你们,给您带来的不便。