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:
- <form name="booking" action="verify.php" method="post">
- <table>
- <tr>
- <td>Arrangørens fulde navn:</td><td><input type="text" name="navn" /></td>
- </tr>
- <tr>
- <td>Evt. virksomhed:</td><td><input type="text" name="virksomhed" /></td>
- </tr>
- <tr><td><h1 style="text-transform: none;">Adresse</h1></td></tr>
- <tr>
- <td>Vejnavn:</td><td><input type="text" name="vej" /></td>
- </tr>
- <tr>
- <td>Post nr. og by:</td><td><input type="text" name="postby" /></td>
- </tr>
- <tr>
- <td><h1 style="text-transform: none;">Kontaktinformationer</h1></td>
- </tr>
- <tr>
- <td>Tlf:</td><td><input type="text" name="tlf" /><input type="checkbox" name="mobil" value="ja"/>Mobil</td>
- </tr>
- <tr>
- <td>E-mail:</td><td><input type="email" name="email" /></td>
- </tr>
- <tr>
- <td><h1 style="text-transform: none;">Spillested</h1></td>
- </tr>
- <tr>
- <td>Spillestedsinformationer udfyldes<br /> kun hvis arrangementet afholdes<br /> på anden adresse en arrangørens<br />egen.</td>
- </tr>
- <tr>
- <td>Spillestedets adresse:</td><td><input type="text" name="spillested" /></td>
- </tr>
- <tr>
- <td>Post nr. og by:</td><td><input type="text" name="spillepostby" /></td>
- </tr>
- </table>
- <table>
- <tr>
- <td><input type="checkbox" name="krav" value="accept" />Jeg accepterer hermed at have læst mobildiskotekets <a href="betingelser.pdf" target="_blank">betingelser</a> og at jeg kan opfylde de krav der stilles til spillestedet</td>
- </tr>
- <tr>
- <td><input type="submit" name="submit" value="Send" /><input type="reset" name="reset" value="Ryd indhold" /></td>
- </tr>
- </table>
- </form>
Filen verify.php ser således ud:
- <?php
- include '../inc/connect.php';
- //Gem indhold fra formularen
- $navn = mysql_real_escape_string($_POST['navn']);
- $virksomhed = mysql_real_escape_string($_POST['virksomhed']);
- $adresse = mysql_real_escape_string($_POST['vej']);
- $postby = mysql_real_escape_string($_POST['postby']);
- $tlf = mysql_real_escape_string($_POST['tlf']);
- $mobil = mysql_real_escape_string($_POST['mobil']);
- $mail = mysql_real_escape_string($_POST['email']);
- $spillested = mysql_real_escape_string($_POST['spillested']);
- $spillepostby = mysql_real_escape_string($_POST['spillepostby']);
- $krav = mysql_real_escape_string($_POST['krav']);
-
- //Indsæt i database
- if (isset($_POST['submit'])) {
- $tabeldata = "INSERT INTO booking('navn', 'virksomhed', 'adresse', 'postby', 'tlf', 'mobil', 'mail', 'spillested', 'spillepostby', 'krav')VALUES ('$navn','$virksomhed', '$adresse', '$postby', '$tlf', '$mobil', '$mail', '$spillested', '$spillepostby', '$krav')";
- $resultat = mysql_query($tabeldata);
- if($resultat) {
- $_SESSION['done'] = '<h1>Tak for din henvendelse</h1><p>Tak for din henvendelse. Vi har gemt din forespørgsel i vores system og du vil modtage en automatisk bekræftelse på at vi har modtaget dine data. Dette er dog ikke en bekræftelse på at vi er ledige til netop dit arrangement. Du vil indenfor 24 timer modtage endnu en mail fra os hvori vi bekræfter at have læst din henvendelse og har tjekket om datoen/datoerne er ledige. Samtidig vil vi oplyse dig om ankomsttidspunkt, således at du/I kan sørge for at vi har adgang til spillestedet. Du vil i mailen også finde andre for dig relevante informationer.</p>';
- header ('Location: done.php');
- }
- else {
- $_SESSION['done'] = '<h1>Hovsa!</h1><p>Hovsa! Der gik noget galt. Hvis det er første gang du ser denne fejl prøv venligst igen og tjek at du har udfyldt alle krævede felter, samt accepteret vores betingelser.</p><p>Er det ikke første gang du ser denne fejl, kontakt os venligst på info@creativespectrum.dk. Er det en forespørgsel på en snarlig event bedes du sende alle relevante informationer direkte til os på booking@creativespectrum.dk</p><p>Vi undskylder ulejeligheden</p>';
- header ('Location: done.php');
- }
- }
- else {
- header('Location: ../index.php?msg=ACCESS_DENIED');
-
- }
- mysql_close();
- ?>
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
Navn: Kenneth Hansen
Virksomhed:(ingen)
Adresse: Vejnavn 33
Post nr og by: 6000 Kolding
Tlf(Hvis mobil skrives det i parentesen her): (+45) 12345678
E-mail: kenneth@mitdomæne.dk
Spillested:
Adresse: Gadenavn 22
Post nr og by: 6200 Aabenraa
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.