That Guy
Meubilair
- Lid geworden
- 28 nov 2006
- Berichten
- 5.010
In een HTML form-tag (<form>) zijn verschillende attributen (attributes) mogelijk. Bijvoorbeeld (gelijk de belangrijkste) method en action.
method geeft aan of het via een POST- of GET manier moet worden verstuurd. GET betekent dat de waardes ook in de URL-balk te zien zijn, POST niet. Dit is een van de redenen dat POST gebruikt wordt voor login-dingen. Voor nu maakt het even niet uit wat je gebruikt, maar in je PHP script wel. Zie later deze post.
action is de locatie van het 'opvangende' script. Ofwel, de pagina welke alles afhandeld. Hier moet je gewoon een valide URL in opgeven, bijvoorbeeld mijnpagina.php of http://www.google.com/iets/. Als je deze leeg laat (dus: action='') wijst het naar zichzelf.
Nu, het afhandelen. Voor het gemak zeggen we even dat we naar een andere pagina toe wijzen, genaamd afhandel.php. Nu ziet afhandel er bijvoorbeeld zo uit:
Als je de actie 'POST' had ipv. 'GET', moetten alle 'GET's hierboven 'POST's worden.
Het idee van alles-op-dezelfde-pagina is ook goed mogelijk. Zoals je ziet hierboven zit er in de 'else'-clause (gedeelte) alleen maar een foutmelding. Maar stel je voor dat je daar nou je form neer zet? Dan krijg je altijd OF je form, OF de echo. Zoiets:
Zoals je ziet stop ik gewoon met php code, zet ik de HTML neer, en ga verder met PHP. Dit mag gewoon zo! Je kan ook je gehele form uit echo'en, maar dit ziet er net iets leesbaarder uit.
Nu, ik vond het if/else gedoe in het begin ook lastig (met de post en dat soort dingen iig), dus probeer het gewoon op te bouwen. Begin makkelijk:
verder uitbreiden:
again:
...
etcetera.
Hopelijk heb je hier wat aan :thumb:
method geeft aan of het via een POST- of GET manier moet worden verstuurd. GET betekent dat de waardes ook in de URL-balk te zien zijn, POST niet. Dit is een van de redenen dat POST gebruikt wordt voor login-dingen. Voor nu maakt het even niet uit wat je gebruikt, maar in je PHP script wel. Zie later deze post.
action is de locatie van het 'opvangende' script. Ofwel, de pagina welke alles afhandeld. Hier moet je gewoon een valide URL in opgeven, bijvoorbeeld mijnpagina.php of http://www.google.com/iets/. Als je deze leeg laat (dus: action='') wijst het naar zichzelf.
Nu, het afhandelen. Voor het gemak zeggen we even dat we naar een andere pagina toe wijzen, genaamd afhandel.php. Nu ziet afhandel er bijvoorbeeld zo uit:
PHP:
<?php
//evnetueel standaard layout ofzo?
if(isset($_GET['merken'])) /* als er een merk meegegeven is */
{
$merken = $_GET['merken']; /* sla het op in variabele $merken */
}else{
die('geen merk opgegeven!'); /* stop script en echo de melding */
}
echo $merken; /* als het wel goed ging, echo het merk */
?>
Het idee van alles-op-dezelfde-pagina is ook goed mogelijk. Zoals je ziet hierboven zit er in de 'else'-clause (gedeelte) alleen maar een foutmelding. Maar stel je voor dat je daar nou je form neer zet? Dan krijg je altijd OF je form, OF de echo. Zoiets:
PHP:
<?php
if(isset($_GET['merken'])) /* als er een merk meegegeven is */
{
$merken = $_GET['merken']; /* sla het op in variabele $merken */
/* doe iets met $merken... of niet. */
echo $merken;
}else{
/* er was niets gegeven! Dus, of de gebruiker had niets geselecteerd,
of hij was 'nieuw' op de pagina. Spuug het form dus uit: */
?>
<form name="autoform" action="" method="POST">
<select name="merken">
<option value="1">Ford</option>
<option value="2">Audi</option>
<option value="3">VW</option>
</select>
</form>
<?php
} /* einde if/else */
?>
Nu, ik vond het if/else gedoe in het begin ook lastig (met de post en dat soort dingen iig), dus probeer het gewoon op te bouwen. Begin makkelijk:
PHP:
if( )
{
//doe iets
}else{
//doe iets anders
}
PHP:
if(isset($_GET['iets']))
{
//doe iets
}else{
//doe iets anders
}
PHP:
if(isset($_GET['iets']))
{
echo $_GET['iets'];
}else{
//doe iets anders
}
PHP:
if(isset($_GET['iets']))
{
echo $_GET['iets'];
}else{
?>
hier komt het form
<?php
}
Hopelijk heb je hier wat aan :thumb:
Laatst bewerkt: