kostenloser Webspace werbefrei: lima-city


Nach login auf andere index.php..

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    lost-chall

    lost-chall hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. <?php
    if ($_SESSION[\'logedin\'] == true) {
      // index für eingeloggte
    } else {
      // index für andere
    }
    ?>


    Tippfehler, sorry.... :mad:

    Beitrag geändert: 26.2.2008 21:57:53 von xhochy
  4. Autor dieses Themas

    lost-chall

    lost-chall hat kostenlosen Webspace.

    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!
  5. 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
  6. Autor dieses Themas

    lost-chall

    lost-chall hat kostenlosen Webspace.

    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.

  7. 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.
  8. Autor dieses Themas

    lost-chall

    lost-chall hat kostenlosen Webspace.

    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
  9. 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.
  10. Autor dieses Themas

    lost-chall

    lost-chall hat kostenlosen Webspace.

    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
  11. 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?
  12. Autor dieses Themas

    lost-chall

    lost-chall hat kostenlosen Webspace.

    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.

  13. 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
  14. Autor dieses Themas

    lost-chall

    lost-chall hat kostenlosen Webspace.

    ok danke. werde mir das morgen mal genauer anschauen.
    gruss
  15. ...weiterführende Links dazu:
    http://de.php.net/session

    und speziell:
    http://de.php.net/manual/de/function.session-start.php
    http://de.php.net/manual/de/function.session-destroy.php
    http://de.php.net/manual/de/function.setcookie.php
  16. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!