Waarde uit formulier aan variabele toekennen
Als 'rooky' op het gebied van php, heb ik even een vraag.
Ik ben met zo'n boek aan de slag gegaan, maar ben nogal ongeduldig, dus wil een opdracht uit dat boek wat uitbreiden.
De opdracht was om de tafel van 7 weer te geven in de vorm van 1 * 7 = 7 enz. enz.
Nu wil ik dit aanpassen door een input erboven te zetten met een knop, en de waarde uit dat formulier als vermenigvuldigde getal te gebruiken. Dus dan wordt het: (1 t/m 10)*$invoer
Ik kom er alleen niet uit hoe ik een waarde uit het formulier aan een variabele toeken.
Ik heb nu:
<form action = method="post">
<input name="invoer" type="text" value="">
<input name="knop" type="submit" value="">
</form>
Hier klopt dus geen snars van...maargoed (A)
Hoe krijg ik nu de waarde die als input in het formulier is gegeven als variabele $invoer, nadat ik op de knop heb gedrukt?
Hoop dat het duidelijk is...
Bedankt!
Eric
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
//functiebepaling opvragen:
$go = $_GET['go'];
als $go leeg is, dan invoer uitvoeren.
if($go == ""){invoer();}
als $go gelijk is aan rekenen, dan functie rekenen uitvoeren.
if($go == "rekenen"){rekenen();}
function invoer(){
<form method='post' action='index.php?go=rekenen'>
<input type='text' name='getal'>
<input type='submit' value='submit'>
</form>
}
function rekenen(){
//ingevulde getal in de $getal variabele zetten.
$getal = $_POST['getal];
//PHP code om tafel uit te rekenen.
}
//functiebepaling opvragen:
$go = $_GET['go'];
als $go leeg is, dan invoer uitvoeren.
if($go == ""){invoer();}
als $go gelijk is aan rekenen, dan functie rekenen uitvoeren.
if($go == "rekenen"){rekenen();}
function invoer(){
<form method='post' action='index.php?go=rekenen'>
<input type='text' name='getal'>
<input type='submit' value='submit'>
</form>
}
function rekenen(){
//ingevulde getal in de $getal variabele zetten.
$getal = $_POST['getal];
//PHP code om tafel uit te rekenen.
}
Gewijzigd op 01/01/1970 01:00:00 door asdf fdsa
Ingevulde waarden in een formulier komen in de $_POST variabele na het verzenden.
Je moet dus eerst een formulier maken met een input textveld en een submit button erin. Je formulier klopte bijna, alleen nog niet helemaal. Het moet ongeveer zo:
pagina1.php
Code (php)
1
2
3
4
2
3
4
<form action = "pagina2.php" method = "post">
<input name = "invoer" type = "text" value = "">
<input name = "knop" type = "submit" value = "Verstuur">
</form>
<input name = "invoer" type = "text" value = "">
<input name = "knop" type = "submit" value = "Verstuur">
</form>
Dit was vooral html, nu komt de code die het formulier gaat verwerken, oftewel pagina2.php. Eerst controleer je altijd of het formulier wel verzonden is. Dat doe je met een if statement. Dan begin je met de data te verwerken. Normaal controleer je nu dus of het ingevulde getal ook echt bestaat, en of het ook echt een getal is, dat doe je opnieuw met een if statement. Als laatste gebruik je jouw code om de tafel uit te rekenen. Het moet er ongeveer zo uitzien:
pagina2.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
/* Controleer of de pagina aanvraag methode POST is */
if ($_SERVER['REQUEST_METHOD'] == "POST")
{
/* Controleer of de waarde bestaat */
if (isset($_POST['invoer']))
{
/* Controleer of het een getal is */
if (is_numeric($_POST['invoer']))
{
/* Een voorbeeld om de tafel uit te rekenen */
for ($i = 1; $i <= 10; $i++)
{
echo $i . " x " . $_POST['invoer'] . " = " . ($i * $_POST['invoer']) . "<br />";
}
}
else
{
/* Wat te doen als het geen getal is */
echo "Je hebt geen getal ingevoerd!";
}
}
else
{
/* Wat te doen als de invoer niet bestaat */
echo "Je hebt niets ingevoerd!";
}
}
?>
/* Controleer of de pagina aanvraag methode POST is */
if ($_SERVER['REQUEST_METHOD'] == "POST")
{
/* Controleer of de waarde bestaat */
if (isset($_POST['invoer']))
{
/* Controleer of het een getal is */
if (is_numeric($_POST['invoer']))
{
/* Een voorbeeld om de tafel uit te rekenen */
for ($i = 1; $i <= 10; $i++)
{
echo $i . " x " . $_POST['invoer'] . " = " . ($i * $_POST['invoer']) . "<br />";
}
}
else
{
/* Wat te doen als het geen getal is */
echo "Je hebt geen getal ingevoerd!";
}
}
else
{
/* Wat te doen als de invoer niet bestaat */
echo "Je hebt niets ingevoerd!";
}
}
?>
Als het niet duidelijk is, stuur maar een pm of post nog maar een berichtje
Gewijzigd op 01/01/1970 01:00:00 door Hylke
Sorry voor de zeeeer late reactie, druk druk druk! Bedankt voor de reacties, ik ga m'n best doen!
Als reactie op de post van Hylke...
Kan ik die twee pagina's ook samenvoegen? Dus in het formulier zeggen dat hij de code die later in de pagina staat uit moet voeren en de uitkomst gewoon onder het formulier moet zetten?
Eric