Ergebnis 1 bis 3 von 3
  1. #1
    Avatar von frau moella
    frau moella ist offline Mitglied
    registriert
    25-04-2001
    Beiträge
    42

    Unhappy mehrere input felder als array einlesen

    Hallo forum,
    ich habe ein Problem mit einem Formular: ich möchte mehrere Inputfelder als Array bekommen.
    folgenden HTML-Code hab ich in der Seite ausprobiert:


    Code:
    <input class="small" name="link_label[0]" type="text">
    <input class="small" name="link_label[1]" type="text">
    oder auch
    Code:
    <input class="small" name="link_label[]" type="text">
    <input class="small" name="link_label[]" type="text">
    und wollte den dann mit

    Code:
    for ($i=0; $i<count($link_label); $i++)
    {	if('$link_label[$i]'!=0)
    	{	$sql="INSERT INTO tabelle VALUES('','$link_label[$i]')";
    		$ok=($this->dbExec($sql)!=-1);
    	}
    }
    auslesen. Funzt nicht.
    Ich hoffe ich hab mich verständlich ausgedrückt,
    frau moella

  2. #2
    Avatar von Comet
    Comet ist offline Administrator
    registriert
    17-09-2001
    Ort
    Austria | Westendorf
    Beiträge
    2.182
    Hallo!

    Das wird auch nicht gehen, du kannst das Formular aber dynamisch kreieren, dann funktioniert es.

    Ein Beispiel.

    PHP-Code:

    <?php

    $anzFelder 
    5// Anzahl Felder
    $dynamic ""//Diese Variable enthält dann den HTML-Code

    $dynamic .= "<input type=\"hidden\" name=\"anzFelder\" value=\"".$anzFelder."\">\n";

    for(
    $x 1$x <= $anzFelder;$x++)
    {
        
    $dynamic .= "<input type=\"text\" name=\"myTextField".$x."\">\n";
    }

    ?>
    <html>
    <body>

    <form name="myForm" action="weiter.php" METHOD="POST">
    <?php echo $dynamic;?>
    <input type="submit" name="submit" value="    OK    ">
    </form>

    </body>
    </html>
    Auf der Folgeseite müßte man dann auf diese Art vorgehen, damit man auf alle Werte wieder zugreifen kann.

    PHP-Code:

    <?php

    if($submit)
    {
        for(
    $x 1$x <= $anzFelder;$x++)
        {
            eval(
    "\$actual = \$myTextField".$x.";");
            
    $output[] = $actual;
        }
    }

    ?>
    Nun sollten alle Werte der einzelnen Textfelder in dem Array $output sein.
    Hoffe konnte dir helfen.
    ..:::Andi:::..

  3. #3
    Avatar von frau moella
    frau moella ist offline Mitglied
    registriert
    25-04-2001
    Beiträge
    42
    Danke für den Tip, aber es hat doch gefunzt, es war mal wieder eine unglückliche Verkettung bescheuerter Fehler: ich hab ganz am Anfang meines zur Unübersichtlichkeit mutierten Skriptes die Variablen falsch eingelesen:
    $link_label[]=$vars_in['link_label[]'];
    anstatt
    $link_label=$vars_in['link_label'];

    2 Tage sind dafür drauf gegangen, wie gemein!

    Gruß, frau moella!

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •