Et svar på dit spørgsmål kunne være
<?php
function InsertUser($fnavn, $enavn, $adr, $post){
$i = 0;
$err = array();
if(empty($fnavn)){
$err[$i] = "Du har glemt at indtaste et Fornavn";
$i++;
}
if(empty($enavn)){
$err[$i] = "Du har glemt at indtaste et Efternavn";
$i++;
}
if(empty($adr)){
$err[$i] = "Du har glemt at indtaste en Adresse";
$i++;
}
if(empty($post)){
$err[$i] = "Du har glemt at indtaste et Post nr";
$i++;
}
return (empty($err) ? true : $err);
}
$result = InsertUser("Anders", "Andersen", "Æblehaven 31", "1234");
if(is_array($result)){
foreach($result as $message){ echo $message."<br />"; }
} else {
echo "Ingen fejl";
}
?>
Men jeg ville nok have gjort således
<?php
function InsertUser($fnavn, $enavn, $adr, $post){
$arg_count = func_num_args();
if($arg_count !== 4){ return false; }
$args = func_get_args();
$err = array(
"Du har glemt at indtaste et Fornavn",
"Du har glemt at indtaste et Efternavn",
"Du har glemt at indtaste en Adresse",
"Du har glemt at indtaste et Post nr"
);
for($i = 0;$i < $arg_count;$i++){
if(!empty($args[$i])){ unset($err[$i]); }
}
return (empty($err) ? true : $err);
}
$result = InsertUser("Anders", "Andersen", "Æblehaven 31", "1234");
if(!$result){ die("Funktionen blev ikke anvendt korrekt!"); }
else{
if(is_array($result)){
foreach($result as $message){ echo $message."<br />"; }
} else {
echo "Ingen fejl";
}
}
?>
Eller det ville jeg faktisk ikke. Jeg har en meget mere avanceret og stabil løsning, som jeg kan genbruge igen og igen. Men det er der jo også behov for, på større sites. ;)
Vær dog opmærksom på, at du skal være en del mere kritisk overfor hvadend brugeren indtaster. Det er ikke nok kun at tjekke om feltet er tomt som her, men det er også kun et eksempel. Eventuelle hackere kan gøre meget skade på dit site, specielt hvis denne info skal ind i en database. :)