Ich gebe das richtige Passwort und Benutzernamen genau so ein, wie es in meiner Datenbank ist, aber es sagt, dass es ungültig ist. Ich habe dann versucht, den Benutzernamen und das Passwort falsch einzugeben und sollte den gleichen Fehler widerspiegeln wie er es tat.Login-System funktioniert nicht richtig
unten ist mein Code:
<?php
$servername = "localhost";
$dbname = "dbtechnerdzzz";
$user = "root";
$password = "root";
session_start(); // Starting Session
$error=''; // Variable To Store Error Message
if (isset($_POST['submit'])) {
if (empty($_POST['form-username']) || empty($_POST['form-password'])) {
$error = "Username or Password is invalid";
}
else
{
$connection=mysqli_connect($servername, $user, $password, $dbname);
// Check connection
if (mysqli_connect_errno()){
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// To protect MySQL injection for Security purpose
$username = mysqli_real_escape_string($connection,$_POST['form-username']);
$password = mysqli_real_escape_string($connection,$_POST['form-password']);
// SQL query to fetch information of registerd users and finds user match.
$query = mysqli_query($connection,"select * from accounts where Password='$password' AND Username='$username'");
if(!$query) die(mysqli_error($connection));
$rows = mysqli_num_rows($query);
echo mysqli_error ($connection);
if ($rows == 0) {
// zero row found
$error = "Username or Password is invalid";
//header("location: signin.php"); // Redirecting To login Page
echo "Username or Password is invalid";
} else {
// at least one row has been found
$_SESSION['login_user'] = $username; // Initializing Session
header("location: profile.php"); // Redirecting To profile Page
echo "login successful"; // this line will never be executed because user is redirected with header (line above)
}
mysqli_close($connection); // Closing Connection
?>
Update 1 (21. Juli 2016 00.27 BST):
ich diesen Fehler im Browser bekam:
I dann schaute in meine Protokolle und es hieß:
PHP Parse error: syntax error, unexpected end of file on line 44
Linie ist:
?>
so ist es das Ende der Datei.
Sie nehmen an, dass Ihre Abfrage erfolgreich ausgeführt wurde, aber es könnte helfen, nach Fehlernachrichten wie echo mysqli_error ($ connection) zu suchen; ' –
Bitte fügen Sie keinen Code aus Lösungen in Ihre Fragen ein. Ändern Sie Ihre Frage auf diese Weise macht die Antworten ungültig und macht es unmöglich für die Leute kommen später aus Ihren Fehlern zu lernen oder gute Antworten zu geben – BeetleJuice