Uitleg gevraagd over contactformulier
Ik maak gebruik van code vh onderstaande contactformulier.
Kan iemand me uitleggen wat het deel vanaf regel 98-110 precies doet?
En regel 105-107 gaat over onderwerp, kan ik dat deel verwijderen als ik een vast hardcoded onderwerp gebruik?
http://www.phphulp.nl/php/script/data-verwerking/contact-formulier/12/contactformulierphp/1419/
De mailheaders zijn niet correct.
Ik adviseer om het mail gedeelte er uit te slopen en dan gebruik te maken van phpMailer of swiftMail.
Ik heb dit niet voor niets in forum 'Beginnen met PHP' geplaatst, dus graag iets meer uitleg.
@Frank: ik gebruik niet dat hele script maar slecht delen ervan, zoals dus het deel waar mijn vraag over gaat, de veld-validatie en het deel wat bericht verstuurd. Ben eerlijk gezegt al blij dat het prima werkt ;-).
Toevoeging op 17/03/2013 16:21:07:
http://www.phphulp.nl/php/script/php-algemeen/php-email-formulier/1974/mailphp/1843/
En de headers bij dit script zijn niet nodig want hij werkt :)
Veel mailservers zullen de mail zonder headers aanzien voor spam en laten hem niet door...
Bij mij komt hij altijd aan
Jouw headers gebruikt en heb vraagje daarover, zie:
// De naam van de verzender
$naam_verzender = 'Afzender';
// Het geldige emailadres van de afzender
$email_verzender = 'emailadres_van_verzender@zijn_domein.nl';
Wat moet ik in plaats van 'Afzender' en 'emailadres_van_verzender@zijn_domein.nl' plaatsen?
Ik gebruik dit voor opstellen van het mailbericht:
$inhoud_mail .= "Naam: " . $_POST['name'] . "\n";
$inhoud_mail .= "Woonplaats: " . $_POST['woonplaats'] . "\n";
$inhoud_mail .= "E-mailadres: " . $_POST['email'] . "\n";
$inhoud_mail .= "Bericht: \n";
$inhoud_mail .= $_POST['message'] . "\n\n";
Nog iets, hoe voeg ik een vast onderwerp toe aan deze headers (zoals Bericht via website)?
Guido
Gewijzigd op 17/03/2013 16:53:50 door Guido -
// De naam van de verzender
$naam_verzender = 'Afzender';
// Het geldige emailadres van de afzender
$email_verzender = 'emailadres_van_verzender@zijn_domein.nl';
Het onderwerp is de tweede parameter van mail().
Zoals je in mijn code ziet:
Afzender = 'name'
E-mail afzender = 'email'
En wat bedoel je met 2e parameter? Nu stuurt hij bericht zonder onderwerp namelijk. Moet ik extra header toevoegen? Of valt onderwerp niet onder de headers?
Michael vd R op 17/03/2013 16:19:22:
Maak gebruik van mijn formulier :)
En de headers bij dit script zijn niet nodig want hij werkt :)
En de headers bij dit script zijn niet nodig want hij werkt :)
Maak daar aub geen gebruik van. Dat script is niet goed.
@Michael: er is al meerdere keren uitgelegd dat je, wil je op een goede manier gebruik maken van de mailfunctie van php, je headers moet gebruiken. Dat de mail bij jou wel aankomt, ondanks dat het script aan alle kanten rammelt, is meer geluk dan wijsheid.
Heb er nog een keer naar gekeken. Zag dat het formulier met een tabel is opgemaakt. Tabellen zijn daar niet voor bedoeld. Zag daarnaast inline opmaak. Daar is css voor bedacht.
Bij 'afzender' in mijn mailbox staat nu niet langer 'Mijn Site' + mijn eigen e-mailadres:
$headers = 'From: ' . $_POST['name'] . ' <' . $_POST['email'] . '>' . PHP_EOL;
Heb tevens dit toegvoegd om mijn bericht wél een onderwerp te geven:
$subject = 'Bericht via website';
http://phpwiki.santhe.nl/index.php?title=De_juiste_mailheaders
Gewijzigd op 17/03/2013 18:25:10 door Guido -
Guido vd L op 17/03/2013 18:21:32:
$headers = 'From: ' . $_POST['name'] . ' <' . $_POST['email'] . '>' . PHP_EOL;
Als deze gegevens van een bezoeker zijn dan zijn de headers niet correct.
In mijn mailbox krijg ik nu een bericht met naam en e-mailadres van afzender > lijkt mij goed toch?
Guido