Formular med flere outputs

Tags:    php mysql email javascript

Hej
Jeg er igang med at lave en booking formular som skal gemme data i en database, men samtidig sende en mail til den udfyldte mailadresse hvori der gives en samlet kopi af de oplysninger der er sendt til mig og hvor det bekræftes at jeg har modtaget mailen.
Min formular ser således ud:
Fold kodeboks ind/udHTML kode 

Filen verify.php ser således ud:
Fold kodeboks ind/udPHP kode 

Lige nu gemmer min verify.php kun informationerne fra booking.php i databasen, men jeg vil også gerne have den til at sende en mail fra booking@mitdomæne.dk til den mailadresse som er blevet indtastet i formularen. Hvordan gør jeg det?
Jeg vil ligeledes også gerne have den til at tjekke at de påkrævede felter i formularen er udfyldt, samt at man ikke har mulighed for at skrive specialtegn, samt 1 tegn pr. felt, således at man ikke kan snyde.
Jeg har en idé om at mit tjeksystem kan laves med javascript og så få den til at skrive lige over formularen hvilke felter der er problemet.
For at give et billede af et samlet output har jeg her lavet et eksempel
Fold kodeboks ind/udKode 

Jeg er i tvivl om hvordan jeg skal lave checkboxen for betingelser, samt om tlf er mobil, således at de stemples som nej.
Jeg ved godt at det er en ordentlige smøre, så at vi løser en ting ad gangen gør ikke noget.



7 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt -2 karma
Sorter efter stemmer Sorter efter dato
Ja det passer noget meget godt.
Før du skriver "Tak for din henvendelse." skal du jo forsøge at sende emailen og kun skrive "Tak for din henvendelse." hvis det lykkedes.




http://www.phpartikler.dk/artikler/regexp.php

F.eks med telefonnummer; preg_match("/([0-9]+)/", $tlf) eller du kan gøre brug af php funktionen is_numeric.

Næsten identisk løsning kan du bruge til felterne hvori der ikke må være specieltegn; preg_match("/^[0-9a-zæøå]/", $felt), længden/antal af tegn bruger du enten strlen og/eller empty

http://php.net/manual/en/function.mail.php

Dit mail spørgsmål kan du smide ved linje 19 i din verify.php - så hvis dine værdier bliver korrekt indsat i sql tabellen, så bliver der sendt en e-mail.

EDIT: Du kan sagtens validere dine input med meddelser til brugeren igennem Javascript, så længe at du også gør det igennem i dette tilfælde PHP -> brugerside + serverside.

Håber du kan bruge mit svar konstruktivt.



Indlæg senest redigeret d. 11.04.2012 02:09 af Bruger #16936
Undskyld den lange svartid, men jeg har haft en smule travlt, så har ikke helt haft tid til at kigge på det.
Udfa hvad jeg forstår, så skal min mail-funktion placeres efter linje 19, så min verify.php ser således ud:
Fold kodeboks ind/udPHP kode 

Er det rigtig forstået?



Så det du mener er at jeg skal placere min if mail() før $_SESSION['done']
Fold kodeboks ind/udPHP kode 




Jeg ved det ikke men du mangler en { efter : if(mail($tilemail, $emne, $besked, $headers))



Så er det på plads. Så var der lige det med den checkbox hvor man accepterer at man har læst vores forretningsbetingelser og er enige i dem.
Det skal jo valideres også, men spørgsmålet er så om jeg skal lave et specielt javascript der tjekker det, men samtidig ikke "stjæler" alle de data der skulle placeres i php-scriptet for at sende mail og tilføje til database.



Om at sende e-mails kan du læse her : http://scootergrisen.dk/phpgrisen/kode_email.php



t