22. juli 2006 - 16:22Der er
22 kommentarer og 1 løsning
Laves om itl funktion
HEjsa
Jeg har tidligere fået hjælp til at rette nedenstående kode til, så den kunne komme til at virke, men nu har jeg fået behov for denne på en anden måde. Lige nu tjekker koden om alle felter i en form er udfyldt. Det jeg gerne vil have den til er at blive en funktion, som jeg kan includere i alle min forms, hvor jeg selv vælger hvilke felter den skal tjekke, så jeg fx kunne skrive:
En mulighed er at lade funktionen returnere true, hvis felterene er udfyldt, og false ellers. Denne værdi kan du så tjekke på og gøre det der skal gøres:
function formtjeck($fieldsArr) { $fields = explode(",", $fieldsArr);
$glemt = array(); foreach ($fields as $field) { if (isset($_POST[$field]) && trim($_POST[$field]) != "") { // Alt er i fineste orden :^) } else { $glemt[] = "<li><font color=\"FF0000\">" . $field . "!</font></li>"; } }
if (count($glemt) > 0) { echo "Du mangler at udfylde udfølgende felter:<br>"; echo "<ul>"; echo implode("\n", $glemt); echo "</ul>";
return false; // Funktionen returnere false hvis der mangler at blive udfyldt felter ... } else return true; // ... og true hvis alt er i orden. }
if (formtjeck("navn,alder,køn")) { // Gem til databasen her } else { // Gør noget andet her ... }
Generelt synes jeg at det er en rigtig dårlig ide at svine sine bruger til med sådan noget som 'Du så skod'.
Men skal de forstås sådan at der skeal ske en ting første gang at man er på siden, og noget andet hvis man allered har været på siden og ikke har udfyldt felterne korrekt?
Det var bare lige noget jeg skrev hurtigt, hmm ved ikke lige hvorfor. Filerne ligger også bare på min computer, kun til test. Alt bliver gennemgået flere gange inden filerne lægges ud.
Håber du får en mail om dette, jeg glemte helt en lille ting i alt min iver. Kan det lade sig gøre at jeg fx skrev: if (formtjeck("username 'Brugernavn',password 'Kodeord'")) {
På en eller anden måde, ved ikke om det er delt rigtigt osv., men hvad jeg gerne vil have er at den ikke skal skrive at man mangler at udfylde username, den skal skrive Brugernavn, men stadigvæk tjekke feltet username.
Hvad ville der ske hvis jeg fx skrev en af disse: if (formtjeck("username, ;password,Kodeord")) { if (formtjeck("username,;password,Kodeord")) { if (formtjeck("username;password,Kodeord")) {
Funktionen kan jo sagtens laves om til at kunne tage højde for alle mulige variationer, men er det ikke lige så nemt bare at vedtage at du skal holde dig til et fast format?
if (formtjeck("username,Bruger navn;password,Kodeord")) {
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.