Hallo zusammen.
Dank eurer Tipps bin ich schon ein ganzes Stück weitergekommen........
Jetzt habe ich nur noch 2 Kleinigkeiten, die mich stören und wobei ich nen kleinen Tipp bräuchte.
Vielleicht hat ja jemand ne Idee......
Erstmal ne kurze Beschreibung.
Ich habe mir ein Layout mit DIV-Tags gebastelt.
Ein Container mit mit dem Inhalt, einer mit der Navigation und einer, inden das Loginskript inculded wird.
Jetzt kann ich mich einlogen und auslogen wie ich lustig bin. Es funktioniert sogar....
Problem 1: Nach dem Logout, ist erst ein Klick auf einen Link (neue Seite) nötig, damit wieder das Login-Formular angezeigt wird. Schöner wäre es, wenn es sofort erscheint.
Problem 2: Die Geschichte mit den Fehlermeldungen ist noch nicht optimal gelöst.
Würde gerne alle Fehlermeldungen an einem bestimmten Ort anzeigen lassen.
Es müsste natürlich gewährleistet sein, dass diese auch nicht doppelt angezeigt werden.
Bspl.: 2 DB-Abfragen nicht, da die DB nicht existiert..........
Hoffe ich konnte mich verstädndlich genug ausdrücken.
Für andere Anregungen, bin ich auch sehr dankbar.......
Zum Schluss noch meine Dateien.....
1.php :
PHP:
<?php
if (isset($_POST['sent']) AND $_POST['sent'] == 1 ) {
//echo "Daten wurden an 2.php gesendet";
include ("../.../2.php");
test_nutzer();
}
if (!isset($_POST['sent'])) {
?>
<form action="<?php echo $PHP_SELF; ?>" method="post">
<input name="sent" type="hidden" value="1" />
name:<input name="anmeldename" type="text" value="<?php echo $_POST['anmeldename']; ?>" />
passwort:<input name="passwort" type="text" value="<?php echo $_POST['passwort']; ?>" />
<input name="einlogen" type="submit" />
</form>
<?php
}// Ende if(!$_POST['test'])
?>
2.php :
PHP:
<?php
session_start();
include("../.../.../funktion_datenbankverbindung.php");
include("../.../login/abfrage_login_auswerten.php");
function test_nutzer () {
include("../../login/abfrage_nutzer_vorhanden.php");
$result = datenbankverbindung ($sql);
abfrage_login_auswerten($result);
if (isset($_SESSION['anmeldename'])) {
//echo "Der Anmeldename lautet ".$_SESSION['anmeldename']."<br>und ist in Ordnung ";
test_passwort ();
}
else {
echo "<br>Es gibt keinen Nutzer: ".$_POST['anmeldename']."<br>in unserer DB ";
unset ($_POST['sent']);
return;
}
} // Ende function nutzer_vorhanden
function test_passwort () {
include("../.../login/abfrage_login.php");
$result = datenbankverbindung($sql);
abfrage_login_auswerten($result);
if (($_POST['anmeldename'] == $_SESSION['anmeldename']) && ($_POST['passwort'] == $_SESSION['passwort'])) {
$_SESSION['nutzerid'] = $_SESSION['id'];
include("../.../login/eingelogt.php");
}
else {
$meldung = "Dein Loginversuch war nicht von Erfolg gekrönt.<br>";
$meldung .= "Bitte versuche es erneut.<br>";
if ($_POST['passwort'] == $_SESSION['passwort']) {
echo "passwort stimmt";
}
else {
$meldung .= "<br>Das eingegebene Passwort stimmt leider nicht.";
echo $meldung;
unset ($meldung);
unset ($_POST['sent']);
return;
}
}
} // Ende function datenabgleich
?>
eingelogt.php :
PHP:
<?php
if (isset($_POST['logout'])) {
echo "Auf Wiedersehen ".$_SESSION['anmeldename'].".<br>Hoffentlich sehen wir uns bald wieder.";
session_unset();
session_destroy();
}
else {
echo "<br><br>Hallo ".$_SESSION['anmeldename'];
echo "<br><br>du bist eingeloggt";
?>
<form action="../.../index_neu.php" method="post">
<input name="logout" type="hidden" value="1" />
<input name="logout" type="submit" value="logout" />
</form>
<?php
} // Ende else (isset($_POST['sent'])
?>