Avatar billede KHHP Juniormester
23. juli 2011 - 00:21 Der er 26 kommentarer og
1 løsning

Booking formular

Hej
Jeg er igang med at programmere en booking formular til et mobildiskotek, men er stødt på et par problemer.
Det vigtigste er vel selve PHP-filen. Har komprimeret til zip her: http://dl.dropbox.com/u/36022188/booking.php.zip
Jeg skulle gerne have min formular til at sende en mail til mig hver gang folk trykker på "Send" i formularen og alle kriterier er opfyldt. Lige nu åbner den computerens malprogram og opretter en ny meddelelse med indhold struktureret sålades:
radiofelt=nr1&navn=KH&adresse=testadresse&type=test&post=1234&by=apple&dag=20&m%C3%A5ned=August&%C3%A
5r=2011&fra=17&til=02&tlf=12345678&email=kenneth2503%40gmail.com

Vil meget gerne have den til at når alle kriterier er opfyldt, sendes der en mail til mig fra robot@mitdomæne.dk, hvor alt indhold er struktureret som i selve formularen:
Navn:
Adresse;
Arrangement:
Post nr. og by:
Dato:
Tidspunkt:
Tlf.:
E-mail:

Den samme mail skal også sendes til den mailadresse der angives i formularen.
Hvis det altså kan lade sig gøre.
Avatar billede pstidsen Novice
23. juli 2011 - 00:36 #1
Det kan det sagtens. Dog skal dit webhotel understøtte PHP. Hvis det gør det skal du lige læse min guide igennem: http://www.eksperten.dk/guide/1410 og hvis du har spørgsmål, så kan jeg besvare (næsten) alt :)
Avatar billede KHHP Juniormester
23. juli 2011 - 01:30 #2
Er nu i fuld gang med at koble det hele sammen, og kan se at den PHP-fil du linker til i guiden indeholder noget verifikation, men i min formular gøres dette via javascript.
Det er vel bare at slette det stykke kode og så er alt ok?
Den e-mail adresse der skal stå i $afsendermail, skal den være oprettet i forvejen, eller klarer koden det selv?
Hvilke linjer i din kontaktformular.php må ikke slettes, af hensyn til det jeg vil opnå med at der sendes en kopi af mailen til kunden/brugeren?
Kan jeg lave et layout til mailen, så indholdet i mailen ligner resten af vores site?
Avatar billede pstidsen Novice
23. juli 2011 - 09:58 #3
Du må kun slette valideringen. Scriptet sender allerede kopimail til kunden (hvis du laver input felterne med de rigtige names på din hjemmeside).

Som standard kan du IKKE bruge html tags. Du skal bruge MIME. Det du skal bruge er:
$formularheaders = "From: <$afsendermail>".$eol;
$formularheaders .= "MIME-Version: 1.0".$eol; // fortæller at det er en MIME mail - f.eks. HTML indhold
$formularheaders .= "Content-type: text/html; charset=iso-8859-1". $eol;

$headers = "From: <$afsendermail>".$eol;
$headers .= "MIME-Version: 1.0".$eol; // fortæller at det er en MIME mail - f.eks. HTML indhold
$headers .= "Content-type: text/html; charset=iso-8859-1". $eol;


HUSK: at bruge singlequotes (') og ikke double (").
Avatar billede pstidsen Novice
23. juli 2011 - 09:59 #4
Det kan være du skal rette i $headers = "From: <$afsendermail>".$eol; og $formularheaders = "From: <$afsendermail>".$eol; :)
Avatar billede KHHP Juniormester
23. juli 2011 - 11:32 #5
Det stykke kode, skal det placeres til sidst i kontaktformular.php?
Inden jeg går videre, har jeg tilpasset det nogenlunde til det jeg gerne vil have, er det noget du vil kigge igennem for at se om jeg har gjort det rigtigt?
Her er link: http://dl.dropbox.com/u/36022188/booking.zip
Den indeholder min booking-side(booking.php), din kontaktformular.php, samt den side man videresendes til når man trykker på "Send"(complete.php)
Jeg har fortalt min booking side at den skal benytte kontaktformular.php, samt fortalt kontaktformular.php at den skal viderestille til complete.php hvis alt er OK.
Planen er så at jeg laver en automatisk redirect efter 5 sek. til forsiden, når jeg engang er færdig. Det kode der skal bruges dertil har jeg liggende  i et andet projekt, så det er bare en copy/paste og lidt redigering :)
Avatar billede pstidsen Novice
23. juli 2011 - 12:03 #6
Har lige lavet nogle småændringer. Husk at putte value på alle dine klokkeslæt og datoer. Hvis du skriver i mailen til kunden om det er tilbud eller booking, så ville det nok være en god idé at ændre deres value til noget med sigende end nr1 og nr2. Den nye version kan hentes her: http://dl.dropbox.com/u/21887805/rettet.zip
Avatar billede KHHP Juniormester
23. juli 2011 - 12:51 #7
Hvordan med tilføjelse af information om det var en forespørgsel på tilbud eller booking?
Skal jeg bare lave:
$tilbud = $_POST['tilbud']
$booking = $_POST['booking']

I variablen $oplysninger, skal jeg bare indsætte alle de variabler der skal med mailen?
Avatar billede pstidsen Novice
23. juli 2011 - 13:04 #8
Nej sådan her:
I booking.php:
Tilbud <input type="radio" name="radiofelt" value="tilbud" checked="checked">
Booking <input type="radio" name="radiofelt" value="booking">


og så i kontaktformular.php: $radiofelt = $_POST['radiofelt'] ;

"I variablen $oplysninger, skal jeg bare indsætte alle de variabler der skal med mailen?" Præcis. På samme måde i variablen kopimail.
Avatar billede KHHP Juniormester
23. juli 2011 - 13:18 #9
Er dette lavet korrekt:
/* Her samles afsenderens navn, mailadresse og besked i en enkelt variabel */
$oplysninger="<h1>$radiofelt, $navn, $adresse, $type, $post, $by, $dag, $maaned, $aar, $fra, $til, $tlf, $email, $besked</h1><br>
<b>Hello world!</b>";
.

Hvad skal dette bruges til:
<b>Hello world!</b>
Avatar billede pstidsen Novice
23. juli 2011 - 13:30 #10
Lige nu vil du bare få en mail som ser nogenlunde sådan her ud: booking, vejnavn 4, bryllup, 2860, Søborg, mandag, august, 2012 osv. osv.

Det er jo ikke meningen. Du skal jo ind og strukturere det. Du kan f.eks. skrive sådan her:

/* Her samles afsenderens navn, mailadresse og besked i en enkelt variabel */
$oplysninger="Hej $navn<br><br>

Vi har i dag modtaget følgende $radiofelt:
Arrangement: $type
Dato: den $ag $maaned
osv
osv
osv";

<b>Hello world!</b> er bare en "Hello world" test :) Det var bare for at vise at du nu kan bruge html tags til opsætning af mailen ;)
Avatar billede KHHP Juniormester
23. juli 2011 - 14:01 #11
Kom lige til at kigge ovenover koden i Dreamweaver, og opdagede at der er en syntax error i den ene linje: http://dl.dropbox.com/u/36022188/syntax_error_lin28.png
Er der noget om snakken, eller skal jeg blot se bort fra det?
Avatar billede pstidsen Novice
23. juli 2011 - 14:05 #12
Hvilken linje?
Avatar billede pstidsen Novice
23. juli 2011 - 14:12 #13
Nå ups. Ja ignorer det. Jeg har testet det og det virker :)
Avatar billede KHHP Juniormester
23. juli 2011 - 14:17 #14
Ok. det gør jeg. Jeg vender tilbage hvis jeg har flere spørgsmål, eller hvis jeg er færdig.
Når jeg en gang når så langt, vil du så kigge det igennem igen, så jeg er sikker på at alt virker.
hvordan med den robot mailadresse, skulle den oprettes manuelt?

Her er koden til den mail der sendes til mig når nogen udfører en forespørgsel:
/* Her samles afsenderens navn, mailadresse og besked i en enkelt variabel */
$oplysninger="<h1>Ny forespørgsel på $radiofelt:<br>
Kontaktperson:$navn<br>
Adresse:$adresse<br>
$post $by<br>
Arrangement:$type<br>
Dato: $dag, $maaned, $aar<br>
Tidspunkt: $fra, $til<br>
Kontaktoplysninger: $tlf $email<br>
Evt, bemærkninger: $besked</h1><br>";

Er det korrekt lavet?
Avatar billede KHHP Juniormester
23. juli 2011 - 15:19 #15
Så er der opstået et problem.
Mit javascript validering virker ikke mere.
Jeg ved ikke om det har noget med mit styresystem at gøre, men har prøvet med både Apple Safari og Google Chrome på min Mac, og hvis jeg glemmer at udfylde nogle af de påkrævede felter, skulle der komme en fejl meddelelse, men der sker intet. Har også prøvet at udfylde alle felter, også at lade være med at udfylde nogen, med samme resultat. Men browseren skulle ikke spille nogen rolle?
Skulle jeg måske prøve at indsætte valideringen i kontaktformular.php og lade den varetage det?
Her får du lige filerne igen, som de er lige pt.:
http://dl.dropbox.com/u/36022188/booking_v2.zip
Avatar billede KHHP Juniormester
25. juli 2011 - 01:21 #16
Så har jeg fået mit javascript til at virke igen, men når jeg så trykker på Send for jeg dette:
Parse error: syntax error, unexpected '=' in /home/u091457157/public_html/booking/verify.php on line 29

verify.php er din kontaktformular.php. Har bare omdøbt den, så jeg nemmere ved hvad der hører til hvad.

Her er link til booking siden på vores domæne: http://creativespectrum.realservers.info/booking/booking.php
Avatar billede pstidsen Novice
25. juli 2011 - 14:49 #17
Ja jeg kan godt se der er noget galt, men jeg er desværre ret ophængt for tiden, da min pc ikker virker ordenligt. Jeg håber at kunne hjælpe om et par dage.
Avatar billede KHHP Juniormester
25. juli 2011 - 15:05 #18
Har fundet ud af det.
Line 29 skal deles i to, så koden kommer til at se sådan ud:
$headers .= "Content-type: text/html; charset=iso-8859-1". $eol;
$headers .= "From: Kontaktformular <$afsendermail>\r\n";


Her er billede af den mail jeg fik fra siden: http://dl.dropbox.com/u/36022188/Sk%C3%A6rmbillede%202011-07-25%20kl.%2015.02.48.png

Det er nok en lille kodefejl, det er ikke noget der haster, men når din PC kører igen, håber jeg at vi kan løse problemet :)
Avatar billede pstidsen Novice
26. juli 2011 - 18:15 #19
Ja det er da hvis en lille kodefejl, men jeg tror godt jeg ved hvad der er galt :)

Smid din nyeste kode, så kigger jeg på det :)

Min computer er nemlig kommet op at køre igen (JAAAAAAAAAA!!!!!)
Avatar billede KHHP Juniormester
27. juli 2011 - 10:29 #20
Ok.

Her er nyeste kode: http://dl.dropbox.com/u/36022188/booking_v3.zip


HUSK! kontaktformular.php hedder nu verify.php. Tak.html hedder complete.php.

Har lavet om i booking siden, så det hele er sat ordentligt op, så filen booking_old.php skal du ikke tage hensyn til. Det er bare for at jeg har noget at gribe tilbage til, hvis jeg laver en fejl :)
Avatar billede pstidsen Novice
28. juli 2011 - 01:40 #21
Avatar billede KHHP Juniormester
28. juli 2011 - 11:23 #22
Åbnede det lige i Dreamweaver, og den siger at der er en fejl i linje 36.
Prøver jeg at udføre en booking, for jeg følgende fejl:
Parse error: syntax error, unexpected T_VARIABLE in /home/u091457157/public_html/booking/verify.php on line 36

hverken den mail der skal modtage indholdet i $oplysninger for besked, og heller ikke den mail der skal modtage $kopimail, modtager noget.
Avatar billede pstidsen Novice
28. juli 2011 - 15:12 #23
Jeg håber du kan få det færdige script i aften/nat.
Avatar billede pstidsen Novice
28. juli 2011 - 16:32 #24
Så virker det! http://dl.dropbox.com/u/21887805/booking.zip (skift din mail ud med min).

Jeg har bare lige smækket en sort baggrund og logoet ind på mailen til kunden. Du kan style den mere hvis du har lyst :)
Avatar billede KHHP Juniormester
28. juli 2011 - 19:03 #25
Jeg takker mange gange for hjælpen. Begge mailadresser har fået de mails de skal have og alt passer.
Nu er det kun designet i mailen jeg skal have på plads, og det kan jeg sagtens selv.

Hvis du vil være så venlige at smide et svar, så kan jeg lukke tråden.
Avatar billede pstidsen Novice
28. juli 2011 - 23:11 #26
Kom lige til at tænke at jeg bare skrev noget hurtigt i variablen emne. Dvs. at der altid står booking i emnet. Det skal du nok lige lave om til noget alá $emne="$radiofelt". Så skifter den jo alt efter om der er valgt tilbu eller booking.
Avatar billede KHHP Juniormester
29. juli 2011 - 10:35 #27
Har jeg set og rettet. tak for det :D
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
Kurser inden for grundlæggende programmering

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