Ich erstelle eine Login-Seite in PHP. Ich möchte den Nutzer auf die automatische Seite umleiten, nachdem er sich erfolgreich angemeldet hat. Da ich PDO verwende, benutze ich require_once, um pdo.php aufzurufen. Diese Codezeile verhindert jedoch, dass die angegebene Seite umgeleitet wird. Wenn ich den require_once-Code entferne, kann ich erfolgreich auf die Indexseite zurückgehen, nachdem ich cycle gedrückt habe. Der folgende Code wird mich nehmen Seite auto.phpRequire_once verhindern, dass ich PHP umleiten
<?php
require_once "pdo.php";
require_once "bootstrap.php";
if (isset($_POST['cancel'])) {
// Redirect the browser to game.php
header("Location: index.php");
return;
}
$failure = false;
if (isset($_POST['email']) && isset($_POST['password']) ) {
if (strlen($_POST['email']) < 1 || strlen($_POST['password']) < 1) {
$failure = "User name and password are required";
}
else if (strpos($_POST['email'], '@')!== false)
{
$e = htmlentities($_POST['email']);
$p = htmlentities($_POST['password']);
$sql = "SELECT email FROM users
WHERE email = '$e'
AND password = '$p'";
echo "<p>$sql</p>\n";
$stmt = $pdo->query($sql);
$row = $stmt->fetch(PDO::FETCH_ASSOC);
var_dump($row);
echo "-->\n";
if ($row === FALSE) {
echo "Incorrect password";
}
else {
header("Location: autos.php?name=".urlencode($_POST['email']));
return;
}
}
else
{
$failure = "Email must have an at-sign (@)";
}
}
?>
Wahrscheinlich, weil die Datei nicht existiert, deshalb stoppt der Code zur Ausführung. –
Überprüfen Sie die Protokolle. Was ist der Fehler? –
Haben Sie versucht, 'require_once' nach' if (isset ($ _ POST ['cancel'])) '' zu verwenden? – DrKey