PHP contactform mail()
Ik ben voor de eerste keer echt bezig om een contactformulier te maken. Dit gaat best goed, maar ik loop nu ergens mee vast
Bij het volgende stukje code:
Quote:
// If errors < 1, mail the following variables
elseif($errors < 1){
mail($senderTo, $senderName, $senderContactperson, $senderAdres,
$senderPostcode, $senderPhone, $senderEmail, $senderWebsite,
$senderMessage, $header);
echo "";
}
?>
elseif($errors < 1){
mail($senderTo, $senderName, $senderContactperson, $senderAdres,
$senderPostcode, $senderPhone, $senderEmail, $senderWebsite,
$senderMessage, $header);
echo "";
}
?>
Op een ene van een rede wilt hij de mail niet verzenden, wat ik ook wil is dat degene voor wie dit contactformulier is een overzicht in zijn mail krijgt, met een opsomming van een aantal ingevulde velden.
Kan iemand mij helpen?
Alvast hartelijk dank voor jullie medewerking!
Groeten Casper
Toevoeging op 22/06/2011 09:16:13:
Voor de duidelijkeheid.
Wanneer ik een mail wil sturen, krijg ik de volgende fout:
Warning: mail() expects at most 5 parameters, 10 given in c:\domains\wwwroot\New\pages\send.php on line 172
Code line 172:
70. mail($senderTo, $senderName, $senderContactperson, $senderAdres,
71. $senderPostcode, $senderPhone, $senderEmail, $senderWebsite,
72. $senderMessage, $header);
Je hebt 10 parameters, terwijl er maar 5 maximaal zijn toegelaten. Lees de warning!
toch kan je beter swiftmailer of phpmailer gebruiken
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$ontvanger1 = '[email protected]';
$headers1 = 'From: [email protected]';
$onderwerp1 = 'Onderwerp email';
$bericht1 = 'Dit is een leuk bericht
Waarde veld 1: '.$_POST['veld1'].'
Waarde veld 2: '.$_POST['veld2'].'
Groeten,
Mij';
mail($ontvanger1, $onderwerp1, $bericht1, $headers1);
?>
$ontvanger1 = '[email protected]';
$headers1 = 'From: [email protected]';
$onderwerp1 = 'Onderwerp email';
$bericht1 = 'Dit is een leuk bericht
Waarde veld 1: '.$_POST['veld1'].'
Waarde veld 2: '.$_POST['veld2'].'
Groeten,
Mij';
mail($ontvanger1, $onderwerp1, $bericht1, $headers1);
?>
Gewijzigd op 22/06/2011 11:52:31 door R Persoon
Ik zou eerder naar phpMailer kijken. Hiermee is header-injection en spammen vrij spel.
En hoe kan ik een opsomming voor mijn mail maken van de ingevoerde gegevens, maar ook die niet zijn ingevoerd, zodat de de gebruiker ziet wat wie heeft ingevoerd en altijd dezelfde stramien voor zich heeft?
Als voorbeeld:
Onderwerp =
Contactpersoon =
Adres =
Gewijzigd op 22/06/2011 12:43:01 door Casper B
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
// phpMailer opbouwen volgens:
// http://phpmailer.worxware.com/index.php?pg=examplebmail
$body = "
Onderwerp = ".(($_POST['onderwerp']) ? $_POST['onderwerp'] : NULL)."
Contactpersoon = ".(($_POST['contactpersoon']) ? $_POST['contactpersoon'] : NULL)."
Adres = ".(($_POST['adres']) ? $_POST['adres'] : NULL)."
";
$mail->MsgHTML($body);
?>
// phpMailer opbouwen volgens:
// http://phpmailer.worxware.com/index.php?pg=examplebmail
$body = "
Onderwerp = ".(($_POST['onderwerp']) ? $_POST['onderwerp'] : NULL)."
Contactpersoon = ".(($_POST['contactpersoon']) ? $_POST['contactpersoon'] : NULL)."
Adres = ".(($_POST['adres']) ? $_POST['adres'] : NULL)."
";
$mail->MsgHTML($body);
?>
Gewijzigd op 22/06/2011 12:52:30 door - Ariën -
Als ik vragen mag, waar staan dan die ? (vraagtekens) dan voor?
Alvast hartelijk dank.
http://en.wikipedia.org/wiki/Ternary_operation
(Voorwaarde) ? TRUE : FALSE
(Voorwaarde) ? TRUE : FALSE
Gewijzigd op 22/06/2011 13:02:59 door - Ariën -
Bij het stukje:
$mail->MsgHTML($body);
Moet er dan nog iets gedaan worden met de variable $mail?
Want dit stukje wordt bij mij in de code iet blauw zoals hier op 't forum?
Deze werkt om een ene van een rede ook niet. :(
Gewijzigd op 22/06/2011 14:10:46 door Casper B
Zie mijn gele commentaar ;-)
wat betekend trouwens het( \n )teken?
Niet te verwarren met <br /> in HTML.
Gewijzigd op 22/06/2011 15:32:19 door - Ariën -