ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
617
617
EMPFEHLEN
-
10.06.06 10:02 #1
- Registriert seit
- Dec 2004
- Ort
- Lehrte bei Hannover
- Beiträge
- 435
Hi Leute, habe folgendes Problem.Ich bastel an einem
Loginscript für meine Seite.
//Erstmal sorry für den langen Post, aber ohne Code
//wird des nichts
Über dem HEad in der index.php starte ich die Session,
unabhängig davon ob man sich einloggt oder nicht.
Dann include ich im Body in einer Menübox, das Login
formular, welches durch eine If Abfrage durch eine
Statusanzeige und einen Logout Link ersetzt wird, sobald
man eingeloggt ist. Diese includete Datei sieht so aus:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
<? if(@$_SESSION['logged_in'] == "TRUE") { echo "Willkommen, ".$_SESSION['username']."!<br/><br/>\n"; echo "<table>"; echo " <tr>"; echo " <td>Du bist seid dem </td>"; echo " <td rowspan=\"2\"><img src=\"[URL="http://web.icq.com/whitepages/"]http://web.icq.com/whitepages/[/URL] online?icq=".$_SESSION['icq']."&img=5\" /></td>"; echo " </tr>"; echo " <tr>"; echo " <td>".$_SESSION['regdat']." dabei!</td>"; echo " </tr>"; echo " <tr>"; echo " <td><br/></td>"; echo " </tr>"; echo " <tr>"; echo " <td>Dein letzter Besuch war am <b>".$_SESSION['last_visit']."</b>.</td>"; echo " </tr>"; echo "</table>\n"; echo "<a href=./index.php?site=logout>Logout</a>"; } else { echo "<form action=\"./index.php?site=login\" method=\"post\">\n"; echo " <fieldset>\n"; echo " <legend><b>Login</b></legend>\n"; echo " <table cellpadding=\"3\" cellspacing=\"0\" border=\"0\">\n"; echo " <tr>\n"; echo " <td>Username</td>\n"; echo " <td><input type=\"text\" name=\"username\" size=\"9\" maxlength=\"20\" /></td>\n"; echo " </tr>\n"; echo " <tr>\n"; echo " <td>Passwort</td>\n"; echo " <td><input type=\"password\" name=\"passwort\" size=\"9\" /></td>\n"; echo " </tr>\n"; echo " <tr>\n"; echo " <td></td>\n"; echo " <td><input type=\"submit\" name=\"Send\" value=\"Login\" /></td>\n"; echo " </tr>\n"; echo " </table>\n"; echo " </fieldset>\n"; echo "</form>\n"; } ?>
Sobald der Loginbutton geklickt wird, wird aufeinen Link
verwiesen (./index.php?site=login) welcher durch die
Parameterübergabe "site=login" im Contentbereich auf folgende
Datei zur Verarbeitung der eingegebenen Daten weiter
leitet:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
<?php if (isset ($_SESSION['logged_in']) && $_SESSION['logged_in'] == "TRUE") { die ("Du bist schon eingeloggt"); } if (!isset ($_POST['username']) || !isset($_POST['passwort'])) { die("Bitte geben Sie Ihre Benutzerdaten ein!"); } if (isset ($_POST['username']) && isset($_POST['passwort'])) { if(preg_match('/[^\'\"\/]{5,12}/', $_POST['username']) == FALSE) { $_POST['username'] = ""; unset ($_POST['username']); die("Bitte geben Sie den Benutzernamen ein!"); } elseif(preg_match('/[^\'\"\/]{5,12}/', $_POST['passwort']) == FALSE) { $_POST['passwort'] = ""; unset ($_POST['passwort']); die("Bitte geben sie ihr Passwort ein!"); } else { $sql = "SELECT * FROM users WHERE username = '".$_POST['username']."' AND passwort = '".md5($_POST['passwort'])."'"; $result = mysql_query($sql); if (!$result) { echo "Anfrage ($sql) konnte nicht ausgeführt werden :".mysql_error(); exit; } $userdaten = mysql_fetch_assoc($result); if($_POST['Send'] && mysql_num_rows($result)) { $_SESSION['logged_in'] = "TRUE"; $_SESSION['username'] = $userdaten['username']; $_SESSION['last_visit'] = $userdaten['last_visit']; $_SESSION['icq'] = $userdaten['icq']; $_SESSION['regdat'] = $userdaten['regdat']; echo "Sie sind eingeloggt!"; } else { echo "Ihre Benutzerangaben sind falsch"; } } } ?>
Und hier tritt das erste Problem auf. Wenn ich eingeloggt
bin soll die Menübox (erster geposteter Code) sofort zur
Statusanzeig wechseln, momentan ist es aber so, dass man
erst einmal Reloaden muss.
Wenn ich auf den Logout Link klicke wird dann im Content
bereich folgender Code includet:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
<? if (!isset ($_SESSION['logged_in'])) // loggedin Variable vorhanden? { $_SESSION['logged_in'] = ""; die("Sie sind bereits ausgeloggt!"); } if ($_SESSION['logged_in'] != "TRUE") // Login nicht ok? { $_SESSION['logged_in'] = ""; die("Sie sind bereits ausgeloggt!"); // Anzeige: Sie sind ausgeloggt. } echo "Sie haben sich erfolgreich ausgeloggt"; $_SESSION = array(); session_destroy(); ?>
Und da ist wieder das gleiche Problem. Die Statusanzeige ist
nach dem ausloggen noch solange da, bis ich Reloade.
Ich weiß echt nicht wie ich es machen soll -___-
Wie kann ich dafür sorgen, dass der Switch zwischen Statusanzeige
und Loginformular ohne ein Reload von mir funktioniert?
Mir haben ein paar Leute gesagt es gibt diese header()
Funktion. Doch leider kann ich die ja nicht in der
Login und Logout.php nutzen, weil ich diese beiden Dateien
im Body include.
PS:Mir fällt jetzt erst auf dass ich in diesem Forum weder Text noch Code umbrechen muss *lol*
-
Nutze bitte mal die PHP-Tags des Boards. Das ist lesefreundlicher

Ansonsten kannst du doch nach abarbeiten des Scriptes mittels header-Funktion auf eine beliebige Seite umleiten.
so in etwa:
PHP-Code:header("Location: index.php?site=start");
exit();
-
10.06.06 10:16 #3
- Registriert seit
- Dec 2004
- Ort
- Lehrte bei Hannover
- Beiträge
- 435
Aber wenn ich das nach abarbeiten des Scriptes mache, dann ist das mitten im body, da ist der head doch schon abgeschickt... ich dachte das geht nur wenn der noch nicht durch ist?
-
Wenn auf der Umleitungsseite schon ne Ausgabe ist, dann kannst du entweder mit den Funktionen der Ausgabesteuerung oder mit einem Meta refresh arbeiten
Ähnliche Themen
-
Login/Logout
Von dr-stein im Forum PHPAntworten: 1Letzter Beitrag: 13.03.10, 20:11 -
Login / Logout
Von ucmax im Forum PHPAntworten: 11Letzter Beitrag: 28.05.07, 18:45 -
Login - Logout - Wie geht das?
Von FrankTheFox im Forum PHPAntworten: 8Letzter Beitrag: 16.05.07, 17:00 -
Cookie Setzungsproblem (Login / Logout)
Von djbergo im Forum PHPAntworten: 3Letzter Beitrag: 12.05.07, 16:32 -
dynamic login/logout
Von quidnovi im Forum PHPAntworten: 8Letzter Beitrag: 13.02.04, 23:05





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren