Probleem met mail() functie (contact formulier)
Hij komt altijd hier in: if ( mail ($mailtowho,$sub,$body,$header)) en toont dan de prints " Helaas.." etc Iemand een idee waarom de variabelen niet gevuld worden mee gestuurd met de e-mail?
contact.html:
<form method="post" Action="aanvraag2.php">
<TABLE CELLSPACING="0" CELLPADDING="0" BORDER="0">
<TBODY>
<tr><td><font size="2" color="#004080">
<I>Voornaam:</I></td>
<td><INPUT NAME="voor" MAXLENGTH="30" ></td>
<tr><td><font size="2" color="#004080"><I>Achternaam:</I></td>
<td><INPUT NAME="naam" MAXLENGTH="30" ></td></tr>
<tr><td><font size="2" color="#004080"><I>Straat & huis nr:</I></td>
<td><INPUT NAME="stra" MAXLENGTH="40" ></td>
</tr>
<TR><td><font size="2" color="#004080"><I>Postcode & woonplaats:</I></td>
<td><INPUT NAME="post" MAXLENGTH="40" ></td></TR>
</tr>
<TR><td><font size="2" color="#004080"><I>E-mail:</I></td>
<td><INPUT NAME="mail" MAXLENGTH="40" ></td></TR></TR>
<TR><td><font size="2" color="#004080"><I>Telefoon:</I></td>
<td><INPUT NAME="tel" MAXLENGTH="30" ></td></TR>
<tr>
<td><font size="2" color="Maroon">
<I>Uw verzoek of vraag:</I><BR>
</td>
<BR>
<td><TEXTAREA name=vraa rows=3 cols=35></textarea>
</td>
</tr>
<tr>
<td> </td>
<td><INPUT TYPE="reset" VALUE="Wissen"><INPUT TYPE="submit" VALUE="Verzenden"></td>
</tr>
</table>
</form>
aanvraag2.php:
<HTML>
<BODY bgcolor=FFFFFF text="black">
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?
$mailtowho = "[email protected]";
print("<CENTER>\n");
if($mailtowho != "")
{
$header = "From: $mail";
$sub = "Bedrijfsnaam";
$body = "Voorletters: $voor \nNaam: $naam \nStraatnaam: $stra \nWoonplaats: $post \nEmail: $mail \nTelefoon thuis/mobiel: $tel \n \nHeeft u een vraag of een opmerking?: \n$vraa";
if ( mail ($mailtowho,$sub,$body,$header))
{
print("<H1>Helaas is onze database op dit moment niet beschikbaar, we hopen in enkele dagen weer online te kunnen zijn<br><br></H1>\n");
print("<H2>Voor meer informatie kunt u ons mailen naar <u>[email protected]</u>, u kunt ons ook bellen voor een afspraak op tel.nr: 06 00000000</H1>\n");
print("<p>");
}
else
{
print("<h1>Fout bij verzenden</h1>\n");
}
}
else
{
print("<h1>Fout bij verzenden</h1>\n");
print("<p></p>\n");
print("<p>en is geen adres geselecteerd</p>\n");
}
print("<p></p><p></p>\n");
print("<p></p><p></p><p></p><p></p><p></p><p></p>\n");
print("<p><font size=2></font></p>\n");
print("</BODY>\n");
print("</HTML>\n");
?>
$mailtowho = "[email protected]";
print("<CENTER>\n");
if($mailtowho != "")
{
$header = "From: $mail";
$sub = "Bedrijfsnaam";
$body = "Voorletters: $voor \nNaam: $naam \nStraatnaam: $stra \nWoonplaats: $post \nEmail: $mail \nTelefoon thuis/mobiel: $tel \n \nHeeft u een vraag of een opmerking?: \n$vraa";
if ( mail ($mailtowho,$sub,$body,$header))
{
print("<H1>Helaas is onze database op dit moment niet beschikbaar, we hopen in enkele dagen weer online te kunnen zijn<br><br></H1>\n");
print("<H2>Voor meer informatie kunt u ons mailen naar <u>[email protected]</u>, u kunt ons ook bellen voor een afspraak op tel.nr: 06 00000000</H1>\n");
print("<p>");
}
else
{
print("<h1>Fout bij verzenden</h1>\n");
}
}
else
{
print("<h1>Fout bij verzenden</h1>\n");
print("<p></p>\n");
print("<p>en is geen adres geselecteerd</p>\n");
}
print("<p></p><p></p>\n");
print("<p></p><p></p><p></p><p></p><p></p><p></p>\n");
print("<p><font size=2></font></p>\n");
print("</BODY>\n");
print("</HTML>\n");
?>
Gewijzigd op 25/02/2011 23:48:33 door MpW MpW
Je mist headers. Tip pak Swiftmailer wordt het mailen een stuk makkelijker van
DUS:
$body = "Voorletters: $_POST['voor'] \nNaam: $_POST['naam'] ... etc.
Of inderdaad swiftmailer!
$body = "Voorletters: $_POST['voor'] \nNaam: $_POST['naam'] \nStraatnaam: $_POST['stra'] \nWoonplaats: $_POST['post'] \nEmail: $_POST['mail'] \nTelefoon thuis/mobiel: $_POST['tel'] \n \nHeeft u een vraag of een opmerking?: $_POST['vraa']";
maar krijg nu de error:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/g25008/zaaknaam.nl/HTML/aanvraag2.php on line 11
Alle POST variabelen tussen " . . " zetten.
$body = "Voorletters: .$_POST['voor']. \nNaam: .$_POST['naam']. \nStraatnaam: .$_POST['stra']. \nWoonplaats: .$_POST['post']. \nEmail: .$_POST['mail']. \nTelefoon thuis/mobiel: .$_POST['tel']. \n \nHeeft u een vraag of een opmerking?: .$_POST['vraa'].";
en krijg nog:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/g25008/blabla.nl/HTML/aanvraag2.php on line 11
Lukt dus nog steeds niet...
inclusief deze " zie voorbeeld hierboven
Het is gelukt! De $_POST en quote characters toevoeging deden het hem. Bedankt voor de tips!