Problem mit Session-Variablen

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

  • Problem mit Session-Variablen

    Habe solgendes Problem: Ich Poste mit einem Forumlar login Daten an
    mein php script, im folgenden ein auszug davon. Wenn der user ein login-namen
    angegeben hat, so wird getestet ob er auch das passende passwort dazu eingegeben hat.
    Ist dies der fall so wird die sesson variable 'cid' initialisiert, und ggf. noch 'lid' und 'vid'.
    Danach lasse ich mir die Werte der vaiablen durch echo anzeigen, das klappt auch gut.
    Nur wenn ich jetzt auf einen Link klicke der mich wieder zu meinem Script leitet
    (naürlich wird alles innerhalb des if-blocks nicht ausgeführt), und mir die sessionvariablen wieder anzeigen lasse,
    hat nur noch 'cid' einen wert, die anderen beiden sind leer!

    Warum bleiben die beiden anderen Werte nicht in der Session?

    PHP-Code:
        if (($_GET['site'] == "tabelle") & ($_POST['login'] != ""))
        {
            
            
    $dblink mysql_connect ("localhost","root",""); 
            
    $select_db mysql_select_db ("pers",$dblink);

            
    $sql "SELECT * FROM tf_coach WHERE c_name='".$_POST['login']."'"
            
    $sqlresult =  mysql_query($sql,$dblink) or die ("SQL-Syntax-Error");
            
    $num =  mysql_num_rows ($sqlresult);
            if (
    $num == 1)
            {
                
    mysql_data_seek($sqlresult,0); 
                  
    $row =  mysql_fetch_array($sqlresultMYSQL_BOTH);
                  if (
    $_POST['password'] == $row['password'])
                  {
                      
    $_SESSION['cid'] = $row['c_id'];
                      
    $_SESSION[0] = $row['c_id'];
                  }
                
    $sql2 "SELECT v_id, l_id FROM tf_vereine WHERE c_id=".$row['c_id']; 
                
    $sqlresult2 =  mysql_query($sql2,$dblink) or die ("SQL-Syntax-Error");
                
    $num2 =  mysql_num_rows ($sqlresult2); 
                if (
    $num2==1)
                {
                    
    mysql_data_seek($sqlresult2,0); 
                      
    $row2 =  mysql_fetch_array($sqlresult2MYSQL_BOTH);
                      
    $_SESSION['vid'] = $row2[0];
                      
    $_SESSION['lid'] = $row2[1];
                }             
            }
        }
        echo 
    "Coach: ".$_SESSION['cid']." // Verein: ".$_SESSION['vid']
    .
    " // Liga: ".$_SESSION['lid']; 

  • #2
    überprüft, ob die beiden anderen werte auch sicher geschrieben wurden, das kann nach deiner beschreibung eigentlich nicht der fall sein.

    Kommentar


    • #3
      also beim 1. aufruf wo die werte in die variablen geschrieben werden sind die da wohl auch drin, zumindest werden mir da die Werte durch den echo befehl angezeigt... danach sind die letzten beiden einfach weg.

      kanns mir ja auch nicht erklären wie das möglich ist...

      Kommentar


      • #4
        benutz mal lieber && in deiner If Bedingung
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          Hi,

          mach mal am Anfang und am ende ein:

          print_r($_SESSION);

          Offe

          Kommentar


          • #6
            EDIT: hab den Fehler gefunden warums nicht tat: ich habe die zeile "$_SESSION[0] = $row['c_id'];" entfernt, dann gings. Weiss jemand warum die die Funktion eingeschränkt hat?


            Original geschrieben von Offe1
            Hi,

            mach mal am Anfang und am ende ein:

            print_r($_SESSION);

            Offe
            also beim 1. Aufruf:

            davor: Array ( )
            danach: Array ( [cid] => 3 [0] => 3 [vid] => 3 [lid] => 1 )


            also beim 2. Aufruf:

            davor: Array ( [cid] => 3 )
            danach: Array ( [cid] => 3 )


            irgendwie scheinen die beiden werte sich in Luft aufzulösen...
            Zuletzt geändert von hukato; 03.10.2004, 20:38.

            Kommentar

            Lädt...
            X