[Wordpress] Contactformulier

Pagina: 1
Acties:
  • 588 views

Onderwerpen


Acties:
  • 0 Henk 'm!

  • robbinonline
  • Registratie: September 2007
  • Laatst online: 09:00
Ik ben aan de slag gegaan met een Wordpress thema met daarin een contact formulier.
Nu ben ik bezig dat formulier uit te breiden met een extra veld dat in de email komt te staan.

Normaal gesproken lukt het me prima om via html en php een contact script te verzenden alleen nu niet.
Ik mis nu het stukje body in het script en het is me ook niet helemaal duidelijk hoe de opmaak in dit geval werkt.

Dit is het formulier gedeelte:
code:
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
<form action='' method='post' id='contact-form'>
<p id='name-error' class='error'><?php esc_html_e("Dit veld is verplicht.",'HK'); ?></p>

    <dl class="clearfix">
    <dt><?php esc_html_e('Naam','HK'); ?></dt>
    <dd>
    <input type='text' name='name' class="text-file" id='name' />
    </dd>
    </dl>

    <p id='email-error' class='error'><?php esc_html_e("Dit veld is verplicht.",'HK'); ?></p>
    <dl class="clearfix">
    <dt><?php esc_html_e('E-mail','HK'); ?></dt>
    <dd>
    <input type='text' name='email' class="text-file" id='email' />
    </dd>
    </dl>

    <p id='subject-error' class='error'><?php esc_html_e("Dit veld is verplicht.",'HK'); ?></p>
    <dl class="clearfix">
    <dt><?php esc_html_e('Telefoon','HK'); ?></dt>
    <dd>
    <input type='text' name='phone' class="text-file" id='phone' />
    </dd>
    </dl>
    
    <p id='subject-error' class='error'><?php esc_html_e("Dit veld is verplicht.",'HK'); ?></p>
    <dl class="clearfix">
    <dt><?php esc_html_e('Onderwerp','HK'); ?></dt>
    <dd>
    <input type='text' name='subject' class="text-file" id='subject' />
    </dd>
    </dl>

    <p id='message-error' class='error'><?php esc_html_e("Dit veld is verplicht.",'HK'); ?></p>
    <div class="message">
    <textarea name='message' class='contact-form-content' id='message'></textarea>
    </div>

    <p id='mail-success' class='success'><?php esc_html_e("Bericht is verstuurd. Wij nemen contact met u op.",'HK'); ?></p>
    <p id='mail-fail' class='error'><?php esc_html_e("Er is iets fout gegaan. Probeert u het nog eens.",'HK'); ?></p>

    <div id='romove-submit'>
    <input type='submit' id='send-message' value='Stuur Bericht'>
    <input type="hidden" id="email_to" name="email_to" value="<?php echo $email_to; ?>"/>
    </div>
    
</form>


En in dit script word het email versturen afgehandeld

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
    //we need to get our variables first

    $email_to =   $_POST['email_to']; //the address to which the email will be sent
    $name     =   $_POST['name'];  
    $email    =   $_POST['email'];
    $subject  =   $_POST['subject'];
    $telefoon =   $_POST['phone'];
    $message  =   $_POST['message'];
    
    /*the $header variable is for the additional headers in the mail function,
     we are asigning 2 values, first one is FROM and the second one is REPLY-TO.
     That way when we want to reply the email gmail(or yahoo or hotmail...) will know 
     who are we replying to. */
    $headers  = "From: $name\r\n";
    $headers .= "Reply-To: $email\r\n";
    
    if(mail($email_to, $subject, $message, $headers)){
        echo 'sent'; // we are sending this text to the ajax request telling it that the mail is sent..      
    }else{
        echo 'failed';// ... or this one to tell it that it wasn't sent    
    }
?>


Waar kan ik nu de body van het te versturen bericht aanpassen en waar moet ik het veld 'phone' invoegen?

[ Voor 198% gewijzigd door Creepy op 23-05-2012 21:43 ]

Ga niet uit van het haalbare, maar van het denkbare


Acties:
  • 0 Henk 'm!

  • 8088
  • Registratie: December 2000
  • Niet online

8088

NaN

robbinonline schreef op woensdag 16 mei 2012 @ 16:13:
Waar kan ik nu de body van het te versturen bericht aanpassen
Overal waar je maar wilt, als je het maar voor het versturen doet. Toch?
en waar moet ik het veld 'phone' invoegen?
Je bedoelt de string $telefoon toevoegen aan de string $message? Waarom gebruik je trouwens Engelse en Nederlandse namen voor variabelen door elkaar?

Je script is overigens vatbaar voor injecties. Valideer de invoer, of gebruik een beproefde, kant-en-klare plugin voor WordPress. Of kijk eens naar PHP Mailer.

Do you seek to engage in or have you ever engaged in terrorist activities, espionage, sabotage, or genocide?


Acties:
  • 0 Henk 'm!

  • Blauw
  • Registratie: Januari 2001
  • Laatst online: 15-09 11:02

Blauw

De Schreeuw

Tip: ga kijken naar een bestaande plugin, zoals Grafityform. Bespaart je ellende :)

Acties:
  • 0 Henk 'm!

  • C0rnelis
  • Registratie: Juni 2010
  • Laatst online: 26-08 22:21
Blauw schreef op woensdag 16 mei 2012 @ 21:36:
Tip: ga kijken naar een bestaande plugin, zoals Grafityform. Bespaart je ellende :)
Alternatief dat ook formulieren kan samenstellen, al zij het minder fancy dan Gravityforms: http://wordpress.org/extend/plugins/contact-form-7/

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 17-09 21:27

Creepy

Tactical Espionage Splatterer

Dus je vraag is al minimaal van informatie voorzien, dan wordt je toch geholpen zonder dat je zelf enige vorm van inzet toont en als dank sloop je je startpost maar? Tof van je..... :/

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Dit topic is gesloten.