21 text fields in een form
Het personeelssysteem bestaat uit 3 php pagina's; een overzicht (select X from blabla), een invulformulier en een uitvoeringsformulier (insert into blabla).
Ik heb een formulier gemaakt waarin een gebruiker 21 text fields moet invullen (voor voorbeeld, zie: http://home.wanadoo.nl/wjnijhof/temp/plaatje.jpg). Het probleem waar ik nu echter mee zit is dast je o het uitvoeringsformulier 7x dit krijgt:
$procesmaandag = $_REQUEST['procesidmaandag'];
$procesurenmaandag = $_REQUEST['procesmaandag'];
$rollenmaandag = $_REQUEST['rollenmaandag'];
In totaal krijg je dus 21 regels waarin gegevens worden opgehaald.
Mijn vraag is of dit simpeler kan.
Ik heb in de PHP tutorials gekeken en daar verscheidene form tutorials gevolgd, echter behandelen deze allemaal kleine formulieren waarin gewoon gebruik worde gemaakt van de bovenstaande methode.
Gewijzigd op 01/01/1970 01:00:00 door Wouter
probeer die maar eens, die zet de hele zooi automatisch om, let wel op dat dit nog wel gecontroleerd moet worden omdat dus ALLE vars meekomen, gebruik iig POST of GET
$var1 = $_POST['waarde'];
$var2 = $_POST['waarde'];
$var3 = $_POST['waarde'];
$var4 = $_POST['waarde'];
$var5 = $_POST['waarde'];
weg wilt.
wat ik zelf altijd gebruik is het volgende.
extract($_POST);
dit zorgt ervoor dat er variabelen worden gemaakt van alle velden in je formulier, deze variabelen hebben dan de naam van het name="" attribuut.
heb je dus bijv een <input type="text" name="naam" id="naam"> veld in je formulier, dan wordt er een variabele $naam genaamd met de waarde van dat veld.
Dank je, dat is precies wat ik zoek :) Ik heb de extract functie opgezocht op php.net en tesamen met jouw uitleg begrijp ik precies hoe die functie toegepast dient te worden.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<form method="post" action="#">
<input type="text" name="veld[]"/>
<input type="text" name="veld[]"/>
<input type="text" name="veld[]"/>
<input type="text" name="veld[]"/>
<input type="submit"/>
</form>
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
foreach($_POST['veld'] as $waarde) {
echo $waarde;
}
}
?>
<input type="text" name="veld[]"/>
<input type="text" name="veld[]"/>
<input type="text" name="veld[]"/>
<input type="text" name="veld[]"/>
<input type="submit"/>
</form>
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
foreach($_POST['veld'] as $waarde) {
echo $waarde;
}
}
?>