Hi Leute,
hab ein Login Script mit Php, leider kommt jedesmal wenn ich irgendwas eingebe die Fehlermeldung die Felder wären leer.
Ich find den Fehler einfach nicht..
Das eingabefeld:
Ich hoffe ihr könnt mir helfen!
Danke für eure Hilfe
Kann es sein, dass das Problem beim Server liegt?
Die Mysql Datenbank ist vorhanden und es liegt auch ein Eintrag vor..
Lg phphtmlcss
hab ein Login Script mit Php, leider kommt jedesmal wenn ich irgendwas eingebe die Fehlermeldung die Felder wären leer.
Ich find den Fehler einfach nicht..
PHP-Code:
<?php
session_start();
/*
* Autor : Dennis1993
* Copyright : (c) 2011 by Dennis1993
*/
define('SECURE', true);
require_once('config.php');
/* Ausloggen */
if(isset($_GET['logout']))
{
if(isset($_SESSION['user_id']))
{
$_SESSION = array();
session_destroy();
}
header('location: abgemeldet.html');
exit();
}
/* Einloggen */
$time = 900;
# Maximale Versuche
$maxTrys = 2;
# Auswerten der Versuche, wenn über $maxTrys
# $_SESSION['denied'] setzen und Versuche
# zurücksetzen
if(isset($_SESSION['trys']))
if($_SESSION['trys'] >= $maxTrys){
$_SESSION['denied'] = time()+$time;
unset($_SESSION['trys']);
}
# Prüfen ob Wartezeit abgelaufen ist
if(isset($_SESSION['denied']))
if($_SESSION['denied']-time() <= 0)
unset($_SESSION['denied']);
if(isset($_POST['send']))
{
$user_email = mysql_real_escape_string(strip_tags(htmlentities(trim(htmlspecialchars($_POST['user_email'], ENT_QUOTES)))));
$user_password = mysql_real_escape_string(strip_tags(htmlentities(trim(htmlspecialchars($_POST['user_password'], ENT_QUOTES)))));
$password = md5($user_password);
$error = "";
if(isset($_SESSION['denied'])){
$error = "<p style='color:red; font-weight:bolder;'>Du hast 3 mal das falsche Kennwort eingegeben!</p>";
echo "<script type='text/javascript'>alert('Bitte versuche es in ".ceil(($_SESSION['denied']-time())/60)." Minuten wieder.');</script>";
echo "<p style='background-color:yellow; color:red; margin:15px;'>Bitte versuche es in ".ceil(($_SESSION['denied']-time())/60)." Minuten wieder.</p>";
} elseif(filter_var($user_email, FILTER_VALIDATE_EMAIL) && !empty($user_password))
{
$q = $SQL->prepare('SELECT `id` FROM `user` WHERE `email` = ? AND `password` = ?');
$q->bind_param('ss', $user_email, $password);
$q->execute();
$q->store_result();
$q->bind_result($user_id);
if($q->num_rows == 1)
{
$q->fetch();
$_SESSION['user_id'] = $user_id;
header('location: intern.php');
$_SESSION['trys'] = 1;
exit();
}
else
{
$error = "<p style='color:red; font-weight:bold;'>Ihre Anmeldedaten sind nicht korrekt. Bitte wiederholen Sie Ihre Eingabe.</p>";
if(isset($_SESSION['trys']))
$_SESSION['trys'] = $_SESSION['trys'] + 1;
else
$_SESSION['trys'] = 1;
}
}
else
{
$error = 'Bitte füllen Sie alle Felder korrekt aus.';
}
}
else
{
$error = NULL;
$user_email = NULL;
}
?>
Code:
<h1>Einloggen</h1> <p>Um in den Internen Bereich zugelangen, loggen Sie sich bitte hier ein:</p> <br /> <?php echo $error; ?> <form action="login.php" method="post"> <table cellpadding="1" cellspacing="4"> <tr> <td><strong>E-Mail-Adresse:</strong> </td> <td><input type="email" name="user_email" value="<?php echo $user_email; ?>" required placeholder=" E-Mail-Adresse" maxlength="255" size="30"/></td> </tr> <tr> <td><strong>Passwort:</strong></td> <td><input type="password" name="user_password" required placeholder=" Passwort" maxlength="50" size="30" /></td> </tr><br /> <tr> <td colspan="2"><input type="submit" name="send" value="Login" /></td> </tr> </table> </form>
Danke für eure Hilfe
Kann es sein, dass das Problem beim Server liegt?
Die Mysql Datenbank ist vorhanden und es liegt auch ein Eintrag vor..
Lg phphtmlcss
Kommentar