Ankündigung

Einklappen
Keine Ankündigung bisher.

Checkbox nach absenden angeklickt lassen

Einklappen

Neue Werbung 2019

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

  • Checkbox nach absenden angeklickt lassen

    Hallo zusammen,

    das Abfragen und die Übergabe der Werte der Checkbuttons
    funktioniert, damit habe ich keine Probleme.

    Ich bekomme es einfach nicht hin und gebe zu, habe auch keinen
    richtigen Plan, wie ich es schaffe das die schon angeklickten
    Checkbuttons weiterhin markiert bleiben.

    Habe schon recht viel gesucht (über Google etc.), bin
    aber nicht fündig geworden.

    Kann mir jemand helfen, komme einfach nicht weiter.

    mo


    PHP-Code:



     
    //  CHECKBOXEN



     
    if (isset($_REQUEST['wunsch'])) {
      
    reset($_REQUEST['wunsch']);
      foreach (
    $_REQUEST['wunsch'] as $wunsch)
         {



             
    $wunsch implode(", \n ",$_POST["wunsch"]);


          }

     } else

     {



     
    $error['wunsch'] = true;


     } 
    Code:
    <!-- nicht wundern, habe rest html zur übersichtlichkeit rausgenommen  -->
    
    
    
    <input type="checkbox" name="wunsch[]" value="
    <?php  echo"$punkt_a";  ?>" <?php if(isset($senden['wunsch']) && in_array('$punkt_a', $senden['wunsch'])) echo ' checked="checked"'; ?>  />
    
    
    
    <input type="checkbox" name="wunsch[]" value="
    <?php echo"$punkt_b";  ?>" <?php if(isset($senden['wunsch']) && in_array('$punkt_b', $senden['wunsch'])) echo ' checked="checked"'; ?>  />
                         
    
    <?php
              
      // Ausgabe nur zu Testzwecken
    
      echo "<br /><p>Die Variable wunsch: ".$_SESSION['wunsch']."</p>";
    
    
    ?>

  • #2
    Probiere mal folgenden Code aus:

    PHP-Code:
    $var "hallo";
    echo 
    $var;
    echo 
    '$var';
    echo 
    "$var"
    Wenn du dir dann dein in_array() anschaust wirst du sehen wo dein Problem liegt

    Kommentar


    • #3
      Zitat von cycap Beitrag anzeigen
      Probiere mal folgenden Code aus:

      PHP-Code:
      $var "hallo";
      echo 
      $var;
      echo 
      '$var';
      echo 
      "$var"
      Wenn du dir dann dein in_array() anschaust wirst du sehen wo dein Problem liegt

      Hallo cycap,

      super es meldete sich doch noch jemand.

      Du hast mir einen richtigen Wink gegeben und damit eine neue Idee,
      es einmal anders zu versuchen und deinen Hinweis einzubauen.


      PHP-Code:

      // Variablen aufrufen


             
      $tag = array($punkt_a,$punkt_b);

              
      $senden['wunsch'] = array();

              
      $_POST['senden']  =   $senden;
              
      $_POST['tag']  =   $tag;
              
      $_POST['punkt_a'] =  $punkt_a;
               
      $_POST['punkt_b'] =  $punkt_b;



      if (isset(
      $_POST['wunsch']) && is_array($_POST['wunsch']) &&
       !empty(
      $_POST['wunsch']))
                  {



              foreach (
      $_POST['wunsch'] AS $wunsch) {

                 if (
      in_array($wunsch$tag)) {

                   
      $senden['wunsch'][] = htmlspecialchars($wunsch);

                        
      $wunsch implode(", \n ",$_POST["wunsch"]);

                    } else
                    {
                         
      $error['wunsch'] = true;
                    }

              }
        } 
      Code:
          <input type="checkbox" name="wunsch[]" 
      value="<?php  echo"$punkt_a";  ?>" 
      <?php if(isset($senden['wunsch']) && in_array($punkt_a, $senden['wunsch'])) 
      echo ' checked="checked"'; ?>  />
                      
        <input type="checkbox" name="wunsch[]" 
      value="<?php  echo"$punkt_b";  ?>" 
      <?php if(isset($senden['wunsch']) && in_array($punkt_b, $senden['wunsch'])) 
      echo ' checked="checked"'; ?>  />
      
      <?php
      
                    echo  "Terminwunsch: ".$wunsch;
                    echo"<br><br>";
                  ?>
      So ich hoffe ich habe die wichtigsten Code Fragmente mit kopiert.

      Folgendes passiert, es geht und auch wieder nicht.

      Eigentlich ist die wichtigste PHP Abfrage in einer eigenen PHP Datei.
      Ich hatte die neue Checkbox Abfrage jetzt zu Testzwecken einmal direkt auf der HTML Seite eingefügt.

      Wenn ich jetzt die Checkboxen bediene, macht es das was ich eigentlich erwarte, nach dem absenden bleibt die richtige
      Markierung bestehen und "echo $wunsch" gibt die richtigen Werte aus.

      Schicke ich jetzt aber das Formular ab, kommt das Mail mit einer falschen
      Variablen Übergabe an. Statt Termin Datum steht dann "array" dort, obwohl es im "echo" richtig ausgegeben wird.

      Nehme ich übrigens die neue Checkboxabfrage in der externen PHP Datei,
      geht es mit den Haken in den Checkboxen nicht mehr, die Variable "$wunsch" wird aber richtig versendet.

      Fast dachte ich ich hätte es. Was mache ich hier nur falsch?

      mo

      Kommentar


      • #4
        Jetzt geht es

        Jetzt geht alles, ich habe jetzt doch die Abfrage schleife, im externen Skript
        eingefügt, es hatte nur vorher nicht mit der Übergabe der Variablen funktioniert.

        register_globals (?!)

        Die Abfrage selbst funktioniert, jetzt geht alles, auch die Checkboxen werden
        richtig markiert.

        Danke nochmals, der Hinweis hatte mich auf den richtigen Weg gebracht (puhh...).

        mo

        Kommentar

        Lädt...
        X