tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
671
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Sacool
    Sacool Sacool ist offline Rookie
    Registriert seit
    Apr 2004
    Beiträge
    9
    hallo
    ich habe ein einzeiliges text-Formular gemacht mit einer dynamischen namens vergebung. das formular schicke ich dann an eine andere Datei.
    Wie kann ich sowohl den Inhalt des Text-Formulars als auch den namen auslesen


    Zur Erklärung:
    Ich versuche gerade ein Vokabelabfrage script zu erstellen. es werden 15 vokabeln(Fragen) mit rand() aus einer Datenbank (hat die Spalten "Frage", "Antwort", "ID") ausgelesen. Neben jeder Vokabel ist ein Textfeld, wo der User die Antwort reinschreiben soll. Die Textfelder haben jeweils als namen die dazugehörige ID.
    Nun werden die eingetragen Antworten des User an ein anderes Script übergeben, wo sie ausgewerten werden sollen. Aber ich muss, um die Antwort des Users mit der Antwort in der Datenbak vergleichen zu können, zusätzlich auch noch die ID kennen, die ja auch gleichzeitig der name der Userantwort ist.
    Wie kann ich also sowohl die ID als auch die Antwort des Users aus dem Formular auslesen
     
    Mfg

  2. #2
    der_maiki der_maiki ist offline Mitglied Gold
    Registriert seit
    Jun 2004
    Ort
    bei mir zuhause :-)
    Beiträge
    114
    Du kannst doch die ID per Hidden-Feld übergeben und den Text per Text-Feld. Wo ist also genau dein Problem?

    Mit freundlichem Gruß
    der_maiki
     

  3. #3
    Avatar von Sacool
    Sacool Sacool ist offline Rookie
    Registriert seit
    Apr 2004
    Beiträge
    9
    ich lese 15 von sagen wir mal 40 vokabeln aus einer datenbank per zufallsprinzip (rand()) aus. das mache ich in einer while schleife.
    wie soll der PHP dann das richtige Hidden-Feld dem richtigen Textfeld zuordnen

    also der code für die schleife lautet:
    PHP-Code:
    echo "<form action=\"index.php?TopicID=".$_GET['TopicID']."&action=correction\" method=\"post\">\n";
    while (
    $row mysql_fetch_assoc($result)) {
             echo 
    $row['question']." &nbsp; &nbsp; <input  type= \"text\" name=\"".$row['vokID']."\" length=\"200\"><br>\n";
    }
    echo 
    "<input type=\"submit\" value=\"Vokabeln senden\">\n";
    echo 
    "</form><br>\n"
     
    Mfg

  4. #4
    der_maiki der_maiki ist offline Mitglied Gold
    Registriert seit
    Jun 2004
    Ort
    bei mir zuhause :-)
    Beiträge
    114
    Achso,
    du kannst doch einfach das assoziative Array $_POST[] beispielsweise mit foreach() auslesen und dann mit den Ergebnissen vergleichen. Denn da kannst du sowohl den Key als auch den Wert auswerten.

    Mit freundlichem Gruß
    der_maiki
     

  5. #5
    Avatar von isnipeu
    isnipeu isnipeu ist offline Grünschnabel
    Registriert seit
    Apr 2005
    Beiträge
    3
    Bei folgendem Code wird das Hiddenfeld immer hinter das Textfeld gesetzt, es heisst dann vokabel1, vokabel2 ... dann kannst du die ID einfach auslesen...

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    echo "<form action=\"index.php?TopicID=".$_GET['TopicID']."&action=correction\" method=\"post\">\n";
    $i = 0; 
    while ($row = mysql_fetch_assoc($result)) { 
             $i++;
             echo $row['question']." &nbsp; &nbsp; <input  type= \"text\" name=\"".$row['vokID']."\" length=\"200\"><br>\n";
             echo "<input type=\"hidden\" name=\"vokabel".$i."\" value=\"".$row['vokID']."\">";
    } 
    echo "<input type=\"submit\" value=\"Vokabeln senden\">\n"; 
    echo "</form><br>\n";

    Hoffe dies hilft,
    Sven

    P.S.: Ist natürlich nur für begrenzte Daten möglich, wenn du mehr als 20 vokablen abfragst wird dein skript so vielleicht zuviel Zeit nehmen...
     

  6. #6
    Avatar von Sacool
    Sacool Sacool ist offline Rookie
    Registriert seit
    Apr 2004
    Beiträge
    9
    ich habe es jetzt mal mit foreach() probiert.
    nun kommt diese Fehlermeldung
    Code :
    1
    
    Warning: Invalid argument supplied for foreach() in /srv/www/web2/html/php/vokabeln/index.php on line 21
    in zeile 21-23 steht
    PHP-Code:
         foreach($_POST[] as $key => $wert){
       echo 
    "Die Frage: \"".$wert."\" hat die ID=".$key.".<br />\n";

     
    Mfg

  7. #7
    der_maiki der_maiki ist offline Mitglied Gold
    Registriert seit
    Jun 2004
    Ort
    bei mir zuhause :-)
    Beiträge
    114
    Probiers mal ohne [] bei $_POST[] also $_POST!

    der_maiki
     

Ähnliche Themen

  1. mehrere daten per MySqlDataReader auslesen
    Von timee im Forum .NET Datenverwaltung
    Antworten: 2
    Letzter Beitrag: 09.02.09, 20:56
  2. Daten aus einem String auslesen
    Von dsool im Forum PHP
    Antworten: 13
    Letzter Beitrag: 27.05.08, 16:47
  3. Daten von einem FTP-Server auslesen?
    Von marcoX im Forum PHP
    Antworten: 3
    Letzter Beitrag: 05.11.06, 00:27
  4. Antworten: 6
    Letzter Beitrag: 18.12.04, 15:11