Hi
Ich hab mir mittels eines Tutorials einen Login mit Session ID gebastelt.
Der funktioniert recht gut, allerdings möchte ich eine Funktion etwas abändern.
Zur Zeit wird bei falscher oder fehlender Dateneingabe im Formularfeld eine Fehlermeldung auf einer neuen Seite angezeigt.
Dort mußte ich extra einen Link einbauen um wieder auf das Formular zu kommen.
Ich würde jetzt ganz gerne die Fehlermeldung(en) direkt über dem Formular anzeigen lassen - um bei fehlerhafter Eingabe einen Klick zu sparen.
Was muss ich dafür abändern?
Hier mein Code:
Danke im Vorraus!
Doomlittle
Ich hab mir mittels eines Tutorials einen Login mit Session ID gebastelt.
Der funktioniert recht gut, allerdings möchte ich eine Funktion etwas abändern.
Zur Zeit wird bei falscher oder fehlender Dateneingabe im Formularfeld eine Fehlermeldung auf einer neuen Seite angezeigt.
Dort mußte ich extra einen Link einbauen um wieder auf das Formular zu kommen.
Ich würde jetzt ganz gerne die Fehlermeldung(en) direkt über dem Formular anzeigen lassen - um bei fehlerhafter Eingabe einen Klick zu sparen.
Was muss ich dafür abändern?
Hier mein Code:
PHP-Code:
<?php
session_start();
require("connect.inc.php");
include("header.php");
if(!isset($_POST['submit'])) { ?>
<form action="<?php $PHP_SELF ?>" method="post">
<table border="0" cellpadding="5" cellspacing="1">
<tr>
<td colspan="2">
<b>Login</b>
</td>
</tr>
<tr>
<td>Benutzername:</td>
<td><input type="text" name="username" size="10" class="input"
<?php if($_POST['username'] != "") {echo ' value="'.$_POST['username'].'"';} ?>></td>
</tr>
<tr>
<td>Passwort:</td>
<td><input type="password" name="password" size="10" class="input"></td>
</tr>
<tr>
<td align="right" colspan="2">
<input type="submit" name="submit" value="Anmelden" class="button"></form>
</td>
</tr>
<tr>
<td colspan="2" align="right">
<a href="register.php">Einen Benutzeraccount registrieren</a></td>
</tr>
</table>
<br />
<?php
}elseif(!isset($_POST['username']) || $_POST['username'] == "") {
echo '<p align="center">Einen Benutzernamen brauchen wir schon ;-)
<br /><br /><a href="login.php">Zurück</a>';
}elseif(!$_POST['password'] || $_POST['password'] == "") {
echo '<form action="login.php" method="post">';
echo 'Ein Passwort brauchen wir schon ;-)<br /><br />';
echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
echo '<input type="submit" name="zurueck" value="Zurück">';
echo '</form>';
}else{
$password = md5($password);
$query = @mysql_query("SELECT user, pass FROM users WHERE user =
'".$_POST['username']."'") or die('Select ist fehlgeschlagen!');
$result = @mysql_fetch_array($query)
or die('Sorry, aber dieser Benutzername existiert nicht!
<br /><br /><a href="login.php">Zurück zur Anmeldung</a>');
if($password != $result['pass']){
echo '<form action="login.php" method="post">';
echo 'Sorry, aber dieses Passwort ist falsch!<br /><br />';
echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
echo '<input type="submit" name="zurueck" value="Zurück">';
echo '</form>';
die;
}else{
$user = $result['user'];
session_register('user');
echo '<meta http-equiv="refresh"content="0;URL=intern.php">';
?>
<script language="JavaScript">
window.setTimeout('window.location.href="intern.php"','3000')
</script>
<?php
}
}
include("footer.php");
?>
Doomlittle
Kommentar