Wie so oft: ein kleines Session-Problem

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

  • Wie so oft: ein kleines Session-Problem

    Heyaho,

    mein Skript ist folgendermaßen aufgebaut. Ich ziehe mir mit dem Hauptskript weiterere Skripte mit dem include-befehl aus anderen Dateien. Diese Skripte enthalten Funktionen.

    Mit dem Hauptskript führe ich nun den 1. Befehl aus und erhalte einen ersten Wert. Mit diesem ersten Wert gehe ich nun zur ersten Funktion aus dem ersten gezogenen Skript s.o. Diese Funktion berechnet mir einen neuen Wert, beginnt die Session und geht zurück auf das Hauptskript. So weit, so gut

    Nun springt das Hauptskript auf das 2te Skript und sollte den Wert aus der ersten Funktion mitnehmen. ABER obwohl ich diesen Wert in den Funktionsaufruf reinschreibe, geht er unterwegs verloren. Direkt vor dem Aufruf der Funktion ist dieser Wert noch gültig, aber er übernimmt diesen Wert nicht.

    Aber das wirklich Witzige daran ist: Wenn ich die Seite aktualisiere, funktioniert alles einwandfrei.

    Was ist nun grob gesagt falsch. Ja ich weiß, ich sollte den Code posten, aber mehrere hundert Zeilen Code wollt ihr hier nicht durcharbeiten.

  • #2
    Meinst du mit Glaskugel ist es einfacher mal eben 100Zeilen Code zu erraten, oder was???

    Poste einfach die entsprechenden Stellen und jeder ist glücklich.

    Kommentar


    • #3
      KK,

      also der Aufruf für die Funktionen:

      PHP-Code:
         for ($i=1$i <= 250$i++ ) {

                 if ( 
      $puckbesitz == '0' ) {

                   
      bully($team_heim$team_gast$block_heim$block_gast);
                                               }
              else {}
              
      $wirdgeschossen rand(0,10);

              if ( 
      $wirdgeschossen '10' ) {
                  
                     
      passen($team_heim$team_gast$puckbesitz$block_heim$block_gast);
                                            }
              else { 
      schuss($team_heim$team_gast$puckbesitz); }
                   
                                        } 
      Nun das Ergebnis nach dem ersten Funktionsaufruf. Es wird zuerst was berechnet (nicht hier zu sehen), dann kommt das Ergebnis und die Einstellung:

      PHP-Code:
      if ( $endwert_heim $endwert_gast) {
                                         
      $puckbesitz $s_id_heim;
                                       }
                                       
                          elseif ( 
      $endwert_heim $endwert_gast) {
                                       
      $puckbesitz $s_id_gast;
                                             }
                                            
                          else { 
                                          
      $puckbesitz 0; }
                                         }

      $_SESSION['puckbesitz'] = $puckbesitz
      Und jetzt sollte es wieder in der for-schleife weitergehen, aber $puckbesitz wird nicht übertragen.

      Reicht das an Code?

      Kommentar


      • #4
        und was is, wenn du durchgängig $_SESSION['puckbesitz'] nutzt, also auch da wo $puckbesitz steht?
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Bringt nichts, habe ich schon probiert.

          Kommentar


          • #6
            mach aus $_SESSION['puckbesitz'] = $puckbesitz;
            PHP-Code:
            $_SESSION['puckbesitz'] = $puckbesitz;
            echo 
            '-'.$puckbesitz.'-'.$_SESSION['puckbesitz'].'-'
            und zeig mal die funktion, die danach kommt und die variable nicht übernimmt und wie du sie aufrufst
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Aufegrufen wird die Funktion durch die Schleife wie oben schon dargestellt. Die Funktion beginnt so:

              PHP-Code:
              function passen($team_heim$team_gast$puckbesitz$block_heim$block_gast) {

              $result =  mysql_query("SELECT *
                                                     FROM fh_spieler
                                                    WHERE spieler_id = '
              $puckbesitz'");

                              while (
              $row mysql_fetch_array($result)){

                 
              $s_id_passgeber=$row["spieler_id"];


              Aber wie gesagt, beim ersten Aufruf der Seite funktioniert es nicht, ab dem 2ten Aufruf immer.

              Kommentar


              • #8
                PHP-Code:
                function passen($team_heim$team_gast$puckbesitz$block_heim$block_gast) {
                echo 
                '$puckbesitz ist vorhanden: ';
                if (isset(
                $puckbesitz))
                  echo 
                'ja';
                else
                  echo 
                'nein';
                echo 
                '<br />':
                echo 
                '$_SESSION["puckbesitz"] ist vorhanden: ';
                if (isset(
                $_SESSION['puckbesitz']))
                  echo 
                'ja';
                else
                  echo 
                'nein';
                $result =  mysql_query("SELECT *
                FROM fh_spieler
                WHERE spieler_id = '"
                .$_SESSION['puckbesitz']."'");
                while (
                $row mysql_fetch_array($result)){
                   
                $s_id_passgeber=$row["spieler_id"];

                ausagbe?
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  puckbesitz ist vorhanden: ja
                  $_SESSION["puckbesitz"] ist vorhanden: ja

                  So schauts aus.

                  Kommentar


                  • #10
                    und wo is dann dein problem?
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      Mein Problem ist (wie oben beschrieben): Beim ersten Aufruf dieser Seite wird das Skript nicht korreekt ausgeführt, es wird immer nur die erste Funktion aufgerufen.

                      Wenn ich die Seite dann aktualisiere, wird alles korrekt ausgeführt und er springt zwischen den verschieden Funktionen hin und her.

                      Also, immer beim ersten Aufruf der Seite habe ich einen Fehler.

                      Kommentar


                      • #12
                        die ausgabe, die du gepostet hast (inbeiden fällen »ja«) war vom ersten aufruf der seite oder?
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          ma so nebenbei

                          $_SESSION ist in einer funktion vorhanden ohne vorher global $_SESSION????

                          mfg

                          Kommentar


                          • #14
                            ma so nebenbei: brauch man nicht
                            Ich denke, also bin ich. - Einige sind trotzdem...

                            Kommentar


                            • #15
                              is das auch mit $_GET und $_POST usw?
                              boah wieder was gelernt

                              Kommentar

                              Lädt...
                              X