12. maj 2012 - 11:09
Der er
15 kommentarer
Contact form sender ikke informationer til email
Hej :-) Jeg sad i går og arbejdede på en contact form for min hjemmeside. Dog er der et lille problem - Når man har udfyldt felterne i formen på hjemmesiden og klikker send, så modtager jeg en mail UDEN INFORMATIONER FRA DE UDFYLDTE FELTER! :-( <?php /* Subject and Email Variables */ $emailSubject = 'Forespørgsel på arrangement!'; $webMaster = 'minmail@gmail.com'; /* Gathering Data Variables */ $tilbagemelding_emailField = $_POST['tilbagemelding_email']; $tilbagemelding_telefonField = $_POST['tilbagemelding_telefon']; $navnField = $_POST['navn']; $firmaField = $_POST['firma']; $adresseField = $_POST['adresse']; $postnrField = $_POST['postnr']; $byField = $_POST['by']; $emailField = $_POST['email']; $telefonField = $_POST['telefon']; $poelsebarField = $_POST['poelsebar']; $koebenhavnervognField = $_POST['koebenhavnervogn']; $gasvognField = $_POST['gasvogn']; $elvognField = $_POST['elvogn']; $fadoelField = $_POST['fadoel']; $slushiceField = $_POST['slushice']; $popcornField = $_POST['popcorn']; $lejefraField = $_POST['lejefra']; $lejetilField = $_POST['lejetil']; $gaestField = $_POST['gaest']; $beskrivelseField = $_POST['beskrivelse']; $body = <<<EOD <br><hr><br> Tilbagemelding på email: $tilbagemelding_emailField <br> Tilbagemeldning på telefon: $tilbagemelding_telefonField <br> <br><br> Navn: $navnField <br> Firma: $firmaField <br> Adresse: $adresseField <br> Post nr.: $postnrField <br> By: $byField <br> Email: $emailField <br> Telefon: $telefonField <br> <br><br> Pølsebar: $poelsebarField <br> Københavnervogn: $koebenhavnervognField <br> Gasvogn: $gasvognField <br> Elvogn: $elvognField <br> Fadølsanlæg: $fadoelField <br> Slushice maskine: $slushiceField <br> Popcorn maskine: $popcornField <br> <br><br> Leje dato fra: $lejefraField <br> Leje dato til: $lejetilField <br> <br><br> Forventet antal gæster: $gaestField <br> Beskrivelse af arrangement: $beskrivelseField <br> EOD; $headers = "From: $emailField\r\n"; $headers .= "Content-type: text/html\r\n"; $success = mail($webMaster, $emailSubject, $body, $headers); /* Results rendered as HTML */ $theResults = <<<EOD :::::: EOD; Håber der er en der ude der kan finde fejlen, hvis der er en!
Annonceindlæg fra Infor
For det første ville jeg kalde $body for $mbody for ikke at forvirre med html <body>, men det er en mindre ting. Det fremgår ikke af din kode om du samler alle dine POST-variable i variablen $mbody. Det er måske det du gør eller (ikke gør med?) konstruktionen "<<<EOD" som jeg aldrig har set. Noget der ligner $mbody = "Navn: $navnField <br>"; $mbody .= "Firma: $firmaField <br>"; $mbody .= "Adresse: $adresseField <br>": - - - $mbody .= Beskrivelse af arrangement: $beskrivelseField <br>"; Samlingen af POST-variable kan gøres smartere, men det venter vi med.
Har jeg nu prøvet og virker ikke :-( Når jeg modtager mailen så står der kun: Navn: Firma: Adresse: osv. osv. Der er ingen af de indtastet oplysninger :(
Hvordan ser siden ud med formularen? Specifikt: står der <form ... method="post" ...> ?
I formularen hvor oplysningerne bliver tastet ind har du en stribe inputfelter i formen <INPUT name='???2'>. Er der overensstemmelse mellem disse names og dem du bruger når du trækker værdierne ud fra $_POST['???']?
I formen står der: <FORM action="contactformprocess.php" method="post" enctype="text/plain" id="booking_form">
Hvordan ser et eksempel på dine inputfelter ud?
Du skal nok lige fjerne: enctype="text/plain"
<table border="0" CELLSPACING="5" CELLPADDING="4" WIDTH="92%"> <tr> <td width="32%"> <div align="left"> <B>Jeg ønsker tilbagemelding på email: </B> </div> </td> <td width="68%"> <input name="tilbagemelding_email" type="checkbox" id="tilbagemelding_email" size="20"> </td> </tr> <tr> <td width="32%"> <div align="left"> <B>Jeg ønsker tilbagemelding på telefon: </B> </div> </td> <td width="68%"> <input name="tilbagemelding_telefon" type="checkbox" id="tilbagemelding_telefon" value="Ja" size="20"> </td> </tr> <tr> <td width="32%"> <div align="left"> <B> Fulde navn: </B> </div> </td> <td width="68%"> <input name="navn" type="text" id="navn" size="30"> </td> </tr> <tr> <td width="32%"> <div align="left"> <B> Firma: </B> </div> </td> <td width="68%"> <input name="firma" type="text" id="firma" size="30"> </td> </tr> <tr> <td width="32%"> <div align="left"> <B> Adresse: </B> </div> </td> <td width="68%"> <input name="adresse" type="text" id="adresse" size="30"> </td> </tr> <tr> <td width="32%"> <div align="left"> <B> Post nr.: </B> </div> </td> <td width="68%"> <input name="postnr" type="text" id="postnr" size="6"> </td> </tr> <tr> <td width="32%"> <div align="left"> <B> By: </B> </div> </td> <td width="68%"> <input name="by" type="text" id="by" size="30"> </td> </tr> <tr> <td width="32%"> <div align="left"> <B> Email: </B> </div> </td> <td width="68%"> <input name="email" type="text" id="email" size="30"> </td> </tr> <tr> <td width="32%"> <div align="left"> <B> Telefon: </B> </div> </td> <td width="68%"> <input name="telefon" type="text" id="telefon" size="30"> </td> </tr> <tr> <td width="32%"> <div align="left"> <B> Pølsevogn: </B> </div> </td> <td width="68%"> <label> <input type="checkbox" name="poelsebar" value="checkbox" id="poelsebar"> Pølsebar ca. 40 personer</label> <br> <label> <input type="checkbox" name="koebenhavnervogn" value="checkbox" id="koebenhavnvogn"> Københavnervogn ca. 50-60 personer</label> <br> <label> <input type="checkbox" name="gasvogn" value="checkbox" id="gasvogn"> Stor Gas-vogn 200+ personer</label> <br> <label> <input type="checkbox" name="elvogn" value="checkbox" id="elvogn"> Stor El-vogn 200+ personer</label> <br> </td> </tr> <tr> <td width="32%"> <div align="left"> <B>Fadølsanlæg: </B> </div> </td> <td width="68%"> <input name="fadoel" type="checkbox" id="fadoel" value="Ja" size="20"> </td> </tr> <tr> <td width="32%"> <div align="left"> <B>Slushice maskine: </B> </div> </td> <td width="68%"> <input name="slushice" type="checkbox" id="slushice" value="Ja" size="20"> </td> </tr> <tr> <td width="32%"> <div align="left"> <B>Popcorn maskine: </B> </div> </td> <td width="68%"> <input name="popcorn" type="checkbox" id="popcorn" value="Ja" size="20"> </td> </tr> <tr> <td width="32%"> <div align="left"> <B>Leje dato fra: </B> </div> </td> <td width="68%"> <input name="lejefra" type="text" id="lejefra" size="20"> </td> </tr> <tr> <td width="32%"> <div align="left"> <B>Leje dato til: </B> </div> </td> <td width="68%"> <input name="lejetil" type="text" id="lejetil" size="20"> </td> </tr> <tr> <td width="32%"> <div align="left"> <B> Forventet antal gæster: </B> </div> </td> <td width="68%"> <input name="gaest" type="text" id="gaest" size="20"> </td> </tr> <tr> <td width="32%"> <div align="left"> <B> Beskrivelse af arrangement: </B> </div> </td> <td width="68%"> <textarea name="beskrivelse" cols="20" rows="10"></textarea> </td> </tr> <td> <INPUT name="Submit" type="submit" value="Send"> <INPUT type="reset" name="Reset" value="Slet"> </td> </table>
Hm! Hvis den kode du lagde ud med at vise er fra "contactformprocess.php" er jeg ved at løbe ud for gode ideer. Prøv den "erikjacobsen" foreslår med at fjerne enctype.
Hvis det ikke virker bliver du vist nødt til at give os koden du arbejder med så vi kan prøve den hos os selv.
Ja, jeg prøver lige det "erikjacobsen" foreslår! :-) Er virkelig glad for Jeres hjælp!! Men hvis det ikke virker, kan en af jer så ikke give mig jeres mail, så kan jeg sende filerne der? :-)
ERIKJACOBSEN - DIT FORESLAG VIRKEDE!! TUSINDE MANGE TAK! SKRIV HVIS DU VIL HAVE POINT ;-) I andre skal også have en stor tak for jeres hjælp! Virkelig taknemlig for jeres hjælp! Hilsen Martin
Jeg samler slet ikke på point, tak.
Når, men du får dem alligevel ;-)
Vi tilbyder markedets bedste kurser inden for webudvikling