Webmail code met fout
Ik ben nu al 2 dagen aan het zoeken naar een fout in mijn code en op ten duur zie je door de bomen het bos gewoon niet meer, dus graag zou ik dan om een klein beetje assistentie willen vragen ;)
Waar het precies om gaat is eigenlijk dat de code iedere keer mijn hele php overslaat en dus gelijk naar de else functie gaat en de fout.html pagina opent.
Dit is de php:
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
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
<?php
$onderwerp = "Mijn eerste formulier";
$ontvanger = "[email protected]";
$reply = htmlspecialchars($_POST['email']);
if($_POST['Submit'])
{
$voornaam = htmlspecialchars($_POST['voornaam']);
$achternaam = htmlspecialchars($_POST['voornaam']);
$bericht = "het bericht is verzonden ";
if(strlen($voornaam) < 2)
{
$error .= "<p>Je hebt geen voornaam ingevuld.</p>";
}
if(strlen($achternaam) < 3)
{
$error .= "<p>Je hebt geen geldige achternaam opgegeven.</p>";
}
if(strlen($bericht) < 15)
{
$error .= "<p>Je hebt geen bericht ingevuld.</p>";
}
if (isset($error))
{
header("location:fout.html");
echo $error . "<br />";
}
else
{
mail($ontvanger,$onderwerp,$bericht,);
header("location:bedankt.html");
}
}
else {
header("location:fout.html");
}
?>
$onderwerp = "Mijn eerste formulier";
$ontvanger = "[email protected]";
$reply = htmlspecialchars($_POST['email']);
if($_POST['Submit'])
{
$voornaam = htmlspecialchars($_POST['voornaam']);
$achternaam = htmlspecialchars($_POST['voornaam']);
$bericht = "het bericht is verzonden ";
if(strlen($voornaam) < 2)
{
$error .= "<p>Je hebt geen voornaam ingevuld.</p>";
}
if(strlen($achternaam) < 3)
{
$error .= "<p>Je hebt geen geldige achternaam opgegeven.</p>";
}
if(strlen($bericht) < 15)
{
$error .= "<p>Je hebt geen bericht ingevuld.</p>";
}
if (isset($error))
{
header("location:fout.html");
echo $error . "<br />";
}
else
{
mail($ontvanger,$onderwerp,$bericht,);
header("location:bedankt.html");
}
}
else {
header("location:fout.html");
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Celine
Nee. Stel een duidelijke vraag en geef eventueel de relevante code er bij. Geen heel boekwerk zoals je nu doet.
Pas je script even aan en gebruik en tags om je code heen. Gebruik je knop om dit te doen.
SanThe.
excusses
dan krijg ik een leeg scherm kan dat kloppen?
Nee, dan heb je het vast niet helemaal goed er in gezet. Je moet dus alleen regel 2 en 3 boven in je php code te zetten.
Zo staat het nu in mijn code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
$onderwerp = "Mijn eerste formulier";
$ontvanger = "[email protected]";
$reply = htmlspecialchars($_POST['email']);
if($_POST['Submit'])
{
$voornaam = htmlspecialchars($_POST['voornaam']);
$achternaam = htmlspecialchars($_POST['voornaam']);
$bericht = "alalalala $achternaam";
if(strlen($voornaam) < 2)
[/code]
error_reporting(E_ALL);
ini_set("display_errors", 1);
$onderwerp = "Mijn eerste formulier";
$ontvanger = "[email protected]";
$reply = htmlspecialchars($_POST['email']);
if($_POST['Submit'])
{
$voornaam = htmlspecialchars($_POST['voornaam']);
$achternaam = htmlspecialchars($_POST['voornaam']);
$bericht = "alalalala $achternaam";
if(strlen($voornaam) < 2)
[/code]
Een wit scherm komt meestal door een { of een ( niet af te sluiten. Ook kunnen quotjes daar een oorzaak van zijn.
Maar met je errorreporting aan zou je geen wit scherm mogen krijgen toch? Staat het bestand wel juist op de server? Misschien is er iets fout gegaan met uploaden ofzo?
Crispijn schreef op 06.03.2008 13:07:
Maar met je errorreporting aan zou je geen wit scherm mogen krijgen toch?
Er blijven fouten die ook met error reporting op E_ALL nog steeds een wit scherm geven. Deze fouten zijn dan alleen terug te vinden in de error logs van apache. Daar staan ze dan.
ik heb de errors gekregen er stond ergens een komma die ik helemaal over het hoofd had gezien hartstikke bedankt hij doet het!!
als je error reporting goed heb staan geeft die aan:
Parse error: syntax error, unexpected ')' in /home/vhosts/thijsdamen.nl/httpdocs/accounts/gaan.php on line 33
Mail functie:
mail(to, subject,message,headers).
of
mail(to,subject,message)
de fout die je maakt is door wel de comma te plaatsen maar niet de headers.