Toon posts:

[PHP]Contact-formulier werkt (nog steeds) niet.

Pagina: 1
Acties:
  • 58 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik wil via de radio buttons een emailontvanger selecteren. Het probleem is echter dat welke radio button ik ook selecteer het e-mail bericht altijd naar "Website" gestuurd wordt. Weet iemand misschien wat er fout is?


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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
<?php
if(isset($_POST['SubmitContact'])){

       //HTML- en PHP-Tags uit de invoervelden verwijderen
       $naam=strip_tags($_POST['naam']);
       $email=strip_tags($_POST['email']);
       $vraag=strip_tags($_POST['vraag']);
       $emailontvanger=$_POST['emailontvanger'];
       
       if(strlen($naam)<3){
       $error_msg="U moet uw naam nog invullen.<br>";
       }
       if(!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$",$email)){
       $error_msg.="Geef een geldig e-mailadres op.<br>";
       }
       if(strlen($vraag)<10){
       $error_msg.="Er is geen vraag gesteld.<br>";
       }
       if(isset($error_msg)){
       //Een van de velden is niet juist ingevuld
       echo "Helaas kan uw vraag om de volgende reden niet worden verwerkt:<br><br>";
       echo $error_msg;
       echo "<br>Klik op <a href=javascript:history.back(1)>vorige</a> en vul alle velden in.";
       }else{
       
       if ($emailontvanger == 1) {
               
       //Alle velden ingevuld - eMail genereren - vul als testuw eigen e-mailadres in achter $recipient
       $recipient="jd_vredenburg@versatel.nl, pornolover4life@hotmail.com";
       $subject="Iemand wil lid worden of een nieuw team aanmelden";
       $header="From: " . $email . "\r\n";
       $mail_body ="Het bericht is op " . date("d-m-Y") . " om " . date("H:i") . "uur verzonden.\n";
       $mail_body.="Het bevat de volgende inhoud:\n\n";
       $mail_body.="Naam: " . $naam . "\n";
       $mail_body.="eMail: " . $email . "\n\n";
       $mail_body.="Vraag:\n";
       $mail_body.=$vraag . "\n\n ---- Einde van de automatisch gegenereerde eMail ----";
     
       mail($recipient,$subject,$mail_body,$header);
       //Formulier verzonden - melden
       echo "Bedankt voor uw vraag.";
       }
       if ($emailontvanger == 2) {
               
       //Alle velden ingevuld - eMail genereren -
       $recipient=" pietjebel@php.com";
       $subject="Iemand wil Sponsor worden of een advertentie op onze website plaatsen.";
       $header="From: " . $email . "\r\n";
       $mail_body ="Het bericht is op " . date("d-m-Y") . " om " . date("H:i") . "uur verzonden.\n";
       $mail_body.="Het bevat de volgende inhoud:\n\n";
       $mail_body.="Naam: " . $naam . "\n";
       $mail_body.="eMail: " . $email . "\n\n";
       $mail_body.="Vraag:\n";
       $mail_body.=$vraag . "\n\n ---- Einde van de automatisch gegenereerde eMail ----";
     
       mail($recipient,$subject,$mail_body,$header);
       //Formulier verzonden - melden
       echo "Bedankt voor uw vraag!.";
               }
        if ($emailontvanger == 3) {
               
       //Alle velden ingevuld - eMail genereren - vul als testuw eigen e-mailadres in achter $recipient
       $recipient="pietjebel@php.com";
       $subject="Er is een vraag over scheidsrechters en/of spelregels.";
       $header="From: " . $email . "\r\n";
       $mail_body ="Het bericht is op " . date("d-m-Y") . " om " . date("H:i") . "uur verzonden.\n";
       $mail_body.="Het bevat de volgende inhoud:\n\n";
       $mail_body.="Naam: " . $naam . "\n";
       $mail_body.="eMail: " . $email . "\n\n";
       $mail_body.="Vraag:\n";
       $mail_body.=$vraag . "\n\n ---- Einde van de automatisch gegenereerde eMail ----";
     
       mail($recipient,$subject,$mail_body,$header);
       //Formulier verzonden - melden
       echo "Bedankt voor uw vraag.";
           }
       if ($emailontvanger == 4) {
               
       //Alle velden ingevuld - eMail genereren - vul als testuw eigen e-mailadres in achter $recipient
       $recipient="pietjebel@php.com";
       $subject="Er is een vraag en/of opmerking over de ledenadministratie.";
       $header="From: " . $email . "\r\n";
       $mail_body ="Het bericht is op " . date("d-m-Y") . " om " . date("H:i") . "uur verzonden.\n";
       $mail_body.="Het bevat de volgende inhoud:\n\n";
       $mail_body.="Naam: " . $naam . "\n";
       $mail_body.="eMail: " . $email . "\n\n";
       $mail_body.="Vraag:\n";
       $mail_body.=$vraag . "\n\n ---- Einde van de automatisch gegenereerde eMail ----";
     
       mail($recipient,$subject,$mail_body,$header);
       //Formulier verzonden - melden
       echo "Bedankt voor uw vraag.";
                       }
       if ($emailontvanger == 0) {
               
       //Alle velden ingevuld - eMail genereren - vul als testuw eigen e-mailadres in achter $recipient
       $recipient="pietjebel@php.com";
       $subject="Er is een vraag/opmerking over de Website.";
       $header="From: " . $email . "\r\n";
       $mail_body ="Het bericht is op " . date("d-m-Y") . " om " . date("H:i") . "uur verzonden.\n";
       $mail_body.="Het bevat de volgende inhoud:\n\n";
       $mail_body.="Naam: " . $naam . "\n";
       $mail_body.="eMail: " . $email . "\n\n";
       $mail_body.="Vraag:\n";
       $mail_body.=$vraag . "\n\n ---- Einde van de automatisch gegenereerde eMail ----";
     
       mail($recipient,$subject,$mail_body,$header);
       //Formulier verzonden - melden
       echo "Bedankt voor uw vraag.";
       
               }
       }
}else{
     //Formulier nog niet verzonden - Formulier weergeven
     ?>

<tr>
  <td valign="top" width="320">
  <table class="formulier" border="0" cellpadding="0" cellspacing="0">

    <tr>
      <td class="formulier" colspan="2"><h4>Contact<h/4></td>
    </tr>

    <tr>
      <td class="formulier" width="30"><form name="contact" action="<?php $_SERVER['PHP_SELF'] ?>" method="POST">
      <input type="radio" name="emailontvanger"></td>
      <td><b>Lid worden</b></td>
    </tr>
    <tr>
      <td class="formulier" width="30">
      <td class="formulier">Wil je lidworden van The Counters of een Team voor volgend seizoen aan melden selecteer dan Lid worden</td>
    </tr>
    <tr>
      <td class="formulier" width="30"><input type="radio" name="emailontvanger"></td>
      <td><b>Sponsor worden</b></td>
    </tr>
    <tr>
      <td class="formulier" width="30">
      <td class="formulier">Heeft u intresse om sponsor van The Counters te worden, of wilt u uw advertentie op onze site plaatsen selecteer dan Sponsor worden</td>
    </tr>
    <tr>
      <td class="formulier" width="30"><input type="radio" name="emailontvanger"></td>
      <td><b>Scheidsrechters- en Spelregelszaken</b></td>
    </tr>
    <tr>
      <td class="formulier" width="30">
      <td class="formulier">Wil je iets weten over Scheidsrechters en/of zijn er Spelregels waar je meer van wilt weten selecteer dan Scheidsrechters- en Spelregelszaken</td>
    </tr>
    <tr>
      <td class="formulier" width="30"><input type="radio" name="emailontvanger"></td>
      <td><b>Ledenadministratie</b></td>
    </tr>
    <tr>
      <td class="formulier" width="30">
      <td class="formulier">Heb je een vraag of opmerking over de ledenlijst, of andere zaken die betrekking hebben met de ledenadminstratie selecteer dan Ledenaministratie</td>
    </tr>
    <tr>
    <td class="formulier" width="30"><input type="radio" name="emailontvanger"></td>
      <td><b>Website</b></td>
    </tr>
    <tr>
      <td class="formulier" width="30">
      <td class="formulier">Voor vragen/opmerkingen of andere onderwerpen met betrekking tot onze website moet je het vakje Website selecteren</td>
    </tr>
    <tr>
      <td height="20"></td>
    </tr>
    <tr>
      <td class="formulier" colspan="2">Voer hier uw naam in:</td>
    <tr>
    <td class="formulier" colspan="2"><input type="text" name="naam" size="35"></td>
    </tr>
    <tr>
      <td class="formulier" colspan="2">Voer hier uw e-mail adress in:</td>
    <tr>
    <td class="formulier" colspan="2"><input type="text" name="email" size="35"></td>
    </tr>
      <td class="formulier" colspan="2">Voer hier vraag in:</td>
    <tr>
      <td class="formulier" colspan="2"><textarea name="vraag" cols="37" rows="10"></textarea></td>
    </tr>
    <tr>
      <td colspan="2" class="formulier"><input type="submit" name="SubmitContact" value="verzenden"></td></form>
    </tr>
    
    
  </table>
  </td>
</tr>
<?php
     }
?>


P.S. Is het ook mogelijk om een cc te sturen met mail( )
Een komma tussen de twee verschillende e-mail adressen werkt bij mij niet:S

Alvast bedankt.

Verwijderd

nooit een e-mail adres via een form laten invullen waar mail heen gestuurd kan worden. Dat is gegarandeerd te abusen voor spam. Verder zou ik gewoon phpmailer gebruiken.

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 11:26
Alle request-waardes worden doorgegeven als string, ook integers.
Bij ("$emailontvanger == 1)", doe je dus een string - integer vergelijking.

Probeer het eens met $emailontvanger == "1"

Overigens lijkt het me dat je hier HÉÉÉÉL simpel zelf achter kunt komen met her en der wat variabelen te echoen om te zien in welk statement je geraakt, en welke waardes je werkelijk hebt.

[ Voor 4% gewijzigd door frickY op 16-11-2005 16:12 ]


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 23-04 22:57

Janoz

Moderator Devschuur®

!litemod

@fricky: Dat maakt in php niks uit.

@beondead: Het is niet de bedoeling om maar je lap code te dumpen met 'het werkt niet'. Een beetje debuggen is redelijk makkelijk zelf te doen en hoort nu eenmaal bij het programmeren. Druk bijvoorbeeld je $_POST variabelen af zodat je kunt zien dat emailontvanger helemaal geen waarde krijgt.

Voordat je weer een topic opend lijkt het me handig dat je even de quickstart doorneemt:
P&W Beleid

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Dit topic is gesloten.