Stel je hebt:
HTML:
<html>
<body>
<form action="site2.php" method="post">
Name: <input type="text" name="naam">
Email: <input type="text" name="email">
<input type="submit">
</form>
</body>
</html>
Dan kan je met de php functie _POST de waarde ophalen op een andere pagina, dat gaat als volgt:
PHP:
<?php echo $_POST["naam"]; ?>
site2.php zou er dan zo uit zien:
PHP:
<html>
<body>
Hallo <?php echo $_POST["naam"]; ?>!<br>
Het ingevoerde mailadres is <?php echo $_POST["email"]; ?>.
</body>
</html>
Dit kunt u met zoveel velden doen als u wilt.
De knop enablen / disablen kan wel, maar het kan veel gemakkelijker!
Laat me het even uitleggen.
Eerst veranderen we ons form even:
HTML:
<form method="post" name = "myForm" onsubmit="return validate()" action="site2.php">
we voegen dus een naam toe aan het form (name = "myForm"), en een "onsubmit" wat betekend dat we iets uitvoeren zodra de gebruiker op de knop drukt.
In javascript moeten we dan vervolgens de variabelen uit het forum halen, dat kan op de volgende manier:
[JS]var naam=document.forms["myForm"]["naam"].value;[/JS]
Daarna moeten we met javascript bekijken of de nieuwe variabele niet leeg is. Dat kan op de volgende manier:
[JS]if (naam==""){return false;}[/JS]
Als er dus niets in het veld "naam" staat dan geeft die methode "false" terug en zal het form niet gesubmit worden.
Als we daar dan ook nog een mooie waarschuwing aan vast plakken met javascript dan ziet onze volledige javascript er als volgt uit:
[JS]function validate(){
var naam=document.forms["myForm"]["naam"].value;
if (naam==""){
alert("Niet alle info is ingevuld");
return false;
}
}[/JS]
Elke keer als we nu dus validate aaanroepen (dat gebeurde bij het onsubmit event van het form) wordt er eerst gekeken of wel alles is ingevuld.
Dan komen we dus uiteindelijk op de volgende 2 pagina's uit
site1.php:
HTML:
<!DOCTYPE html>
<html>
<head>
<script>
function validate(){
var naam=document.forms["myForm"]["naam"].value;
var email=document.forms["myForm"]["email"].value;
if (naam=="" || email==""){
alert("Niet alle info is ingevuld");
return false;
}
}
</script>
</head>
<body>
<form method="post" name = "myForm" onsubmit="return validate()" action="site2.php">
Name: <input type="text" name="naam"> <br />
Email: <input type="text" name="email">
<input type="submit">
</form>
</body>
</html>
en site2.php:
HTML:
<html>
<body>
Hallo <?php echo $_POST["naam"]; ?>!<br>
Het ingevoerde mailadres is <?php echo $_POST["email"]; ?>.
</body>
</html>
Ik zal ook even de bestanden als een zip bijvoegen:
Bekijk bijlage www.zip
Een live werkende versie:
http://server.mi-soft.nl/helpmij/Royzilla/