Ankündigung

Einklappen
Keine Ankündigung bisher.

Dropdowneinträge via php in DB schreiben

Einklappen

Neue Werbung 2019

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

  • Dropdowneinträge via php in DB schreiben

    Guten Tag,

    ich habe mir eine kleine HTML Abfrage geschrieben, die ein Dropdownmenü, ein Textfeld und einen SubmitButton enthält. Wie kann ich auf die Selektion des Dropdownmenüs via php zugreifen? Ziel ist es, die Selektion via "Writetask-Funktion" in eine SQL-Datenbank zu schreiben.


    Code:
    <html>
    <head>
    </HEAD>
    <title>Submit task</title>
    <body>
    
    <h3>Bitte waehlen Sie einen oder mehrere Benutzer aus!</h3>
    
    <form action="writetask.php">
     
      <p>
        <select name="top5" size="5" multiple>
        <?php
           error_reporting(E_ALL);
    
           $verbindung = mysql_pconnect( "localhost", "admin", "pw");
           if (!$verbindung) 
           {
           exit;
           }
           mysql_select_db("promo"); 
    
           $query =mysql_query("SELECT name FROM jos_users");
           while ( $row = mysql_fetch_array($query)){
           echo "<option value=\"".$row['name']."\">".$row['name']."</option>";
           }
           ?>
        </select>
      </p>
    
    <h3>Bitte geben Sie eine Aufgabe ein!</h3>
    
      <p>
        <textarea name="user_eingabe" cols="50" rows="10"></textarea>
      </p>
    
    <h3>Zum Abschicken, bitte nur einmal klicken.</h3>
    
    <p>
    <input type="submit" value="Absenden">
    <input type="reset" value="Abbrechen">
    
    </form>
    
    </body>
    </html>


  • #2
    Wie kann ich auf die Selektion des Dropdownmenüs via php zugreifen?
    Gar nicht. Du kannst allenfalls das Form absenden und im Folgescript (PHP) die Requestparameter (z.B. $_POST) verarbeiten. Darunter ist dann auch der Select-Wert.
    --

    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


    --

    Kommentar


    • #3
      So hab ich mir das ja auch gedacht. Nach absenden des Forms wird eine php Datei aufgerufen, die in die DB schreibt. ... ich weiß nur halt nicht, wie ich dem Script sage, dass es die verher selektierten Daten schreiben soll...

      Kommentar


      • #4
        Meine Writetaskfunktion sieht bisher so aus..


        Code:
        <html>
        <head>
        </head>
        <title>writetask</title>
        <body>
        
        <?php
           error_reporting(E_ALL);
         
           function writetask()
           {
           global $database;
           $verbindung = mysql_pconnect( "localhost", "admin", "pw") or die(mysql_error());
        
           if (!$verbindung) 
           {
           exit;
           }
           mysql_select_db("promo");
        
           $query = "INSERT INTO `jos_usertasks` (`username`,`task`) VALUES ('SelektWert', WertAusTextfeld)" or die(mysql_error());
           $verbindung->setQuery( $query )or die(mysql_error());
           if (!$verbindung->query())
           {
           echo $verbindung->stderr();
           }
        
        
           }
        writetask();
        ?>
        
        </body>
        </html>

        Kommentar


        • #5
          Das funktioniert bei allen HTML Controls gleich. Es sind immer name=value Paare.
          Dein input/text heißt xyz, Dein Formular hat action="get", also bekommst Du im PHP Skript $_GET['xyz'] geliefert.
          Dein select heißt top5, Dein Formular hat action="get", also bekommst Du im PHP Skript $_GET['top5'] geliefert.
          usw usw

          edit:
          1)
          global $database;
          Du verwendest $database gar nicht. Das ist auch gut so. Diese Zeile einfach streichen.
          2) Du musst Dich noch um sql injects kümmern. PHP Programming/SQL Injection - Wikibooks, collection of open-content textbooks
          Nicht ein anderes Mal machen, sondern jetzt. Selbst wenn es Dir im Moment optional erscheint. Es ist nicht optional.

          Kommentar


          • #6
            Danke Mann! Das wollte ich wissen.

            2) Du musst Dich noch um sql injects kümmern.
            Ja.. absolut. :-/

            Kommentar

            Lädt...
            X