Problem mit globaler variable

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

  • Problem mit globaler variable

    Tag TAg

    hab hier den code
    PHP-Code:
    <?php
    $p 
    "false";

    function 
    chp()
    {
        global 
    $p;
        
    $p "true";
    }

    if(!isset(
    $_REQUEST["b1"]) and !isset($_REQUEST["b2"]))
    {
        echo 
    $p;
    ?>
    <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="POST">
      <input type="Submit" name="b1" value="Button1">
    </form>
    <?php
    }
    elseif(isset(
    $_REQUEST["b1"]))
    {
        
    chp();
        echo 
    $p;
    ?>
    <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="POST">
      <input type="Submit" name="b2" value="Button2">
    </form>
    <?php
    }
    elseif(isset(
    $_REQUEST["b2"]))
    {
        echo 
    $p;
    }
    ?>
    Am anfang ist $p ja false .
    Dann klickt man auf den button b1, dann wird $p ja true.

    Wenn man dann auf den nächsten Button b2 klickt, wird wieder $p ausgegeben. aber diesmal ist $p wider false.
    Wiso?? ich hab doch die globale $p geändert


    kann mir einer helfen, dass bei schritt 3 true rauskommt??

    gruß ich
    Wat für'n Scheiß war dat über meine Mucke? Hast'n Problem? ALTA! Schon mal ne 5000-Watt-BASS-Machine gehört? Geht voll ab, Alta!

    Wacken?! Ist schon vorbei du Spasti!

  • #2
    zunächst mal, true und false sind bools und keine strings. in der dritten bedingung wird kein chp() aufgerufen also bleibt $p=false;
    mfg

    Kommentar


    • #3
      ja aber ich hab doch $p global mit der funktion geändert. oder nicht??
      also müsste sie überall als true sichtbar sein. oder????

      wenn nicht, wie kann ich sie als global ändern, dass man sie überall als true sieht??

      gruß
      ich
      Wat für'n Scheiß war dat über meine Mucke? Hast'n Problem? ALTA! Schon mal ne 5000-Watt-BASS-Machine gehört? Geht voll ab, Alta!

      Wacken?! Ist schon vorbei du Spasti!

      Kommentar


      • #4
        immer wenn du einen button drückst, wird ein neuer Request gesendet und $p wird mit false initialisiert. $p exisitert immernur für eine Sitzung.

        abhilfe: Sessions benutzen
        mfg

        Kommentar


        • #5
          wie meinst du das mit session?

          Kannst du mir dazu mal n Beispiel coden. Bitte.

          gruß ich
          Wat für'n Scheiß war dat über meine Mucke? Hast'n Problem? ALTA! Schon mal ne 5000-Watt-BASS-Machine gehört? Geht voll ab, Alta!

          Wacken?! Ist schon vorbei du Spasti!

          Kommentar


          • #6
            Kannst du mir dazu mal n Beispiel coden
            nö, aber du kannst ins manual gucken, da gibts auch beispiele und hints:

            http://de2.php.net/manual/de/ref.session.php
            mfg

            Kommentar

            Lädt...
            X