php session will nicht immer

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

  • php session will nicht immer

    Hallo,

    ich habe da ein kleines Problem. Bisher habe ich einen kleinen Unix Server mit php 4.1.2 betrieben. Dort habe ich ein paar scripte mit sessions erstellt.
    Der Versuch diese jetzt auf einem Windows Webserver bei Strato mit php Version 4.3.7 ans laufen zu bringen, schlug leider fehl. Ich habe daraufhin 2 kleine Testscripte angelegt, indenen ich einfache Session Variablen schreiben lasse und sie wieder ausgebe.

    test.php

    PHP-Code:
    <?php

    session_start
    ();                                                                                

    session_register("id");
    $id=3;
    session_register("number");
    $number[1]=1111;
    $number[2]=2222;
    $number[3]=3333;
    session_register("anzahl");
    $anzahl[1]=1;
    $anzahl[2]=1;
    $anzahl[3]=1;

    ?>
    und test2.php

    PHP-Code:
    <?php

    session_start
    ();

    for (
    $a=1;$a<=$id;$a++)
    {
    echo 
    $id;
    echo 
    "<br>";
    echo 
    $number[$a];
    echo 
    "<br>";
    echo 
    $anzahl[$a];
    echo 
    "<br>";
    }

    ?>
    beim Versuch diese ans laufen zu kriegen stieß ich auf dasselbe Problem. Die Variablen wurden nur sporadisch angezeigt. Also mal ja mal nein. Wie kann das sein ? Was habe ich falsch gemacht ? Ich habe das ganze auch mit $_SESSION_HTTP_VARS probiert. Selbes Resultat.

    Danke für eure Hilfe.
    Michael

  • #2
    Mach lieber mal das folgende:

    PHP-Code:
    $_SESSION['var'][0] = '..';
    $_SESSION['var'][1] = '...'
    PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

    Kommentar


    • #3
      Erst die Werte zuweisen und dann die Sessions registrieren.

      test.php
      PHP-Code:
      <?php

      session_start
      ();                                                                                

      $id=3;
      session_register("id");
      $number[1]=1111;
      $number[2]=2222;
      $number[3]=3333;
      session_register("number");
      $anzahl[1]=1;
      $anzahl[2]=1;
      $anzahl[3]=1;
      session_register("anzahl");
      ?>
      (übersichtlicher wäre Folgendes

      PHP-Code:
      <?php

      session_start
      ();                                                                                

      $id=3;

      $number[1]=1111;
      $number[2]=2222;
      $number[3]=3333;

      $anzahl[1]=1;
      $anzahl[2]=1;
      $anzahl[3]=1;

      session_register("id");
      session_register("number");
      session_register("anzahl");
      ?>
      Gruß,
      Christian

      Kommentar


      • #4
        @ Floriam

        PHP-Code:
        $_SESSION['var'][0] = '..';
        $_SESSION['var'][1] = '...'
        Danke aber das habe ich schon probiert gehabt. Hat auch nix geholfen. registered_globals sind auch bei Strato auf on gesetzt.

        @harakiri

        das habe ich gemacht. Aber das Resultat ist dasselbe mal werden die Daten angezeigt mal nicht. Bringt also überhaupt keine Verbesserung. Aber vielen Dank für den Vorschlag. Kann es sein, das das script OK ist aber irgendetwas in der php.ini nicht Korrekt ist ? Oder habe ich doch irgendetwas übersehen. Wenn es hilft, kann ich auch gerne mal die komplette phpinfo posten.

        Danke schonmal und Gruss
        Michael

        Kommentar


        • #5
          Hast du schon versucht, alle Variablen wieder per $_SESSION[] auszugeben, damit du in dem gleichen Script prüfst ob das Funktioniert hat?
          PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

          Kommentar


          • #6
            Wie muss das script denn dann aussehen ? Bin noch nicht so gut in php.

            Kommentar


            • #7
              habe das ganze mal so gemacht. aber ausgegeben wird im selben script nichts. Und im anderen script wieder mal ja und mal nein.

              PHP-Code:
              <?php

              session_start
              ();                                                        

              $_SESSION["id"]=3;

              $_SESSION["number"][1]=1111;
              $_SESSION["number"][2]=2222;
              $_SESSION["number"][3]=3333;

              $_SESSION["anzahl"][1]=1;
              $_SESSION["anzahl"][2]=1;
              $_SESSION["anzahl"][3]=1;

              echo 
              "$_SESSION["id"]";
              echo 
              "$_SESSION["number"][1]";

              ?>

              Kommentar


              • #8
                Wieso die Variable in " ausgeben?

                mach einfach echo $var;
                PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

                Kommentar


                • #9
                  Ja aber die Ausgabe funktioniert auch so. Nur warum so sporadisch in dem zweiten script ?

                  Kommentar


                  • #10
                    Original geschrieben von dunervst
                    Ja aber die Ausgabe funktioniert auch so. ...
                    wetten nicht ?

                    Wie soll das denn gehen: Anführungszeichen in Anführungszeichen ohne Backslash.

                    das wäre neu.

                    PHP-Code:
                    echo "$_SESSION["id"]"
                    überleg' mal, was würdest du als Parser hier machen?

                    Kommentar


                    • #11
                      Das ist ja gar nicht das Thema im Moment. Ausserdem funktioniert es tadellos.

                      Kommentar

                      Lädt...
                      X