Ich habe Schwierigkeiten mit der Kopfzeile umleiten mich zu index.html von meiner Anmeldeseite. Ich bin mir nicht sicher, ob der Header sogar der richtige Weg ist, aber es ist alles, was ich bei der Seitenumleitung finden konnte.PHP Redirect auf eine andere Seite Problem
Dieser Code ist nur eine einfache Login-Seite, die den Benutzernamen und das Passwort einer MySQL-Datenbank überprüft.
Das Problem, das ich ist in der if-Anweisung habe:
if(mysqli_num_rows($res) == 1){
header("Location: index.php");
exit();
}
vollständiger Code für login.php:
<?php
//Connects to MySQL database using sql_connect.php
require "sql_connect.php";
?>
<?php
if(isset($_POST['username'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT * FROM login_test WHERE username='".$username."' AND password='".$password."' LIMIT 1";
$res = mysqli_query($connection, $sql);
if(mysqli_num_rows($res) == 1){
header("Location: index.php");
exit();
} else {
echo "Invalid login information!";
exit();
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>login</title>
<link rel="stylesheet" href="../style.css">
</head>
<body>
<form name="login" method="post" action="login.php">
<h3>Login</h3>
<p>Username: </p><input type="text"name="username">
<p>Password: </p><input type="password" name="password">
<br/>
<input type="submit"name="submit"value="log in">
</form>
<script src="../script.js" type="text/javascript"></script>
</body>
</html>
Während ich bin sicher, dass der Rest meines Codes bei weitem nicht perfekt Ich suche gerade wirklich, wie man zu einer neuen Seite umleitet, wenn der Benutzer in der Datenbank authentifiziert wird? Gibt es in meinem Fall eine bessere Option als Header oder führe ich es einfach falsch um?
was verhindert, dass ein nicht authentifizierter Benutzer die Seite direkt besucht? – Tim
Überprüfen Sie in Ihrem Serverprotokoll, ob Sie eine Warnung "Header bereits gesendet" erhalten. – Barmar
Nichts zur Zeit. Ich lehre mich einen Schritt nach dem anderen – Hunter