Ankündigung

Einklappen
Keine Ankündigung bisher.

Werte von einer Select Box mit POST übergeben

Einklappen

Neue Werbung 2019

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

  • Werte von einer Select Box mit POST übergeben

    Hallo liebes Forum,

    ich möchte Werte aus einer Select Box, die durch eine SQL-Abfrage gespeist wird, mit der POST-Methode an eine andere PHP-Datei übergeben. So soll es funktionieren:

    PHP-Code:
     <form action='EditPosterTest.php?ID=".$poster."'  method='POST' target '_self'>
                         <
    p>
                         <
    select id='selected_box' name ='Autoren' size='20'>";

                        //befüllen der Selected Box:
                        
    $queryPoster = 'SELECT * FROM poster_mitarbeiter JOIN (SELECT author_name, id_person FROM authors) as p on poster_mitarbeiter.rel_mitarbeiter = p.id_person
    WHERE rel_poster ='.
    $poster; //nur bereits vorhandene Autoren
                        
    $ArrayQry = mysqli_query($datenbank$queryPoster);

                            while (
    $query = mysqli_fetch_object($ArrayQry)){
                            echo "
    <option value='$query->id_person'>$query->author_name</option>";
                        }
                                          echo "
    <input type='submit' >";
                                      echo "
    </select></p></form
    Die Select-Box wird einwandfrei angezeigt. Durch Klick auf Submit (Speichern) gelange ich zur Seite EditPosterTest.php. Auf dieser Seite prüfe ich dann zunächst, ob die Werte übergeben wurden:

    PHP-Code:
    if (isset($_POST['Autoren'])){$Autoren $_POST['Autoren'];} else {echo "Nein";} 
    Leider wird jedoch "Nein" ausgegeben, das heißt $_POST['Autoren'] ist nicht gesetzt oder übergeben worden. Wieso ist das so? Was habe ich falsch gemacht?




  • #2
    Na dann debugge es halt o.O

    Mach auf der Zielseite ein var_dump( $_POST ) und schau was dort ankommt. Wenn das leer ist, dann ist vermutlich dein HTML-Form invalide.

    https://php-de.github.io/jumpto/faq/#debugging

    LG
    The string "()()" is not palindrom but the String "())(" is.

    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      Danke für den Hinweis,

      var_dump gibt kein leeres Ergebnis aus, sondern:
      PHP-Code:
        array (size=1)    'Autoren' => string '16' (length=2
      16 ist genau der Wert, der in diesem Fall übergeben werden sollte.

      Kommentar


      • #4
        Aha: Die Werte werden nur übergeben, wenn ich vor dem Klicken auf Speichern, nochmal den entsprechenden Wert in der Selected Box anklicke.

        Wenn ich das nicht tue, gibt auch var_dump ein leeres Ergebnis zurück.

        Komisch. Damit stelle ich meine Frage erstmal zurück und suche dafür nach einer Lösung.

        Kommentar


        • #5
          var_dump gibt kein leeres Ergebnis aus, sondern ...
          Ja dann hast du doch in $_POST['Autoren'] den gewünschten Wert. Dh dann debugge weiter. Schau ob du ins if() kommst, was der Fall sein sollte, und so weiter.

          PHP-Code:
          if (isset($_POST['Autoren'])){$Autoren $_POST['Autoren'];} else {echo "Nein";} 
          Und formatiere das mal sauber, sieht ja grausamst aus.

          PHP-Code:
          if ( isset($_POST['Autoren']) ) {
              
          $autoren $_POST['Autoren'];
          } else {
              echo 
          "Nein";

          Welchen Sinn soll diese Abfrage haben? Du kannst $_POST['Autoren'] schon als Variable nutzen. Wenn du nur den Wert ausgeben willst, dann eher sowas:

          PHP-Code:
          if ( isset($_POST['Autoren']) ) {
              echo 
          $_POST['Autoren'];
          } else {
              echo 
          "Nix da";

          The string "()()" is not palindrom but the String "())(" is.

          Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
          PHP.de Wissenssammlung | Kein Support per PN

          Kommentar


          • #6
            Zitat von benediktphp Beitrag anzeigen
            Aha: Die Werte werden nur übergeben, wenn ich vor dem Klicken auf Speichern, nochmal den entsprechenden Wert in der Selected Box anklicke.
            https://php-de.github.io/jumpto/auswahllisten/


            MOD: Verschoben von Datenbanken
            The string "()()" is not palindrom but the String "())(" is.

            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
            PHP.de Wissenssammlung | Kein Support per PN

            Kommentar


            • #7
              Vielen Dank erstmal. Das war sehr hilfreich. Nun ist Feierabend. Morgen gucke ich weiter.

              Kommentar

              Lädt...
              X