Ik werk met Smarty en PHP om een 'website' te maken waarom mensen zich kunnen registreren.
Men moet 4 formuliers invullen die elks op een andere pagina staan. Nu is mijn probleem: als ik naar de volgende stap wil gaan zou hij eerst moeten valideren of alles is ingevuld en pas dan naar de volgende stap gaan. Hij gaat zowizo naar de volgende stap zonder te valideren ( wat code-gewijs eigelijk logisch is ). Is er iemand die mij kan helpen zodat je pas naar de volgende stap gaat als de validatie goed is verlopen?
Wat code die ik gebruik
Index.php:
Code: Selecteer alles
switch($page){
case 'stap1':
require_once('includes/een.php');
if(!isset($_POST['stap1'])){
$content = getContent();
} else {
$content = valideren();
}
break;
}
Form action:
Code: Selecteer alles
action="index.php?page=stap2"
Code: Selecteer alles
function valideren(){
global $smarty, $config, $common, $session;
$post = $_POST;
$error = false;
$errMsg = array();
//NIEUWE ARRAY AANMAKEN
$leden = array($post['lid']);
$lgeslacht = array($post['geslacht']);
$lege = array_combine($post['lid'],$post['geslacht']);
$smarty->assign("naam", $post["naam"]);
$smarty->assign("lidnaam", $post['lid']);
$smarty->assign("lidgeslacht", $post['geslacht']);
$smarty->assign("lege", $lege);
$smarty->assign("bio", $post["bio"]);
//VALIDATIE
if(empty($post['naam'])){
$error = true;
array_push($errMsg, "Gelieve de bandnaam in te vullen.");
} else {
array_push($_SESSION['info'], $post['naam']);
}
if(empty($post['lid'])){
$error = true;
array_push($errMsg, "Gelieve de naam van minstens 1 bandlid in te vullen.");
}else{
//array_push($session, $post['lid']);
}
if(empty($post['bio'])){
$error = true;
array_push($errMsg, "Gelieve een kleine biografie in te vullen.");
}else{
array_push($_SESSION['info'], $post['bio']);
}
$smarty->assign("error",$error);
$smarty->assign("errorMessage",$errMsg);
if($error){
return $smarty->fetch("pages/formulier/form1.html");
} else {
return $smarty->fetch("pages/formulier/form2.html");
}
}