Meerdere velden tegelijk terugzetten na verzenden formulier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pim B

Pim B

20/12/2010 23:03:24
Quote Anchor link
Hoi,

Ik heb een functie gemaakt om een formulier op het scherm te zetten. Na submit wil ik dat de input in de velden blijft staan. Dat lukt bij een 'gewoon' inputveld op deze manier:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
function Formulier($a="")
{

  echo "<form action='".$_SERVER["PHP_SELF"]."' method='POST'>
    <input type='text' name='naam' value='$a' />
    <input type='submit' name='submit' value='verzend' />
  </form>"
;
}

?>

In de functie die de input verwerkt staat aan het einde: Formulier($_POST['naam']);
Dan staat de input na submit nog steeds in het inputveld.

Maar nu heb ik niet 1 inputveld, maar meerdere die met een for-statement worden aangemaakt. Zo dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
function Formulier()
{

  echo "<form action='".$_SERVER["PHP_SELF"]."' method='POST'>";
  for($i; $i<=10; $i++)
  {

    echo "<input type='text' name='naam".$i."' /><br />";
  }
  
    
    echo "<input type='submit' name='submit' value='verzend' />
  </form>"
;
}

?>

Kan ik nu ook zorgen dat na submit al deze velden nog steeds gevuld zijn?
Gewijzigd op 20/12/2010 23:05:52 door Pim B
 
PHP hulp

PHP hulp

28/01/2022 12:15:15
 

20/12/2010 23:06:34
Quote Anchor link
Array van maken. Sowieso handiger.
faq.html#faq.html.arrays
 
Pim B

Pim B

24/12/2010 16:05:13
Quote Anchor link
OK, met een array. Dat gaat goed bij het invullen en verwerken van het formulier.
Ik heb nu dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
function Formulier($dj="")
{

  echo "<form action='".$_SERVER["PHP_SELF"]."' method='POST'>";
for($n=1; $n<=6; $n++)
           {

                 echo "<tr><td><input type='text' name='datumjarig[]' size=12 value='".$dj."' /></td></tr>";
           }

echo "<input type='submit' name='submit' value='verzend' />
  </form>"
;
?>

Ik heb dus 6 inputvelden en ik wil dat de inhoud daarvan blijft staan als ik op submit heb gedrukt.
Dit staat aan het eind van de functie die de input verwerkt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
Formulier($_POST['datumjarig']);
?>

Nu staat na submit in alle 6 de inputvelden "Array", ook als ik minder dan 6 velden heb ingevuld. Ik zit dus wel (een beetje) in de buurt. Hoe kan ik dit oplossen?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.