0
ログインシステムにログインすると、ユーザは自分のメールアドレスとパスワードを入力し、スクリプトがデータベースにあるかどうかを確認してパスワードを確認します。私の問題は、最初の値だけをチェックし、他は無視されます。どのように私はデータベースを介してループを完了し、elsel部分には、成功していない場合は行くのですか?php mysqli stmntユーザのログインを確認する
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
session_start();
$host = htmlspecialchars($_SERVER["HTTP_HOST"]);
$uri = rtrim(dirname(htmlspecialchars($_SERVER["PHP_SELF"])), "/\\");
require_once "db_daten_aktuell.php";
if (isset($_POST['email']) && ($_POST['passwort']))
{
if ($stmt = $mysqli->prepare("SELECT vorname, email, password FROM gast"))
{
$stmt->execute();
$stmt->bind_result($vorname, $email, $password);
while ($stmt->fetch())
{
if ($_POST['email'] == $email)
{
if ($_POST['passwort'] == $password){
$_SESSION["name"] = $vorname;
$_SESSION["login"] = "ok";
$extra = "willkommen.php";
}
}
else
{
$extra = "start.php?f=1";
}
$stmt->close();
}
$mysqli->close();
}
}
header("Location: http://$host$uri/$extra");
?>
MysqlはクエリでWHERE文をサポートしています。マニュアルを読む。 –
なぜ '' '' '' 'を使い、メールアドレスとパスワードが必要なのかを比較してみませんか? – mi6crazyheart
私はまだそれを知らない – chim