PHP Email Me Form

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

SMF TheCross

SMF TheCross

05/03/2014 19:53:49
Quote Anchor link
Ik heb een Email Me form gemaakt.
Nu verzend deze netjes de mail.
Waarna deze op een pagina komt met de melding:
Mail is succesvol verzonden.


De HTML:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<form method="post" action="include/emailme.php">
Uw e-mail adres:<br />
 <input name="email" type="text"><br />
 
 Onderwerp:<br />
 <input name="subject" type="text"><br />
 Bericht:<br />
 <textarea name="message" rows="15" cols="40"></textarea>
 <br /><br />
 
 <input type="submit">
 </form>





De PHP:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
 $to
= "[email protected]";
 $subject = "";
 $email = $_REQUEST['email'] ;
 $message = $_REQUEST['message'] ;
 $headers = "From: $email";
 $sent = mail($to, $subject, $message, $headers) ;
 if($sent)
 {
print "Uw mail is verzonden"; }
 else
 {print "Het is niet gelukt uw mail te verzenden"; }
 ?>



Echter, het onderwerp wordt niet mee genomen. Doe ik iets fout ?
Graag zou ik ook zo'n vertificatie code tool willen.
Dat men niet eindeloos op verzenden kan drukken.

Ook, zou ik graag willen dat de pagina een melding geeft op dezelfde pagina.
Nu word de pagina vernieuwd naar een witte pagina met daarop

Uw mail is verzonden.

Wie o Wie kan mij uit de brand helpen ?

- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Alvast bedankt!
Gewijzigd op 05/03/2014 20:03:33 door - Ariën -
 
PHP hulp

PHP hulp

28/03/2024 18:49:09
 
- SanThe -

- SanThe -

05/03/2014 20:02:53
Quote Anchor link
Het onderwerp maak je zelf leeg in je script.... Logisch dus.

http://phpwiki.santhe.nl/index.php?title=De_juiste_mailheaders
 
- Ariën  -
Beheerder

- Ariën -

05/03/2014 20:04:23
Quote Anchor link
En een verificatie-code wordt ook CAPTCHA genoemd.
 
SMF TheCross

SMF TheCross

05/03/2014 20:12:01
Quote Anchor link
Ik weet dat ik hem in de PHP leeg maak. Het is de bedoeling dat de gebruiker van het form zelf een onderwerp kiest ...
 
- SanThe -

- SanThe -

05/03/2014 20:15:37
Quote Anchor link
Dan moet je uiteraard de waarde uit de POST gebruiken. Dat doe je nou niet.
 
SMF TheCross

SMF TheCross

05/03/2014 20:17:11
Quote Anchor link
Heb je wat meer uitleg?

Zo kom ik niet verder ;-)
Gewijzigd op 05/03/2014 20:20:35 door SMF TheCross
 
- SanThe -

- SanThe -

05/03/2014 20:19:52
Quote Anchor link
<input name="subject" type="text"><br />

Komt in $_POST['subject'] te staan.
En die moet je gebruiken.
 
SMF TheCross

SMF TheCross

05/03/2014 20:21:04
Quote Anchor link
Nu heb ik het zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
$subject = $_REQUEST['subject'] ;


 Onderwerp:<br />
 <input name="subject" type="text"><br />



Dit werkt ook ...
Nu alleen die Captcha nog.
 
- Ariën  -
Beheerder

- Ariën -

05/03/2014 20:29:47
Quote Anchor link
Waarom gebruik je geen $_POST?
Verder zie ik op internet al vele captcha-scripts, waarvan re-captcha de makkelijkste is.
 
SMF TheCross

SMF TheCross

05/03/2014 20:34:03
Quote Anchor link
Waarom is POST hier beter als request ?

Ik heb namelijk geen idee :)

Zal eens even naar die re-captcha kijken.
 
- Ariën  -
Beheerder

- Ariën -

05/03/2014 20:38:15
Quote Anchor link
Dan houdt je betere controle of de input uit POST komt i.p.v. dat GET dan ook geldt.
 
SMF TheCross

SMF TheCross

05/03/2014 20:40:10
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
 $to
= "[email protected]";
 $_POST['subject']
 $email = $_REQUEST['email'] ;
 $message = $_REQUEST['message'] ;
 $headers = "From: $email";
 $sent = mail($to, $subject, $message, $headers) ;
 if($sent)
 {
print "Uw mail is verzonden"; }
 else
 {print "Het is niet gelukt uw mail te verzenden"; }
 ?>



Word het dan zo ?
 
- Ariën  -
Beheerder

- Ariën -

05/03/2014 20:42:39
Quote Anchor link
Nee, gebruik gewoon $_POST i.p.v. $_REQUEST. Beter gebruik je die direct in je mail()-functie...

En lijn 3 is onzin.
Gewijzigd op 05/03/2014 20:43:38 door - Ariën -
 
Christian k

christian k

05/03/2014 20:47:22
Quote Anchor link
Ik zou als ik jou was ook even naar email injections kijken
http://www.w3schools.com/php/php_secure_mail.asp
 
Peter  Flos

Peter Flos

05/03/2014 22:04:58
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$subject = $_POST['subject'];


Indien je deze in een database gaat zetten niet zo gebruiken, eerst beveiligen.
Gewijzigd op 05/03/2014 22:05:16 door Peter Flos
 
Milo S

Milo S

05/03/2014 22:19:42
Quote Anchor link
@ Peter Flos,
Als je de eerdere berichten leest zie je dat het niet in een database gaat, maar in een email.

Dat betekend overigens niet dat je het niet hoeft te beveiligen SMF The Cross
 
Peter K

Peter K

06/03/2014 08:05:35
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
 $to
= "[email protected]";
 $email = $_POST['email'] ;
 $headers = "From: $email";
 $sent = mail($to, $_POST['subject'], $_POST['message'], $headers) ;
 if($sent)
 {
print "Uw mail is verzonden"; }
 else
 {print "Het is niet gelukt uw mail te verzenden"; }
 ?>


Vervolgens zelf nog even een controle inbouwen op de geposte waardes.
 



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.