Waarde uit formulier aan variabele toekennen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Eric

Eric

16/11/2007 15:05:00
Quote Anchor link
Hallo!
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 =
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $_SERVER['PHP_SELF']; ?>
method="post">
<input name="invoer" type="text" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $invoer ?>
">
<input name="knop" type="submit" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $_POST ?>
">
</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
 
PHP hulp

PHP hulp

27/04/2024 02:26:14
 
Asdf fdsa

asdf fdsa

16/11/2007 15:46:00
Quote Anchor link
Misschien dat het nog iets te moeilijk is, maar ik zou het als volgt doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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.
}
Gewijzigd op 01/01/1970 01:00:00 door asdf fdsa
 
Hylke

Hylke

16/11/2007 16:15:00
Quote Anchor link
@Eric:
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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<form action = "pagina2.php" method = "post">
 <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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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!";
  }
}

?>


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
 
Eric

Eric

25/11/2007 13:26:00
Quote Anchor link
Sorry voor de zeeeer late reactie, druk druk druk! Bedankt voor de reacties, ik ga m'n best doen!
 
Eric

Eric

06/12/2007 21:32:00
Quote Anchor link
Na even een pauze in php benut te hebben voor school (moet ook gebeuren...) heb ik hier weer eens naar gekeken!

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
 



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.