Nach login auf andere index.php..
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
anklicken
bad
code
dank
datum
eile
einsatzgebiet
gelten
http
index
login
manual
nennen
pack
richtige index
schnellen antworten
session
speziell http
weglassen
-
Hallo. Ich bin ziemlich neu mit PHP und MySQL.
Ich habe eine Datenbank auf der userinformationen hinterlegt sind.
Welche durch ein Script beim login abgefragt werden. Dann erstellt es 2 $_SESSION Werte.
Nun meine Frage, wie geht dass das es je nach dem ob man eingelogt ist oder nicht auf eine andere index.php Seite stösst? Weil ich möchte die ja nicht irgendwie index2.php nennen.
Weiss leider nicht genau nach was ich da suchen sollte für ältere Topics mit diesem Problem.
Gruss -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
<?php if ($_SESSION[\'logedin\'] == true) { // index für eingeloggte } else { // index für andere } ?>
Tippfehler, sorry....
Beitrag geändert: 26.2.2008 21:57:53 von xhochy -
Wieso krieg ich auch
<?php <?php if ($_SESSION[\'abcdefg\'] = true) { include \"memberspage.php\"; } else { include \"asdfasdfasf.php\"; } ?> ?>
so mit einem Session wert denn ich nirgends definiert habe die memberspage?
Sorry wenn ich da was falsch versteh.
Danke für die Antwort! -
Es muss ein doppeltes == beim Vergleichen zwischen $_SESSION[\'abcdefg\'] und true sein, ein Gleich setzt $_SESSION[\'abcdefg\'] auf true, was dann immer true ist.
Habs grad korrigiert bei mir, kam durch die Eile...
Beitrag geändert: 26.2.2008 21:58:18 von xhochy -
Ok danke sehr, das funktioniert jetzt!
Diese Abfrage hab ich jetzt auf index gestellt. Nach dem login leitet es mich also weiter auf die \"eingelogt\" index seite, aber wenn ich index.php nochmal aktualisiere scheint die session wieder gelöscht zu sein? Ist das normal? Ich habe nirgends session_write_close(); verwendet. -
Ich habe nirgends session_write_close(); verwendet.
Könnnte aber hilfreich sein. Diese Funktion speichert die Session ab, auch wenn es so klingt, sie beendet die Session nicht. -
Also auf der index.php seite:
if ($_SESSION[\'username\'] == true) { session_write_close(); include \"memberspage.php\"; }
?
Scheint so jedenfalls nicht zu funktionieren.Führt mich beim 2. mal immer wieder auf die !=true Seite
Danke für die schnellen Antworten :)
Beitrag geändert: 26.2.2008 22:20:33 von lost-chall -
Ist ja eigentlich klar, denn wenn die Session beendet ist (denn session_write_close() speichert UND beendet die Session doch, oder?!) dann ist die Abfrage ja != true. Pack irgendwo in deine memberpage nen Logout-button. Beim anklicken soll dann die Session beendet werden und auf die Startseite (oder sonsitige Page) weitergeleitet werden.
-
Ja dass will ich ja auch, nur ist es so dass nach dem klick auch ohne
session_write_close() ich schon wieder nicht mehr auf die richtige index seite gelange ?!
Beitrag geändert: 26.2.2008 22:29:47 von lost-chall -
Kann man lt. PHP Doku auch einfach weglassen:
Session-Daten werden normalerweise nach Beenden eines Scripts gespeichert, ohne dass session_write_close() aufgerufen werden muss
Wie übergibst du denn die SESSION-id? -
if (mysql_num_rows($result) != 1) { $error = \"Bad Login\"; include \"baduser.php\"; } else { $_SESSION[\'userid\'] = \"$userid\"; $_SESSION[\'username\'] = \"$username\"; include \"index.php\"; }
dass geschieht in der login datei.
-
Ja, aber wenn man jetzt die Seite neu lädt, woher will PHP wissen, welche SESSION-id dem Nutzer zugeordnert wird, die musst du irgendwie beim Benuter/Client zwischenspeicher, entweder in der URL oder eigentlich komfortabler als Cookie(Cookies gelten zwar teilweise als böse, aber das ist jetzt eigentlich das Einsatzgebiet, wofür sie entworfen wurden, hier sind sie nicht böse, sondern sogar vorteilhaft)
EDIT: Du musst die Session auch mit session_start erst mal starten!
Beitrag geändert: 26.2.2008 22:41:55 von xhochy -
ok danke. werde mir das morgen mal genauer anschauen.
gruss -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage