Ich habe eine Anmeldung geschrieben und es klappt auch jede Abfrage nur die mit dem Passwort funktioniert irgendwie nicht. Ich bitte um Hilfe, da ich leider schon zu lange an dem Problem hänge. Danke!
Ich habe es durch die Kommentare gut Strukturiert gehalten und man sieht mein rumprobieren bei dem Fehler. Danke schonmal für jede Hilfe!
Script:
PHP
<?php
//guckt, ob es einen Login Cookie gibt
if(isset($_COOKIE['ID_my_site']))
//wenn es einen gibt, dann leitet es einen zu der Accespage weiter
{
$Username = $_COOKIE['ID_my_site'];
$pass = $_COOKIE['Key_my_site'];
$check = mysql_query("SELECT * FROM users WHERE Username = '$Username'")or die(mysql_error());
while($info = mysql_fetch_array( $check ))
{
if ($pass != $info['password'])
{
}
else
{
echo '<meta http-equiv="renew" content="0; URL=Impressum.php">';
exit;
}
}
}
//wenn der Login übermittelt wurde
if (isset($_POST['submit']))
{ // wenn der Login übermittelt wurde
//kontrolliert ob die Felder ausgefüllt sind
if(!$_POST['Username'] | !$_POST['pass'])
{
die('Sie haben nicht alle Felder ausgefüllt.');
}
//gleicht es mit der Datenbank ab
if (!get_magic_quotes_gpc())
{
$_POST['email'] = addslashes($_POST['email']);
}
$check = mysql_query("SELECT * FROM users WHERE Username = '".$_POST['Username']."'")or die(mysql_error());
// $sql = SELECT * FROM users WHERE (Username like $_REQUEST['Username']) AND (pass = md5($_REQUEST['pass'])
// $result = mysql_query ($sql);
//gibt einen Fehler aus, wenn es den Benutzer nicht gibt
$check2 = mysql_num_rows($check);
if ($check2 == 0)
{
die('Dieser Benutzer existiert nicht. Bitte versuchen Sie es erneut.');
}
while($info = mysql_fetch_array( $check ))
{
$_POST['pass'] = stripslashes($_POST['pass']);
$info['password'] = stripslashes($info['password']);
$_POST['pass'] = md5($_POST['pass']);
}
//Gibt einen Fehler aus, wenn das Passwort falsch ist
//gives error if the password is wrong
if ($_POST['pass'] != $info['password'])
{
die('Incorrect password, please try again.');
}
$check = mysql_query("SELECT * FROM users WHERE Username = '$Username'")or die(mysql_error());
while($info = mysql_fetch_array( $check ))
{
if ($_POST['pass'] != $info['pass'])
{
die ('Ihr Passwort ist inkorrekt. Bitte versuchen Sie es erneut.');
}
}
echo '<meta http-equiv="refresh" content="0; URL=Impressum.php">';
}
else
{
//wenn der Login erfolgreich war, dann fügen wir einen Cookie hinzu
$_POST['Username'] = stripslashes($_POST['Username']);
$hour = time() + 3600;
setcookie(ID_my_site, $_POST['Username'], $hour);
setcookie(Key_my_site, $_POST['pass'], $hour);
header("Location: Impressum.php");
//dann leiten Sie ihn zur Accespage
}
?>
Alles anzeigen