Formulareingaben beibehalten

piano

Mitglied
Hallo,
ich habe ein Formular mit versch. Inhalten. Wenn man das Formular einsendet, dort aber etwas fehlt und man das berichtigen soll, gehen die Einstellungen der Checkboxen, select_Felder und radiobuttons immer verloren. Wie kann ich das ändern?
wegen der for-schleife vermutlich, würde er alle Checkboxen anklicken, wenn ich
checked="if ($_POST['n$nr'] ==on ) {echo 'checked';}"
schreibe.
Und wenn ich das bei den Radiobuttons schreibe, wird immer der letzte aktiviert :confused:

wäre nett, wenn mir jmd. zumindest einen Ansatz geben könnte.
PHP:
  <?php
for ($nr = 1; $nr <= 5; $nr++) {
    echo <<<FORMULAR1
   <input type="checkbox" name="n{$nr}">
   <select name='{$nr}pid'>
     <option value='1'>1</option>
     <option>2</option>
     <option>3</option>
     <option>4</option>
     <option>5</option>
     <option>6</option>
     <option>7</option>
     <option>8</option>
     <option>9</option>
     <option>10</option>
	 <option>11</option>
	 <option>12</option>
	 <option>13</option>
	 <option>14</option>
	 <option>15</option>
	 <option>16</option>
	 <option>17</option>
	 <option>18</option>
   </select>
   <select name='{$nr}tid'>
FORMULAR1;
    $heute = date('Y-m-d');
    $sql1 = "SELECT id, name, bis FROM t_uebersicht";
    $res1 = mysql_query($sql1);
    while ($row1 = mysql_fetch_assoc($res1)) {
        if ($row1['bis'] >= $heute) {
            echo "<option value='$row1[id]'> $row1[name]</option>";
        } 
    } // while
    echo "</select><br>";
} 


<input type='radio' name='pid' value='p1'>1
<input type='radio' name='pid' value='p2' >2
<input type='radio' name='pid' value='p3' >3
 </tr>
?>
VG piano
 
Dein Ansatz war schon richtig. Poste doch einfach mal den Code, der bei dir nicht funktioniert hat, vielleicht findet dann jemand den Fehler. Zu dem Versuch

checked="if ($_POST['n$nr'] ==on ) {echo 'checked';}"

kann ohne den Kontext so wohl niemand was sagen.
 
also das beibehalten der Einstellungen geshieht über HTML...
zum Beispiel bei select steht im Befehl hinten dann "...selected>" oder bei checkboxen "...checked>".

Prinzipiell kannst du es so machen, dass in dem "Berichtigungsformular" die Variable eingelesen wird und geprüft wird welcher Wert ausgewählt wurde...

Beispiel:

1. Formular:
PHP:
<?
<form method='post' action='hallo.php'>
<select name='test'>
<option value='1'>Simon</option>
</select>
?>

2. Formular:

PHP:
<?
<form action='hallo2.php'>
<select name='test'>
if ($_POST["test"]==1)
{
<option value='1' selected>Simon</option>
}
else
{
<option value='1'>Simon</option>
}
</select>
?>

man kann das auch mit der Auswahlfunktion switch bei größeren Auswahlmöglichkeiten machen, aber das Prinzip sollte klar sein oder auch nicht?! Kann nicht so gut erklären :rolleyes:

Grüßle ausm Schwarzwald
Hockeyfan
 

Neue Beiträge

Zurück