美好的一天,
我做了一个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也不会显示错误或警告。谢谢。
答案 0 :(得分:0)
尝试更改
if(isset($_GET['login'])) {
到
if(isset($_POST['username'])) {
答案 1 :(得分:0)
我实际上发现我在这里做错了什么... 第一行
ni_set("display_errors", 1);
在整个过程中都是错误的。它应该是“ ini_set(“ display_errors”,1);”。我坐在那个脚本的前面几个小时,试图弄清楚这里出了什么问题。我一无所有。我只是喜欢我的工作。但是,还是谢谢你们,给您带来的不便。