_SESSION["variable"] funktioniert nicht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • _SESSION["variable"] funktioniert nicht

    Hallo,

    bin neu in PHP und bin gerade dabei eine kleine Anwendung zu schreiben. Nur habert es irgendwie mit den Session Variablen

    habe bei der loginseite folgenden Code um $_SESSION zu speichern
    PHP-Code:

             
    if (isset($_POST['action']) && $_POST['action']=='login')

        {
            
            
    $un = (isset($_POST['un'])) ? $_POST['un'] : '';

            
    $pw = (isset($_POST['pw'])) ? $_POST['pw'] : '';
        
    $_SESSION['userid']=$un;


        } 
    session_start(); habe ich bei beiden Seiten ganz am Anfang geschrieben. Von daher sollte es keine Problem geben

    Wenn ich aber auf einer Folgeseite diese $_SESSION['userid'] abfragen möchte ist diese leer. Kommt immer "ist nix da"
    PHP-Code:
    if (!isset($_SESSION['userid'])) {
                   echo
    "ist da";
                } else {
                   echo
    "ist nix da";
                } 
    Habe mir auch schon session_id() ausgegeben und mit der Startseite verglichen, ist aber die gleiche ID auf allen Seiten.

    Wo liegt mein Fehler? Funktioniert dieses $_SESSION setzen nur wenn REGISTER_GLOBALS=on ist ? Mein Server läuft mit REGISTER_GLOBALS=off

    Danke
    Horst

  • #2
    Lass dir $un mal ausgeben bevor du´s in eine Session Variable einsetzt. Steht da überhaupt was drin?
    gruss Chris

    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

    Kommentar


    • #3
      Ja, in $un steht etwas drinnen.

      Habe auch schon den Fehler gefunden.

      Ich Newbie

      Zuerst wolle ich mit

      PHP-Code:
      echo"$_SESSION["userid"]"

      die Variable ausgeben, bekam aber den Fehler

      Parse error: parse error, unexpected '\"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\Programme\xampp\htdocs\bfv\hauptmenu.php on line 28
      Habe zuwenig den Fehler studiert und dachte gleich, die Variable gibt es nicht. Das war der 1. Fehler.


      Habe mir dann schnell die Abfrage geschrieben ob die Variable überhaupt gesetzt ist. Und dort hat sich der 2 Fehler eingeschlichen.
      PHP-Code:
      if (!isset($_SESSION['userid'])) { 
      Man sollte bei einer if Abfrage keine Negation machen

      Dann geht es mit dem echo auch
      PHP-Code:
      echo "Mein Name: " $_SESSION['userid']; 

      Danke für die Hilfe
      Horst
      Zuletzt geändert von hlederhaas; 20.09.2005, 06:53.

      Kommentar


      • #4
        Achso..

        PHP-Code:
        if (!isset($_SESSION['userid'])) {
                       echo
        "ist da"
                    } else {
                       echo
        "ist nix da"
                    } 
        Da lag der Hund schon begraben. Hab ich gar nicht gesehen das des eine Zeile ohne Leerzeichen ist.
        gruss Chris

        [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

        Kommentar


        • #5
          Was meinst du mit
          "Hab ich gar nicht gesehen das des eine Zeile ohne Leerzeichen ist."

          Welche Zeile ohen Leerzeichen?
          Muss ich irgendetwas noch bedenken?

          Horst

          Kommentar


          • #6
            Original geschrieben von hlederhaas
            Man sollte bei einer if Abfrage keine Negation machen
            Neee... bei DIESER if sollte man es nicht machen - oder zuerst ausgeben lassen "ist nicht da" und beim else "ist da". Dafür ist ja der !- Operator da, um zu negieren
            Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
            var_dump(), print_r(), debug_backtrace und echo.
            Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
            Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
            Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

            Kommentar

            Lädt...
            X