Autor |
Nachricht |
-
computerfreak12
|
10.08.2007 um 11:43 (UTC) Titel: |
|
|
Oh, schreib mal hier ein Ticket!
gruss computerfreak12 ______________ [img:cb2347038b]http://userbar.lima-city.de/userbar_user.png[/img:cb2347038b]
[img:cb2347038b]http://img.webme.com/pic/c/computerfreak12/nfsmwplayertc0.gif[/img:cb2347038b]
[b:cb2347038b]300 Beiträge - und es werden noch mehr![/b:cb2347038b] |
|
↑
|
|
|
-
whgneuwied
Wohnort: Kettig
|
|
↑
|
|
|
-
computerfreak12
|
10.08.2007 um 11:48 (UTC) Titel: |
|
|
Ich glaube nicht, dass das am ticket liegt!^^
Ging anscheinend so wieder!
gruss computerfreak12 ______________ [img:cb2347038b]http://userbar.lima-city.de/userbar_user.png[/img:cb2347038b]
[img:cb2347038b]http://img.webme.com/pic/c/computerfreak12/nfsmwplayertc0.gif[/img:cb2347038b]
[b:cb2347038b]300 Beiträge - und es werden noch mehr![/b:cb2347038b] |
|
↑
|
|
|
-
whgneuwied
Wohnort: Kettig
|
|
↑
|
|
|
-
jonas14
|
10.08.2007 um 17:16 (UTC) Titel: |
|
|
|
|
↑
|
|
|
-
whgneuwied
Wohnort: Kettig
|
|
↑
|
|
|
-
ronsn
|
11.08.2007 um 18:48 (UTC) Titel: |
|
|
Ich hab noch einen weiteren Vorschlag.
Auf der Logoutseite:
Code: <?php
ob_start();
session_start();
if(session_destroy()) {
// Hier der Text beim erfolgreich durchgefuehreten Logout
$msg = "Sie wurden erfolgreich ausgeloggt";
$msg = urlencode($msg);
header("Location: http://whg.kilu.de/login1/login.php?msg=".$msg);
} else {
echo("Beim Ausloggen trat ein Fehler auf, bitte versuchen Sie es noch einmal!");
}
ob_end_flush();
?>
Auf der Loginseite, an gegebener Stelle dieses Fragment einfügen:
Code: <?php
// Ein paar Checks und Konvertierungen, bevor die Nachricht ausgegeben wird
if(isset($_GET['msg'])) {
if(!is_array($_GET['msg'])) {
$_GET['msg'] = urldecode($_GET['msg']);
$_GET['msg'] = trim($_GET['msg']);
$_GET['msg'] = utf8_encode(htmlentities($_GET['msg'], ENT_QUOTES, 'ISO-8859-15'));
get_magic_quotes_gpc() ? $_GET['msg'] = stripslashes($_GET['msg']) : false;
echo($_GET['msg']); // Ausgabe der Nachricht
}
}
?>
Erklärung:
Auf der Logoutseite nahm ich an, dass du das Codefragment von computerfreak12 in dein Script eingebunden hattest.
Du wolltest jedoch noch eine Meldung haben, falls der User sich erfolgreich ausgeloggt hat.
Diese wird der Variablen $msg vom, Typ String, zugewiesen.
(Nota bene: Du solltest darauf achten, dass der Text, den du der Variablen $msg übergibst, nur kurz ist weil die gesammte URL nur 255 Zeichen lang sein darf.)
Anschließend wird sie noch in einem URL-String konvertiert und anschließend der Adresse angehängt (?msg=".$msg). Beim "Weiterleiten" wird nun die Variable $_GET['msg'] den Text an die Zieldatei (login.php) weiterleiten.
In der Zieldatei werden dann noch ein paar Überprüfungen an $_GET['msg'] durchgeführt, und bei Erfolg konvertiert.
Das wars soweit.
Übrigens ist das nicht die einzige Lösung.
Zum Beispiel könntest du auch den HEAD-Bereich des (X)HTML-Dokuments in eine PHP-Variable packen und prüfen, ob die Session zerstört wurde. Im Wahrheitsfalle, d.h. wenn session_destroy() true zurückliefert, könntest du den HEAD-Bereich um das META-Tag zur Weiterleitung erweitern.
In etwa so:
Code: <?php
ob_start();
session_start();
$HTML_head = "<html>\n<head>\n";
if(session_destroy()) {
// Hier wird der HEAD-Bereich erweitert
$HTML_head .='<meta http-equiv="refresh" content="5; URL=http://whg.kilu.de/login1/login.php" />'."\n";
$msg = "Sie wurden erfolgreich ausgeloggt und werden in 5 Sekunden weitergeleitet.<br />";
$msg .= "Falls Ihr Browser keine automatischen Weiterleitungen aktzeptiert, klicken Sie bitte <a href=\"http://whg.kilu.de/login1/login.php\">hier</a>.";
} else {
$msg = "Beim Ausloggen trat ein Fehler auf, bitte versuchen Sie es noch einmal!";
}
$HTML_head .= "</head>\n<body>\n".$msg."\n</body>\n</html>";
echo($HTML_head)
ob_end_flush();
?>
//EDIT:
Anmerkung: Die Weiterleitung mittels des META-Tags war vom W3C eigentlich nicht so vorgesehen. Es sollte eigentlich nur die Seite aktualisieren, was man auch daran erkennen kann, dass der Wert des Attributs http-equiv "refresh" heißt.
Im Übrigen fehlt noch eine Dokument-Typ-Angabe ala <!Doctype ...> und das TITLE-Tag, welches laut W3C nicht optional ist.
Übrigens fiel mir auf, dass der Text (" Beim Ausloggen trat ein Fehler auf, bitte versuchen Sie es noch einmal!"), den ich in meine Beispiele übernommen habe irgendwie nicht die Möglichkeit aufkommen lässt, "es nochmal zu versuchen", da kein Link zum Ausloggen angezeigt wird, was den User ärgern könnte. Aber das ist wohl weniger ein Problem, da wohl wirklich ein Fehler bei PHP auftreten müsste, dass dieser Fall eintritt. Denn in jedem Fall wird eine Session gestartet und danach sofort wieder zerstört. Der Fall, dass dieser Text angezeigt würde, ist also äußerst unwahrscheinlich. Somit könnte man also den ELSE-Block wegfallen lassen. Aber man weiß ja nie.
Viel Erfolg!
Zuletzt bearbeitet von ronsn am 11.08.2007, 21:15, insgesamt 3-mal bearbeitet
|
|
↑
|
|
|
-
jonas14
|
|
↑
|
|
|
-
ronsn
|
11.08.2007 um 19:25 (UTC) Titel: |
|
|
jonas14 hat Folgendes geschrieben: Hui, bei PHP-Problemen lässt ronsn nicht auf sich warten
Und die Qualität ist auch nicht minderwertig, wenn ich das mal so sagen darf....
*G* es war eigentlich nur ein Zufall, dass ich hier bin, weil ich wissen wollte, was du hier so treibst
Naja qualitativ hochwertig ist es hoffentlich. Ich hab auf Sicherheit ein großen Wert gelegt, was den Code in die Länge zog. Danke aber für dein Urteil. Ich hoffe, dass es dem Anwender ähnlich ergeht.
Liebe Grüße
Zuletzt bearbeitet von ronsn am 11.08.2007, 20:36, insgesamt einmal bearbeitet
|
|
↑
|
|
|
-
whgneuwied
Wohnort: Kettig
|
11.08.2007 um 20:14 (UTC) Titel: |
|
|
Oh danke für den Hilfreichen Code.
Ich teste ihn Morgen mal.
Wenn ich noch mal Hilfe in php brauche kann ich mich ja bei dir melden.
Währe es nicht auch möglich von der Logout Seite eine Nachricht an die Login Seite zu senden das man erfolgreich Ausgeloggt ist und ich den Logg out Text in die login.php schreibe?
Dort sind auch schon einige Nachrichten und Fehlermeldungen enthalten.
Bei Interesse würde ich mich auch über Mithilfe bei meiner Kompletten Seite freuen.
Melde dich deshalb bitte per PN. ______________ [img:851cbd7359]http://whgneuwied.de.tl/sig.png[/img:851cbd7359]
Zuletzt bearbeitet von whgneuwied am 11.08.2007, 21:21, insgesamt einmal bearbeitet
|
|
↑
|
|
|
-
ronsn
|
11.08.2007 um 20:17 (UTC) Titel: |
|
|
Wenn ich denn online bin, was sehr selten der Fall ist... . Aber du kannst auch Jonas14 fragen, er steht ja mit mir in Kontakt.
Also viel Erfolg! |
|
↑
|
|
|
-
whgneuwied
Wohnort: Kettig
|
|
↑
|
|
|
-
computerfreak12
|
11.08.2007 um 21:13 (UTC) Titel: |
|
|
hi, @ ronsn: wenn du aber mit php die meta-weiterleitung einfügst, brauchst du kein ob_start() und ob_end_flush() mehr. ______________ [img:cb2347038b]http://userbar.lima-city.de/userbar_user.png[/img:cb2347038b]
[img:cb2347038b]http://img.webme.com/pic/c/computerfreak12/nfsmwplayertc0.gif[/img:cb2347038b]
[b:cb2347038b]300 Beiträge - und es werden noch mehr![/b:cb2347038b] |
|
↑
|
|
|
-
ronsn
|
11.08.2007 um 21:32 (UTC) Titel: |
|
|
whgneuwied hat Folgendes geschrieben: ...Währe es nicht auch möglich von der Logout Seite eine Nachricht an die Login Seite zu senden das man erfolgreich Ausgeloggt ist und ich den Logg out Text in die login.php schreibe?
Dort sind auch schon einige Nachrichten und Fehlermeldungen enthalten.
Bei Interesse würde ich mich auch über Mithilfe bei meiner Kompletten Seite freuen.
Melde dich deshalb bitte per PN.
Das erste Beispiel(was aus den ersten beiden Codefragmenten besteht) tut dies doch.
Du kannst anstatt des Textes aber auch eine Nummer übergeben. In der login.php kannst du dann abfragen, welche Nummer übergeben wurde. Wenn die Nummer bekannt ist, kannst du auch in der login.php den Text definieren und ausgeben.
@computerfreak12
computerfreak12 hat Folgendes geschrieben: hi, @ ronsn: wenn du aber mit php die meta-weiterleitung einfügst, brauchst du kein ob_start() und ob_end_flush() mehr. Wink
Danke für den Einwand.
Sicherlich brauch das nicht gecached (= zwischengespeichert) zu werden. Ich hab deine Beispiele einfach so übernommen.
Jedoch hat es keine Auswirkungen, außer, dass die PHP-Datei um ein paar Byte größer wird. Performance-Einbußen gibt es auch nicht. Ob mit oder ohne Cachen.
Zuletzt bearbeitet von ronsn am 11.08.2007, 22:35, insgesamt einmal bearbeitet
|
|
↑
|
|
|
-
jonas14
|
12.08.2007 um 11:48 (UTC) Titel: |
|
|
ronsn hat Folgendes geschrieben: jonas14 hat Folgendes geschrieben: Hui, bei PHP-Problemen lässt ronsn nicht auf sich warten
Und die Qualität ist auch nicht minderwertig, wenn ich das mal so sagen darf....
*G* es war eigentlich nur ein Zufall, dass ich hier bin, weil ich wissen wollte, was du hier so treibst
Naja qualitativ hochwertig ist es hoffentlich. Ich hab auf Sicherheit ein großen Wert gelegt, was den Code in die Länge zog. Danke aber für dein Urteil. Ich hoffe, dass es dem Anwender ähnlich ergeht.
Liebe Grüße
Hmm, so viel treibe ich hier eigentlich auch nicht mehr.
Ich schaue mich mal nach nem andern Forum um....
Dieses hier wird mir nach ner Zeit zu langweilig *gääähn* ______________ [img:bb22a53e53]http://img.webme.com/pic/n/naruto-clanx/unbekannt.jpg[/img:bb22a53e53]
Lukas06.de.tl
Downloaden,Spielen,Spass
Wissen ist Macht, du bist machtlos. |
|
↑
|
|
|
|