PHP expert |
|
sorry voor het ophalen van dit al bijna "dode" topic, maar zit even vast
dmv dit stukje dat Prox voor mij had geschreven wil ik meerdere fouten op het scherm laten zien..
<?php
$aErrors = array();
if (empty($_POST['title'])) {
$aErrors[] = '- You need to fill in a title';
}elseif (strlen($_POST['title']) < 3) {
$aErrors[] = '- The title must contain at least 3 characters';
}elseif (strlen($_POST['title']) > 200) {
$aErrors[] = '- The title can not contain more then 200 characters';
}
if (empty($_POST['message'])) {
$aErrors[] = '- You need to fill in a message';
}elseif (strlen($_POST['message']) < 3) {
$aErrors[] = '- Your message must contain at least 3 characters';
}elseif (strlen($_POST['title']) > 1000) {
$aErrors[] = '- Your message can not contain more then 1000 characters';
}
$iErrors = count($aErrors);
if ($iErrors > 0) {
$tpl->newBlock("errors");
for ($i = 0; $i < $iErrors; $i++) {
$tpl->assign("error", "$aErrors[$i]");
}
}else{
echo "Voert een query uit, die ik nog niet heb geschreven";
}
?>
<?php if (empty($_POST['title'])) { $aErrors[] = '- You need to fill in a title'; }elseif (strlen($_POST['title']) < 3) { $aErrors[] = '- The title must contain at least 3 characters'; }elseif (strlen($_POST['title']) > 200) { $aErrors[] = '- The title can not contain more then 200 characters'; } if (empty($_POST['message'])) { $aErrors[] = '- You need to fill in a message'; }elseif (strlen($_POST['message']) < 3) { $aErrors[] = '- Your message must contain at least 3 characters'; }elseif (strlen($_POST['title']) > 1000) { $aErrors[] = '- Your message can not contain more then 1000 characters'; } $iErrors = count($aErrors); if ($iErrors > 0) { $tpl->newBlock("errors"); for ($i = 0; $i < $iErrors; $i++) { $tpl->assign("error", "$aErrors[$i]"); } }else{ echo "Voert een query uit, die ik nog niet heb geschreven"; } ?>
maar dit stukje werkt niet goed
<?php
if ($iErrors > 0) {
$tpl->newBlock("errors");
for ($i = 0; $i < $iErrors; $i++) {
$tpl->assign("error", "$aErrors[$i]");
}
}else{
echo "Ok";
}
?>
<?php if ($iErrors > 0) { $tpl->newBlock("errors"); for ($i = 0; $i < $iErrors; $i++) { $tpl->assign("error", "$aErrors[$i]"); } }else{ } ?>
heb 2 velden title en message, maar laat ik ze beide leeg dan zie je alleen de error van dat je een bericht moet invullen en vul je die in dan pas krijg je dat title leeg is
dit zit in de tpl file, maar kan me niet voorstellen dat dit fout (maar je weet maar nooit met mij )
<!-- START BLOCK : errors -->
<table style="width: 100%; margin-left: 5px" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><b>The following error(s) did occure</b></td>
</tr>
<tr>
<td valign="top">{error}</td>
</tr>
<tr>
<td valign="top"><br /><a href="javascript:history.go(-1);">Go back</a> to fix the error.</td>
</tr>
</table>
<!-- END BLOCK : errors -->
<!-- START BLOCK : errors --> <table style="width: 100%; margin-left: 5px" cellpadding="0" cellspacing="0"> <tr> <td valign="top"><b>The following error(s) did occure</b></td> </tr> <tr> <td valign="top">{error}</td> </tr> <tr> <td valign="top"><br /><a href="javascript:history.go(-1);">Go back</a> to fix the error.</td> </tr> </table> <!-- END BLOCK : errors -->
probleem: hij zegt dus dat er maar 1 fout is terwijl er maar 1 is, btw hij pakt ook eerst het 2de if statement en dan pas de eerste, wat ik ook vreemd vond (geeft eerst aan dat message leeg is en als die niet leeg is dan pas dat title leeg is ) |