Avatar billede okf2000 Juniormester
05. august 2006 - 16:51 Der er 13 kommentarer og
1 løsning

Validering af tilmelds form

hej kan i hjælpe mig med at sikker at folk skiver (navn, email, adresse, Postnummer, Din fødselsdag) få den sender formen vider.

<center>
      <p align="center"><h1>Tilmelding til kluben</h1>
<form method="post" action="http://www.fordanglia.dk/cgi-bin/FormMail.pl">
<input type="hidden" name="recipient" value="webmaster@fordanglia.dk">
<input type="hidden" name="redirect" value="http://klub.fordanglia.dk/index.php?side=tak">
<input type="hidden" name="" value="Tilmeding til klub ford anglia">
        <table border="0" width="100%" height="173" cellspacing="0" cellpadding="0">
          <tr>
            <td width="39%" height="23" id="td3">Navn: <font color="ff0000">*</font></td>
            <td width="61%" height="23"><input id="in" type="text" name="navn" size="48"></td>
          </tr>
          <tr>
            <td width="39%" height="23" id="td3">Email: <font color="ff0000">*</font></td>
            <td width="61%" height="23"><input id="in" type="text" name="email" size="48"></td>
          </tr>
          <tr>
            <td width="39%" height="14" id="td3">Adresse: <font color="ff0000">*</font></td>
            <td width="61%" height="14"><input id="in" type="text" name="adresse" size="48"></td>
          </tr>
          <tr>
            <td width="39%" height="23" id="td3">Postnummer: <font color="ff0000">*</font></td>
            <td width="61%" height="23"><input id="in" type="text" name="postnr" size="48"></td>
          </tr>
          <tr>
            <td width="39%" height="23" id="td3">Din fødselsdag<font color="ff0000">*</font></td>
            <td width="61%" height="23"><input id="in" type="text" name="foedselsdag" size="48">
            </td>
          </tr>
          <tr>
            <td width="39%" height="10" id="td3">Tlf.:<font color="ff0000">*</font></td>
            <td width="61%" height="10"><input id="in" type="text" name="tlf" size="48" maxlength="12"></td>
          </tr>
          <tr>
            <td width="39%" height="19" id="td3">Ønsket bruger navn: <font color="ff0000">*</font></td>
            <td width="61%" height="19"><input id="in" type="text" name="brugernavn" size="48"></td>
          </tr>
          <tr>
            <td width="39%" height="19" id="td3">Ønsket kodeord min. 4 tegn <font color="ff0000">*</font></td>
            <td width="61%" height="19"><input id="in" type="text" name="password" size="48"></td>
          </tr>
          <tr>
            <td width="39%" height="19" id="td3">Bilens Model</td>
            <td width="61%" height="19"><input id="in" type="text" name="" size="48"></td>
          </tr>
        </table>
        <table border="0" width="100%" cellspacing="0" cellpadding="0">
          <tr>
            <td width="39%" id="td3">bilens tilstand</font></td>
            <td width="61%"><select size="1" name="bil_tilstand">
                <option>ikke gået i gang med den</option>
                <option>Under restureing</option>
                <option>På plader</option>
              </select></td>
            </td>
          </tr>
          <tr>
            <td width="39%" id="td3">Bilens model?</td>
            <td width="61%"><input id="in" type="text" name="bil_model" size="48"></td>
          </tr>
        </table>
        <table border="0" width="100%" cellspacing="0" cellpadding="0">
          <tr>
            <td width="39%" id="td3">Bilens Årgang</font></td>
            <td width="61%"><input id="in" type="text" name="bil_alder" size="48">
            </td>
          </tr>
          <tr>
            <td width="39%" id="td3">Hvordan fandt du os?<font color="ff0000">*</font></td>
            <td width="61%" id="td3"><select size="1" name="hhhoo">
                <option>Google</option>
                <option>Fordanglia.dk</option>
                <option>chart</option>
                <option>en ven</option>
                <option>Danke links</option>
                <option>rideklubbenvestervang</option>
                <option>Elektronikens paradis ooas.dk</option>
                <option>Andet</option>
              </select></td>
          </tr>
        </table>
        <p><input id="in" type="submit" value="Send" name="B1"><input id="in" type="reset" value="Nulstil" name="B2"></p>
      </form>
Avatar billede udvikler Nybegynder
05. august 2006 - 17:06 #1
<?php

if ($_POST['B1']) {

    if ($_POST['navn'] == "") {
        echo "Du skal skrive dit navn";
    }

    if ($_POST['email'] == "") {
        echo "Du skal skrive din email";
    }

    if ($_POST['adresse'] == "") {
        echo "Du skal skrive din adresse";
    }

    if ($_POST['postnr'] == "") {
        echo "Du skal skrive dit post nummer";
    }

    if ($_POST['foedselsdag'] == "") {
        echo "Du skal skrive din fødselsdagsdato";
    }else{
        header(Location: ###.php);
    }

}

?>


Det eneste du skal rette i er der hvor der står ###
Det skal du rette til navnet på den fil man bliver sendt videre til.
Avatar billede well_r Nybegynder
05. august 2006 - 17:46 #2
hmm... -aco- du mener vel:

<?php

if ($_POST['B1']) {

    if ($_POST['navn'] == "") {
        echo "Du skal skrive dit navn";
    }

    elseif ($_POST['email'] == "") {
        echo "Du skal skrive din email";
    }

    elseif ($_POST['adresse'] == "") {
        echo "Du skal skrive din adresse";
    }

    elseif ($_POST['postnr'] == "") {
        echo "Du skal skrive dit post nummer";
    }

    elseif ($_POST['foedselsdag'] == "") {
        echo "Du skal skrive din fødselsdagsdato";
    }else{
        header(Location: ###.php);
    }

}

?>
Avatar billede well_r Nybegynder
05. august 2006 - 17:47 #3
i dit tilfælde vil han blive sendt til ###.php hvis fødselsdag er opfyldt. alle andre ting er sådan set ligegyldige :)
da det er en header() vil den så give en fejl med at headeren allerede er sendt idet at den sender output ud inden HEADER()
Avatar billede udvikler Nybegynder
05. august 2006 - 18:25 #4
Præcis well_r :)
Avatar billede okf2000 Juniormester
06. august 2006 - 09:11 #5
den melder fejl i lingen
        header(Location: http://www.fordanglia.dk/cgi-bin/FormMail.pl); 

Parse error: parse error, unexpected ':' in C:\Documents and Settings\otto\Skrivebord\klub fordanglia\tilmeld.pgp on line 24
Avatar billede nielle Nybegynder
06. august 2006 - 09:13 #6
Fordi at det skal være:

header("Location: http://www.fordanglia.dk/cgi-bin/FormMail.pl");
Avatar billede nielle Nybegynder
06. august 2006 - 09:18 #7
... i øvrigt ville jeg selv bruge denne form. Så kan man se alle fejlene på en gang, i stedete for at man skal arbejde sig igennem dem een af gangen:

<?php
if ($_POST['B1']) {
    $err = false;

    if ($_POST['navn'] == "") {
        $err = true;
        echo "Du skal skrive dit navn";       
    }

    if ($_POST['email'] == "") {
        $err = true;
        echo "Du skal skrive din email";
    }

    if ($_POST['adresse'] == "") {
        $err = true;
        echo "Du skal skrive din adresse";
    }

    if ($_POST['postnr'] == "") {
        $err = true;
        echo "Du skal skrive dit post nummer";
    }

    if ($_POST['foedselsdag'] == "") {
        $err = true;
        echo "Du skal skrive din fødselsdagsdato";
    }

    if (! $err) {
        header("Location: http://www.fordanglia.dk/cgi-bin/FormMail.pl");
    }
}
?>
Avatar billede okf2000 Juniormester
06. august 2006 - 09:24 #8
nille den sender ikke en mail til mig og den sender mig ikke vider til min tak side...
<input type="hidden" name="recipient" value="webmaster@fordanglia.dk">
<input type="hidden" name="redirect" value="http://klub.fordanglia.dk/index.php?side=tak">
Avatar billede nielle Nybegynder
06. august 2006 - 09:27 #9
Hmm, du kan jo heller ikke bare sende videre til FormMail.pl på den måde. Når du redirecter på den måde så modtager den nemlig ikke de oplysninger du har submittet.
Avatar billede nielle Nybegynder
06. august 2006 - 09:28 #10
Du er nødt til at validere input på clientside for at få den der kombi til at fungere ... dvs. at du skal have fat i noget javascript i stedet for PHP.
Avatar billede okf2000 Juniormester
06. august 2006 - 09:32 #11
tak nielle.
Avatar billede nielle Nybegynder
06. august 2006 - 09:36 #12
Det *kan* godt gøres i PHP, men så skal du forbi sådan noget som denne artikel handler om:

http://www.eksperten.dk/artikler/981

Men langt det nemmeste er nu at lave det i JavaScript. Så jeg synes at du skal flytte kategori på dette spørgsmål. :^)
Avatar billede nielle Nybegynder
06. august 2006 - 09:38 #13
Alternativt kan du skippe FormMail.pl os så sende mailen direkte fra PHP. :^)
Avatar billede okf2000 Juniormester
06. august 2006 - 12:14 #14
detter spm er flytte til http://www.eksperten.dk/spm/724433
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

IT-JOB

Riskpoint A/S (Riskpoint Solutions Limited)

IT Business Analyst

Politiets Efterretningstjeneste

Configuration Manager til PET's IT-afdeling

Rambøll Management Consulting

Senior Software Engineer

Politiets Efterretningstjeneste

Teknisk IT-sikkerhedsspecialist i PET