Email script werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tom Stock

Tom Stock

19/12/2013 21:13:58
Quote Anchor link
Beste mensen,

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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.';
}
}

?>
 
PHP hulp

PHP hulp

03/05/2024 07:36:49
 
Erwin H

Erwin H

19/12/2013 22:24:44
Quote Anchor link
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.
 
Nick Dijkstra

Nick Dijkstra

19/12/2013 22:43:45
Quote Anchor link
en regel 24 staat een spelfout (bedricht)
 
Victor G

Victor G

20/12/2013 08:14:23
Quote Anchor link
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.


Dat is ook wat er gebeurt, hij stuurt een lege email omdat de inhoud gewoon leeg is.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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.';
    }
}

?>


Dit zou het moeten zijn, zorg dat de logica klopt.
Gewijzigd op 20/12/2013 09:39:22 door Victor G
 
Erwin H

Erwin H

20/12/2013 09:16:26
Quote Anchor link
@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.
 
Victor G

Victor G

20/12/2013 09:35:40
Quote Anchor link
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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.