Contactformulier werk niet :(
Momenteel ben ik bezig met een website afmaken voor mijzelf, maar ik krijg bij de contactpagina de contactformulier niet werkend. Ik ben zelf niet zo goed met html en php dat ik het helemaal zelf heb geschreven of iets dergelijks, maar ik snap de basis beginselen wel.
bij contact.html heb ik het volgende in de body staan:
<form action="FormulierAfhandeling.php" method="post">
<p>Naam: <input name="Naam" type="text" size="30" maxlength="30"></p>
<p>Email: <input name="EmailAdres" type="text" size="30" maxlength="35"></p>
<p>Bericht: <textarea name="BeRicht" style="width: 300px; height: 200px;" maxlength="300"></textarea></p>
<p><input name="Submit" type="submit"></p>
</form>
en bij FormulierAfhandeling.php heb ik het volgende staan:
<body>
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php
$emailadres = '[email protected]';
$onderwerp = 'anargo.nl - Contactforumulier';
$afzendernaam = 'naam';
$bericht_bij_verstuurd = 'Je bericht is succesvol verstuurd';
if($_POST['verstuur']){
if(empty($_POST['naam'])){
echo "Je bent vergeten je naam in te vullen";
$terug = true;
}
elseif(empty($_POST['mailadres'])){
echo "Je bent vergeten je mailadres in te vullen";
$terug = true;
}
elseif(empty($_POST['bericht'])){
echo "Je bent vergeten een bericht in te vullen";
$terug = true;
}
if($terug){
echo "<br><br><a href='javascript:history.go(-1)'>Terug</a>";
}
else {
$header = "From: ".$afzendernaam." <".$emailadres.">\r\n";
$header .= "Reply-To: ".$_POST['mailadres']."\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/html; charset=iso-8859-1\r\n";
$header .= "X-Priority: 3\r\n";
$header .= "X-MSMail-Priority: Normal\r\n";
$header .= "X-Mailer: PHP / ".phpversion()."\r\n";
$post_bericht = nl2br($_POST['bericht']);
$bericht = "Het contactforumulier is ingevuld met het volgende bericht:<br /><br />
<table>
<tr>
<td width=150>
<b>Naam:</b>
</td>
<td>
".$_POST['naam']."
</td>
</tr>
<tr>
<td>
<b>Mailadres:</b>
</td>
<td>
<a href='mailto:".$_POST['mailadres']."'>".$_POST['mailadres']."</a>
</td>
</tr>
<tr>
<td>
<b>Website url:</b>
</td>
<td>
<a target='_blank' href='".$_POST['website']."'>".$_POST['website']."</a>
</td>
</tr>
<tr>
<td valign=top>
<b>Bericht:</b>
</td>
<td>
".$post_bericht."
</td>
</tr>
</table>";
$stuur = @mail($emailadres,$onderwerp,$bericht,$header);
if($stuur){
echo $bericht_bij_verstuurd;
}
else {
echo "Je bericht kon niet worden verzonden";
}
}
}
else {
?>
$emailadres = '[email protected]';
$onderwerp = 'anargo.nl - Contactforumulier';
$afzendernaam = 'naam';
$bericht_bij_verstuurd = 'Je bericht is succesvol verstuurd';
if($_POST['verstuur']){
if(empty($_POST['naam'])){
echo "Je bent vergeten je naam in te vullen";
$terug = true;
}
elseif(empty($_POST['mailadres'])){
echo "Je bent vergeten je mailadres in te vullen";
$terug = true;
}
elseif(empty($_POST['bericht'])){
echo "Je bent vergeten een bericht in te vullen";
$terug = true;
}
if($terug){
echo "<br><br><a href='javascript:history.go(-1)'>Terug</a>";
}
else {
$header = "From: ".$afzendernaam." <".$emailadres.">\r\n";
$header .= "Reply-To: ".$_POST['mailadres']."\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/html; charset=iso-8859-1\r\n";
$header .= "X-Priority: 3\r\n";
$header .= "X-MSMail-Priority: Normal\r\n";
$header .= "X-Mailer: PHP / ".phpversion()."\r\n";
$post_bericht = nl2br($_POST['bericht']);
$bericht = "Het contactforumulier is ingevuld met het volgende bericht:<br /><br />
<table>
<tr>
<td width=150>
<b>Naam:</b>
</td>
<td>
".$_POST['naam']."
</td>
</tr>
<tr>
<td>
<b>Mailadres:</b>
</td>
<td>
<a href='mailto:".$_POST['mailadres']."'>".$_POST['mailadres']."</a>
</td>
</tr>
<tr>
<td>
<b>Website url:</b>
</td>
<td>
<a target='_blank' href='".$_POST['website']."'>".$_POST['website']."</a>
</td>
</tr>
<tr>
<td valign=top>
<b>Bericht:</b>
</td>
<td>
".$post_bericht."
</td>
</tr>
</table>";
$stuur = @mail($emailadres,$onderwerp,$bericht,$header);
if($stuur){
echo $bericht_bij_verstuurd;
}
else {
echo "Je bericht kon niet worden verzonden";
}
}
}
else {
?>
</body>
Als je klikt op verstuur nadat je het ingelud hebt, dan verstuurt het niks en je krijgt ook geen foutmelding te zien.
Bij voorbaat dank aan diegene die willen helpen!!!!
Groeten Gor
Gewijzigd op 11/12/2012 20:43:10 door Gor Grigorian
maken en het dan opnieuw proberen
Wat je nu doet is kijken of $_POST['verstuur'] een waarde heeft, maar die variable bestaat niet dus zul je ook nooit in je code daaronder komen. Een andere fix is om $_POST['Submit'] te gebruiken (zo heet je submit knop) ipv $_POST['verstuur']
Gewijzigd op 11/12/2012 20:44:42 door Moose -
Er verandert helemaal niks, bij het klikken van de knop gebeurt er niks.
Ik gebruik dreamweaver om de bestanden aan te passen en ik heb nu een foutmelding erbij:
"there is a syntax error on line 97"
het gekke is dat op regel 97 bij mij </body> staat en verder niks.....
het wordt blijkbaar bij mij steeds vreemder
Toevoeging op 11/12/2012 20:56:06:
en EmailAdres ipv mailadres
Je opent een else { echter sluit je deze nergens, en komt gelijk daarna de </body>.
En begin eens om die @ voor je mail() weg te halen zodat je eventuele foutmeldingen niet onderdrukt. Zet ook je error_reporting op E_ALL, zodat je ziet wat fout gaat.
Gewijzigd op 12/12/2012 07:30:55 door Chris PHP
Vriendelijk bedankt voor de snelle reacties, heb het even helemaal aangepast zoals jullie het beschreven en het is opgelost. De contact-formulier doet het weer en ik ben jullie heel dankbaar!
Toevoeging op 12/12/2012 20:20:57:
Nog 1 laatste vraag:
Hoe kan ik dit topic verder sluiten?