Avatar billede DonTorro Nybegynder
05. maj 2009 - 12:01 Der er 10 kommentarer og
1 løsning

Booking - hjææælp

Hej.

Jeg er igang med at lave en booking form til en lejlighed.
Vil meget gerne have så man kun kan skrive tal ved de udvalgte ting f.eks.
Postnr. : 5000
Ankomst dato: 04-07-2009 (Der skal den se sådan ud)
og samme med hjemrejsedato.

Desuden kunne jeg godt tænke mig at errors kom frem i en pop-up istedet for at den skifter over til en ny side, hvorefter man så skal trykke tilbage igen ;)..

Håber i forstår, og kan hjælpe mig.. Er stadig under uddannelse så er lidt "Newbie" ;p
Avatar billede DonTorro Nybegynder
05. maj 2009 - 12:02 #1
- Glemte lige koden ;)



<?php
if (    isset($_POST['fornavn'])
    && isset($_POST['efternavn'])
    && isset($_POST['adresse'])
    && isset($_POST['postnr-by'])
    && isset($_POST['telefonnr'])
    && isset($_POST['ankomstdato'])
    && isset($_POST['hjemrejsedato'])
   
    )

    if (empty($_POST['fornavn']))
    {
        echo "Husk at indtaste dit fornavn";
    }
    elseif (empty($_POST['efternavn']))
    {
        echo "Husk at indtaste dit efternavn" ;
    }
    elseif (empty($_POST['adresse']))
    {
        echo "Husk at indtaste din adresse" ;
    }
    elseif (empty($_POST['postnr-by']))
    {
        echo "Husk at indtaste dit Postnummer og din by" ;
    }
    elseif (empty($_POST['telefonnr']))
    {
        echo "Husk at indtaste dit telefonnummer" ;
    }
    elseif (empty($_POST['ankomstdato']))
    {
        echo "Husk at indtaste den dato du vil komme på. (Eksempel: dd-mm-yyyy)" ;
    }
    elseif (empty($_POST['hjemrejsedato']))
    {
        echo "Husk at indtaste den dato du vil tage hjem. (Eksempel: dd-mm-yyyy)" ;
    }

    else
    {
        $modtager = "Min email";
        $emne = "Mail fra en bruger";
        $besked = "Hej, du har modtaget mail fra en bruger: \n 
                            Fornavn: " . $_POST['fornavn']. "\n
                            Efternavn: " . $_POST['efternavn']. "\n
                              Adresse: " . $_POST['adresse']. "\n
                              Postnr. og by: " . $_POST['postnr-by']. "\n
                              Telefonnummer: " . $_POST['telefonnr']. "\n
                              Email: " . $_POST['email']. "\n
                              LejemAnede: " . $_POST['maaned']. "\n
                              Ankomstdato: " . $_POST['ankomstdato']. "\n
                              Hjemrejsedato: " . $_POST['hjemrejsedato']. "\n
                              Besked: " . $_POST['besked'] ;
        $header = "from:$_POST[email]. ";

        mail($modtager, $emne, $besked, $header);
        echo "Tak for din e-mailen, din forespørgsel vil blive bearbejdet hurtigst muligt.";
    }
}

?>
Avatar billede lakridserne Nybegynder
05. maj 2009 - 12:11 #2
Hvad med også at validere email-adresse osv.?

For at validere email-adressen skal du tilføje følgende kode før if(empty($_POST['fornavn'] osv.

if(eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {

  echo "Valid email address.";

}

else {

  echo "Invalid email address.";

}
Avatar billede lakridserne Nybegynder
05. maj 2009 - 12:12 #3
Spørg hvis du vil have mere info
Avatar billede dkfire Nybegynder
05. maj 2009 - 12:29 #4
Hvis du placere din php kode på samme side som din form, så vil dine fejlbeskeder ikke komme på en ny side.
Dog skal din form så heller ikke kalde en anden siden, men kun sin egen side.
Avatar billede michael_stim Ekspert
05. maj 2009 - 12:30 #5
Tips.
For at få popup på din validering, validerer du først i javascript, derefter i PHP.

For at få ret format på dato, lader du bruger vælge fra en kalender og laver tekstfeltet read-only.

Til postnummeret kan du lave en regexp der validerer om det er cifre og at der kun er fire (hvis det kun er danske, ellers kan du ikke lave validering på postnr).
Avatar billede lakridserne Nybegynder
05. maj 2009 - 14:24 #6
@michel_stim: hvorfor ikke bare bruge php's date-function til at sætte datoen ind i et skjult felt?
Avatar billede michael_stim Ekspert
05. maj 2009 - 14:31 #7
Fordi brugeren mange gange gerne vil se hvad der er valgt ;o)

Havde tænkt mig noget a lá dette:

http://www.mattkruse.com/javascript/calendarpopup/
Avatar billede DonTorro Nybegynder
05. maj 2009 - 16:22 #8
Tak for alle svarene

Lakridserne:
Tusind tak. Det kunne være nice at få på også. tester lige ;)..

Michael_stim:
Kan rigtig godt lide den til allersidst, men problem at lave i html - det bliver meget uoverskueligt.. Og er først lige startet med PHP, pga jeg skulle lave den mail.php fil..
Så hvis du har tid til at forklare hvordan man kunne gøre, ville det være fedt! :)
Avatar billede DonTorro Nybegynder
05. maj 2009 - 16:26 #9
Det med e-mailen virker perfekt ;) mange tak igen...

Så var der også det problem med pop-up.. Nogen kloge hoveder?
Hvis jeg skal sætte mine php koder ind i mit html dokument, hvordan gør man så det? Eller skal jeg til at lege med Javascript også :D? for så er jeg først død
Avatar billede DonTorro Nybegynder
06. maj 2009 - 22:14 #10
Bump - Hvis man kan sådan noget ;)
Avatar billede DonTorro Nybegynder
25. maj 2009 - 09:28 #11
har fundet ud af det.
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