Email script werkt niet
Ik worstel al een tijdje met een probleem, namelijk mijn email script. Ik heb van alles geprobeert maar het lukt niet. als ik dit script hieronder gebruik dan verzend hij een lege email naar het opgegeven account. ook als ik iets niet heb ingevuld dan toch verzend hij het bericht.
Wat mankeert eraan?
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
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
<?php
$naam = htmlspecialchars($_POST['naam']);
$email = htmlspecialchars($_POST['email']);
$tel = htmlspecialchars($_POST['telefoonnummer']);
$onderwerp = htmlspecialchars($_POST['onderwerp']);
$bericht = htmlspecialchars($_POST['bericht']);
$message =
'Naam: '.$_POST['naam'].
'Bedrijf: '.$_POST['telefoonnummer'].
'<br>Bericht: '.$_POST['bericht'];
if(!empty($email))
{
echo 'Helaas, het email veld is verplicht maar is nu niet ingevuld!';
}
elseif(!empty($naam))
{
echo 'Helaas, het naam veld is verplicht maar is nu niet ingevuld!';
}
else{
if(!empty($bedricht))
{
echo 'Helaas, het bericht veld is verplicht maar is nu niet ingevuld!';
}
else
{
mail('[email protected]', $onderwerp, $message, 'From: '.$email);
echo 'Uw bericht is verzonden. U krijgt zo snel mogelijk antwoord.';
}
}
?>
$naam = htmlspecialchars($_POST['naam']);
$email = htmlspecialchars($_POST['email']);
$tel = htmlspecialchars($_POST['telefoonnummer']);
$onderwerp = htmlspecialchars($_POST['onderwerp']);
$bericht = htmlspecialchars($_POST['bericht']);
$message =
'Naam: '.$_POST['naam'].
'Bedrijf: '.$_POST['telefoonnummer'].
'<br>Bericht: '.$_POST['bericht'];
if(!empty($email))
{
echo 'Helaas, het email veld is verplicht maar is nu niet ingevuld!';
}
elseif(!empty($naam))
{
echo 'Helaas, het naam veld is verplicht maar is nu niet ingevuld!';
}
else{
if(!empty($bedricht))
{
echo 'Helaas, het bericht veld is verplicht maar is nu niet ingevuld!';
}
else
{
mail('[email protected]', $onderwerp, $message, 'From: '.$email);
echo 'Uw bericht is verzonden. U krijgt zo snel mogelijk antwoord.';
}
}
?>
Als $email NIET leeg is... dan zeg je dat het email veld niet is ingevuld. Uhm...?
Hetzelfde voor naam, hetzelfde voor bericht.
Zorg dus eerst dat je logica correct is.
en regel 24 staat een spelfout (bedricht)
Erwin H op 19/12/2013 22:24:44:
Om te beginnen....
Als $email NIET leeg is... dan zeg je dat het email veld niet is ingevuld. Uhm...?
Hetzelfde voor naam, hetzelfde voor bericht.
Zorg dus eerst dat je logica correct is.
Als $email NIET leeg is... dan zeg je dat het email veld niet is ingevuld. Uhm...?
Hetzelfde voor naam, hetzelfde voor bericht.
Zorg dus eerst dat je logica correct is.
Dat is ook wat er gebeurt, hij stuurt een lege email omdat de inhoud gewoon leeg is.
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
if(empty($email)) Als de email leeg is, geef een fout melding.
{
echo 'Helaas, het email veld is verplicht maar is nu niet ingevuld!';
}
elseif(empty($naam))
{
echo 'Helaas, het naam veld is verplicht maar is nu niet ingevuld!';
}
else
{
if(empty($bericht))
{
echo 'Helaas, het bericht veld is verplicht maar is nu niet ingevuld!';
}
else // Als er wel data in zit, versturen.
{
mail('[email protected]', $onderwerp, $message, 'From: '.$email);
echo 'Uw bericht is verzonden. U krijgt zo snel mogelijk antwoord.';
}
}
?>
if(empty($email)) Als de email leeg is, geef een fout melding.
{
echo 'Helaas, het email veld is verplicht maar is nu niet ingevuld!';
}
elseif(empty($naam))
{
echo 'Helaas, het naam veld is verplicht maar is nu niet ingevuld!';
}
else
{
if(empty($bericht))
{
echo 'Helaas, het bericht veld is verplicht maar is nu niet ingevuld!';
}
else // Als er wel data in zit, versturen.
{
mail('[email protected]', $onderwerp, $message, 'From: '.$email);
echo 'Uw bericht is verzonden. U krijgt zo snel mogelijk antwoord.';
}
}
?>
Dit zou het moeten zijn, zorg dat de logica klopt.
Gewijzigd op 20/12/2013 09:39:22 door Victor G
@Victor, ik weet niet of de code die je nu post een verbetering zou moeten zijn, maar dat is het in elk geval niet. Je maakt dezelfde fouten die de TS maakt, namelijk dat er een foutbericht wordt gegeven als de gegevens er WEL zijn.
Erwin H op 20/12/2013 09:16:26:
@Victor, ik weet niet of de code die je nu post een verbetering zou moeten zijn, maar dat is het in elk geval niet. Je maakt dezelfde fouten die de TS maakt, namelijk dat er een foutbericht wordt gegeven als de gegevens er WEL zijn.
Ik heb zijn code gekopieërt en comments er in gezet, voor het geval dat je het niet ziet. Maar je hebt gelijk, aangepast.
Gewijzigd op 20/12/2013 09:41:01 door Victor G