Beste,

Ik zit met een probleem. Ik heb in een pagina onderstaande code. Maar zodra ik iets invul wat niet correct is, komt onderaan de site de echo te staan. Ik vroeg me af of het mogelijk is, en zo ja hoe, om dit in een popupvenster weer te geven. Kan iemand mij helpen? Alvast bedankt.

if ($naam=="") {
$fout=1;
echo "Naam is een verplicht veld.\n<br>";
}
elseif(strlen($naam)<2) {
$fout=1;
echo "Naam is minimaal twee postities.\n<br>";
}
elseif(!preg_match("/^[A-Za-z0-9 \']*$/",$naam)) {
$fout=1;
echo "Naam mag alleen letters en cijfers bevatten.\n<br>";
}
Nee nee nee, niet in een popupvenster, is alleen maar irritant voor de gebruiker. Wat je wel zou kunnen doen is het in een Alert Box met javascript gooien.

Of op een nette manier, snel even een voorbeeldje gemaakt:


<?PHP

# Errors weergeven
error_reporting(E_ALL);

# Error is false
$Error = false;
# Array voor de message's
$Message = array();

# Kijken of er gepost wordt
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
	# Kijken of naam leeg is
	if(empty($_POST['voornaam']))
	{
		# Geen voornaam ingevuld
		$Message[] = 'Vul A.U.B een voornaam in.';
		# Error is true
		$Error = true;
	}
	
	# Kijken of achternaam leeg is
	if(empty($_POST['achternaam']))
	{
		# Geen achternaam ingevuld
		$Message[] = 'Vul A.U.B een achternaam in.';
		# Error is true
		$Error = true;
	}
	
	# Kijken of error false is
	if($Error == false)
	{
		# Alles is ingevuld
		$Message[] = 'Ingevoerde gegegevens: '.$_POST['voornaam'].' '.$_POST['achternaam'];
	}
}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<h3>Voorbeeld</h3>
<?PHP

# Kijken of er een message is
if(!empty($Message))
{
	# Message(s) laten zien
	foreach($Message as $Msg)
	{
		echo $Msg.'<br/>';
	}
}

?>
<form id="form1" name="form1" method="post" action="">
  Voornaam: 
  <input type="text" name="voornaam" id="voornaam" /> 
  Achternaam: 
  <input type="text" name="achternaam" id="achternaam" />
  <input type="submit" name="button" id="button" value="Submit" />
</form>
</body>
</html>


Lees de code even door, met name de oranje text.

Zoals je kan zien kan je met:

<?PHP

# Kijken of er een message is
if(!empty($Message))
{
# Message(s) laten zien
foreach($Message as $Msg)
{
echo $Msg.'<br/>';
}
}

?>

de errors weergeven, Plaats dit ergens in je code en je errors worden daar weergegeven.

Succes verder !
Michael Sandersen schreef op 01.02.2010 22:19
Super! Dankjewel!


Dat is dan €10,-
$error = true?

$error = sizeof($errors); lijkt me beter
$error = true?


Klopt.

$error = sizeof($errors); lijkt me beter


Uhhh... Waarom ??, zie het nut er niet van in.

Reageren