Avatar billede weblance Nybegynder
02. november 2005 - 11:35 Der er 4 kommentarer og
1 løsning

Kan I hjælpe mig med at lave en formular m/validering?

Jeg har en formular indeholdende navn, adresse, postnr., by, telefonnr. og email.

Hvordan laver jeg en PHP-fil med formularen der KUN sender hvis alle felter er udfyldt . . . og hvis alle felter er udfyldt så kvitteres der med en "Beskeden er sendt"?

På forhånd tak!
Avatar billede alaflam Nybegynder
02. november 2005 - 11:41 #1
<?php
if ( count( $_POST ) )
{
    if ( empty ( $_POST["navn"] ) )
    {
      //du mangler at skrive dit navn
    }
    else
    {
        // gøre dit eller dat
    }
}
<form method=post>
<input type=text name=navn>
</form>
Avatar billede Slettet bruger
02. november 2005 - 11:44 #2
Hvis det skla gøres før der submittes skal du bruge javascript.
Ellers kan du sagtens lave et array med de fejlkoder der opstod.
Nedenstående er et lille eksempel, man kan så udvide og tjekke om postnummer, email og telefonnummer er valid.


<?php

    if(isset($_POST["send"])) {
       
        if(empty($_POST["name"])) {
            $error[] = "Navn skal udfyldes";
        }

        if(empty($_POST["address"])) {
            $error[] = "Adresse skal udfyldes";
        }

        if(empty($_POST["zip"])) {
            $error[] = "Postnummer skal angives";
        }
       
        if(empty($_POST["phone"])) {
            $error[] = "Telefonnummer skal opgives";
        }

        if(empty($_POST["email"])) {
            $error[] = "Husk din email";
        }
       
        if(count($error) > 0) {
            for($i=0;$i<count($error);$i++) {
                echo "$error[$i] <br>";   
            }
        } else {
            echo "Beskeden er sendt!";   
        }
       
    }

?>


<form action="" method="post">
<div>Navn: <input type="text" name="name"> </div>
<div>Adresse: <input type="text" name="address"></div>
<div>Postnr: <input type="text" name="zip"></div>
<div>tlf.: <input type="text" name="phone"></div>
<div>E-mail: <input type="text" name="email"></div>
<input type"submit" name="send" value="Send">
</form>
Avatar billede weblance Nybegynder
02. november 2005 - 11:53 #3
Ser godt ud ... hvordan sender jeg så indholdet til en email?
Avatar billede Slettet bruger
02. november 2005 - 12:36 #4
Du benytter mail() funktionen i PHP.

else {
    mail("modtager@email.dk", "emne", "indhold i mail", "From: afsender@mail.dk");
    echo "Beskeden er sendt!"; 
    }
Avatar billede Slettet bruger
02. november 2005 - 12:39 #5
dvs den bør nok se ud som følgende:

else {
            $msg = "Navn:".$_POST["name"]."\nAdresse: ".$_POST["addresse"]."\nPostnummer: ".$_POST["zip"]."\nTlf.: ".$_POST["phone"]."\nE-mail: "$_POST["email"]."\n\nFortsat god dag!";
            mail("din@email.dk", "emne", $msg, "From: afsender@email.dk");
            echo "Beskeden er sendt!"; 
}
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester