Mail formulier defect

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

OutSystems developer

Dit ga je doen Klanten adviseren over de mogelijkheden van OutSystems; OutSystems oplossingen ontwikkelen en implementeren; Stakeholdermanagement; Kennis en expertise up to date houden en delen met het team. Hier ga je werken Onze opdrachtgever, gevestigd in regio Amsterdam, is een innovatieve dienstverlener die zich richt op grote corporates in verschillende sectoren. Doordat je bij veel verschillende klanten aan de slag zal gaan is geen enkel project hetzelfde. De organisatie kenmerkt zich door hoge mate van professionaliteit en innovatieve oplossingen. In de rol van OutSystems developer zal jij verschillende grote klanten helpen om efficiënte OutSystems oplossingen te ontwikkelen en implementeren.

Bekijk vacature »

Database Developer

Functieomschrijving Wat ga je doen? Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te voeren, maar het is ook prettig als je in de omgeving van Tilburg woont om naar het kantoor te kunnen komen. Vind jij het leuk om jouw creatieve vaardigheden te benutten om complexe systemen te ontwikkelen? Lees dan snel verder! Bedrijfsprofiel Voor wie

Bekijk vacature »

Senior Front end developer Angular

Functie Er zijn momenteel 5 SCRUM-teams waarvan drie gefocust zijn op DevOps en de huidige projecten en twee op innovatie van de platformen. Jij zal onderdeel worden van het innovatie Scrum team. De 2 multidisciplinaire innovatie teams bestaan momenteel uit 14 werknemers. Jij als senior Front end developer wordt onderdeel van onze innovatieteams. De innovatieteams houden zich bezig met het door ontwikkelen van de huidige producten en denken na over nieuwe functionaliteiten. Binnen de rol van Front end developer krijg je veel vrijheid en kan je je dag zelf indelen. Dingen waar jij je dagelijks mee bezig zult houden is

Bekijk vacature »

SQL database developer

Functie omschrijving Voor een softwarebedrijf gespecialiseerd in het ontwikkelen van logistieke software in omgeving Tilburg zijn wij op zoek naar een ervaren SQL database developer. Je gaat werken aan uitdagende, complexe projecten. Iedere klant/project betekent maatwerk in de database. Jouw werkzaamheden zullen er als volgt uit zien: Je bent verantwoordelijk voor de gehele ontwikkelstraat. Van architectuur tot ontwikkeling Je gaat je bezig houden met het ontwerpen en ontwikkelen van MS SQL server databases. Je gebruikt hiervoor T-SQL als programmeer laag. Je begeleidt als lead developer de projecten bij klanten van A – Z. Je sluit aan bij meetings met klanten,

Bekijk vacature »

Applicatieontwikkelaar ABAP

Bedrijfsomschrijving Functieomschrijving De kandidaat zal worden ingezet binnen een van de DevOps teams binnen SCI (Service Centrum Inburgering) voor het ontwerpen en bouwen in SAP ABAP van de binnen SCI gebruikte informatiesystemen. Voornaamste voorkomende werkzaamheden zijn het aanpassen van en bouwen van nieuwe programmatuur in ABAP (Objects), waarbij ook gebruikt wordt gemaakt van DDD (Domain Driven Design) en het opstellen/aanpassen van Functionele/Technische ontwerpen. Daarnaast moeten ook formulieren met SAP Smartforms worden aangepast. Verder speelt de overgang naar SAP4Hana en SAP CPI. Vanwege het veelvuldig gebruik van SAP PO is kennis hiervan een pré. Achtergrond opdracht Momenteel werken meerdere DevOps teams

Bekijk vacature »

Ervaren PHP Developer

Functieomschrijving PHP Developer met brede ervaring gezocht! Ben jij een Full Stack PHP Developer met brede ervaring die toe is aan een volgende stap? Lees dan snel verder! Voor onze eindklant in de regio Nunspeet zijn wij op zoek naar een ervaren PHP Developer die het IT Team van deze organisatie gaat versterken. Wij zoeken een enthousiaste en breed georiënteerde IT-er die er voor gaat zorgen dat deze innovatieve organisatie de volgende stap gaat maken. Om deze functie goed uit te kunnen voeren moet je communicatief goed zijn en in staat zijn om zelfstandig problemen op te lossen. Daarnaast bestaat

Bekijk vacature »

Full Stack Developer/ Applicatie Ontwikkelaar

Wat jij doet Als Applicatie Ontwikkelaar ben je onderdeel van het team die de Rimote omgeving ontwikkeld en onderhoud. Hierbij kan je denk aan de cloud, on premise en webapplicaties welke worden gebruikt in bijvoorbeeld industriële bakkerijen, biogasinstallaties en kwekerijen. Deze applicaties verzorgen (remote) de aansturing en monitoring van processen, machines en robots. Van a tot z ben je betrokken bij projecten. Dit betekent vanaf ontwerp tot oplevering. Je moet samen met jouw team een goed product neer zetten. Dit begint met het opzetten van het ontwerp. De basis van de software moet staan als een huis. Daarvoor moet jij

Bekijk vacature »

Medior/senior Front-end developer

Functie Je maakt deel uit van een DevOps Scrum team en werkt samen met back-end developers, test-engineers, interaction designers en een projectmanager. Er zijn verschillende groepen Scrum teams. Een roadmap team is jouw ‘’thuisbasis’’, daar wordt gewerkt aan doorontwikkeling van bestaande omgevingen voor een aantal klanten. Hiernaast zijn er projectteams waar nieuwe omgevingen worden gebouwd, of grote complexe wijzigingen worden doorgevoerd op bestaande omgevingen. Je kunt (afhankelijk van jouw wensen en doelen) dus afwisselend werken in beide teams. Hiernaast participeer je in het Chapter Front-end development waar gezamenlijk kennis en ervaring wordt gedeeld. Als Front-end developer is het jouw doel

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Back-end Programmeur

Functieomschrijving Heb jij kort geleden je HBO ICT in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een ambitieuze werkgever in de regio van Breda zijn wij op zoek naar een Back-end programmeur met affiniteit met C#.NET, SQL en MS Access. Samen met team bestaand uit ware ICT professionals ben je verantwoordelijk voor het bouwen van maatwerk software voor hun klanten. Belangrijk is dat je kennis of ervaring hebt van C#.NET en SQL. Je toont een flexibele en sociale houding naar klanten toe. Je denkt in nieuwe mogelijkheden & gaat graag de uitdaging aan. Bedrijfsprofiel De

Bekijk vacature »

Back-End Web Developer

Als Back-End Web Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn. Wat doe je als Back-End Web Developer bij Coolblue? Als Back-End Web Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Als backend developer weet je de weg in PHP, kan je in Typescript een microservice op zetten of ben je bereid om dit te leren. Ook Web Backend Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen PHP

Bekijk vacature »

C# .NET Developer

Dit ga je doen Als developer nieuwe gave features implementeren; Werken met technieken als C# .NET en (REST) API's webservices; Ontwikkelen van koppelingen middels API's; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken In een klein team van professionals ben je als C# .NET Developer verantwoordelijk voor het ontwikkelen van één van de applicaties voor het grootste inhouse product: een applicatie voor alles omtrent hypotheken. De programmeertaal die je

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een uitdagende werkgever in omgeving Waalwijk zijn wij op zoek naar een enthousiaste softwareontwikkelaar met kennis of ervaring met C# en SQL. In een uitdagende rol als C#.NET Developer werk je samen met een enthousiast en informeel team aan het bouwen van maatwerk software voor variërende klanten. Verder ziet jouw takenpakket er als volgt uit: Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je houdt je bezig met het ontwikkelen

Bekijk vacature »

.NET developer

Functie Jij begint als .NET ontwikkelaar in een team met 10 andere Software Engineers. De werkzaamheden zijn afwisselend, zo kan het dat jij bezig bent met volledig nieuwe features of het door ontwikkelen van bestaande sites of shops. Wij ontwikkelen web applicaties, maar ook mobiele applicaties. Daarnaast bijt jij je soms ook van in externe koppelingen met systemen zoals een ERP. Als team is er een duidelijke focus m.b.t. het waarborgen van de performance en snelheid van webshops. Ook zijn wij expert op het gebied van configuratoren. Kortom enorm veel afwisselende werkzaamheden! Ook jouw werkplek kan afwisselend zijn. Soms heb

Bekijk vacature »

C#.NET Developer

Functieomschrijving We are looking for a dutch native speaker In deze uitdagende functie ga je werken als onderdeel van het development team, in de functie van C#.NET Developer, Je gaat maatwerk software bouwen voor diverse klanten. Ook optimaliseer je bestaande software en bouw je API koppelingen. Je bent vooral met back-end development bezig. Je krijgt veel vrijheid in deze functie en je krijgt de kans om mee te denken in bedrijfsprocessen. Deels thuiswerken is geen enkel probleem! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van

Bekijk vacature »
Tim

Tim

29/10/2007 14:15:00
Quote Anchor link
Ik heb al een tijdje het onderstaande bestand mail.php voor mijn e-mail formulier. Het heeft altijd gewerkt, maar de laatste tijd werkt hij niet meer. Mailtjes komen niet aan, en het duurt een eeuwigheid eer dat het formulier eindelijk verwerkt is (verzonden, gecontroleerd).

Mijn tweede vraag is of iemand voor mij wat zou kunnen optimaliseren. Ik ben nog redelijk nieuw in het hele PHP-wereldje en durf erop te zweren dat ik bij het bewerken van deze code flink wat fouten heb gemaakt.
Zo werkt o.a. het (rood) highlighten van foute velden niet (behalve wanneer er een verboden woord is gebruikt), zou ik de verboden woorden-filter graag alleen op de velden $bericht en $onderwerp willen hebben en krijg ik het maar niet voor elkaar om de foutmelding van de woordenfilter (Woorden als: sex, drugs, viagra en dergelijke worden geblokkeerd.) bij de andere foutmeldingen in het rijtje te integreren (telefoon, naam, email etc.)

Dit is de code van mail.php. Het formulier kan ik jullie ook geven.

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
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
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
<?php
ob_start(); // Voor Cookie setten

// Config Gedeelte

$site = "website na foutmelding";
$wm_naam = "naaaam";                    // Webmaster naam
$wm_email = "[email protected]";        // Webmaster E-mail
$Anti_Spam = "5";

$fout_text = TRUE;                        // Bij Fout Text Rood maken ( TRUE voor aan, FALSE voor uit )
$fout_vakje = TRUE;                        // Bij Fout Border om Vakje Rood maken ( TRUE voor aan, FALSE voor uit )
$html = TRUE;                                // Een HTML email

// Hierna hoef je niks meer te veranderen!

$naam = $_POST['naam'];
$email = $_POST['email'];
$telefoon = $_POST['telefoon'];
$onderwerp = $_POST['onderwerp'];
$bericht = $_POST['bericht'];
$bericht_wrap = wordwrap ($bericht, 40, "\n", 1);

// IP van de verstuurder
if(getenv($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $ip = getenv($_SERVER['HTTP_X_FORWARDED_FOR']);
}
elseif(getenv($_SERVER['HTTP_CLIENT_IP'])) {
    $ip = getenv($_SERVER['HTTP_CLIENT_IP']);
}
else {
    $ip = $_SERVER['REMOTE_ADDR'];
}


$host = gethostbyaddr($ip);         // Host van verstuurder

if($html) {
// Headers
            $headers = "From: \"Contact Formulier\" <".$wm_email.">\r\n";
            $headers .= "Reply-To: \"".$naam."\" <".$email.">\n";
            $headers .= "Return-Path: Mail-Error <".$wm_email.">\n";
            $headers .= "MIME-Version: 1.0\n";
            $headers .= "Content-Transfer-Encoding: 8bit\n";
            $headers .= "Content-type: text/html; charset=iso-8859-1\n";
// Bericht zoals je die ontvangt
    $message = "
            <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
            <html>
<head>
            <style type=\"text/css\">
            body {
            border-right: 5px;
            border-top: 5px;
            border-left: 5px;
            border-bottom: 5px;
            font: 10px Verdana, Arial, Helvetica, sans-serif;
            }
            table {
            font: 10px Verdana, Arial, Helvetica, sans-serif;
            }
            table, a:link {
            color: #000;
            text-decoration: none;
            }
            table, a:visited {
            color: #000;
            text-decoration: none;
            }
            table, a:hover {
            color: #000;
            font-weight: bold;
            text-decoration: none;
            }
            </style>
</head>
            
<body>
<table>
            <tr><td>Naam:</td><td>"
.$naam."</td></tr>
            <tr><td>Email:</td><td><a href=\"mailto:"
.$email."\">".$email."</a></td></tr>
            <tr><td>Tel:</td><td>"
.$telefoon."</td></tr>
            <tr><td>&nbsp;</td><td></td>
            </tr>
            <tr>
              <td>Onderwerp:</td>
              <td>"
.$onderwerp."</td>
            </tr>
            <br />
            <tr><td>Bericht:</td><td>"
.$bericht."</td>
            </tr>
            <tr><td colspan=\"2\">&nbsp;</td><td>&nbsp;</td>
            </tr>
            <br />
            <tr><td>Datum:</td><td>"
.date("d-m-Y H:i:s")."</td></tr>
            <tr><td>IP:</td><td><a href=\"http://sunny.nic.com/cgi-bin/whois?domain="
.$ip."\">".$ip."</a></td></tr>
            <tr><td>Host:</td><td>"
.$host."</td></tr>
            </table>
            
            </body>
            </html>"
;

    
}

// Pagina na foutmelding, verstuurd o.id.
?>



<html>
<head>
<title>Comsolid</title>

<head>
<style type="text/css">
<!--
.style5 {color: #4d4d4d; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt; }
.style4 {color: red; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt; }
-->
</style>
</head>

<?
// Controleer op verboden woorden
function filterContentType($bericht){

    $verbodenWoorden = array(    "porno",
                                "viagra",
                                "sex",
                                "fuck",
                                "porn",
                                "drugs",
                                "neuken",
                                "fucking",
                                "penis",
                                "vagina",
                                "cialis",
                                "levitra",
                                "cock",
                                "horny",
                                $bericht);
                                
    foreach ($_POST as $key => $value){
        foreach ($verbodenWoorden as $keyVB => $valueVB){
            if (stristr($value, $valueVB)) {
          
                echo "<strong><font class=\"style4\">Anti spam!</font></strong><BR><BR>
                <font class=\"style5\">Woorden als: sex, drugs, viagra en dergelijke worden geblokkeerd.<BR><BR>
                <a href=\"javascript:history.back()\">Ga terug</a></font>"
;
                exit;
            }
        }

        reset($verbodenWoorden);
    }

    return;
}

filterContentType();

// Mail Checker
function checkmail($email)
{

    $email_host = explode("@", $email);
    $email_host = $email_host[1];
    $email_resolved = gethostbyname($email_host);
    
    if($email_resolved == $email_host)
    {

        $valid = FALSE;
    }

    if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$email))
    {

        $valid = TRUE;
    }

    else
    {
        $valid = FALSE;
    }

    return $valid;
}


// Functie om telefoonnummer te controleren
    function checktelefoon($telefoon)
    {

                // Verwijder eerst alle niet-nummerieke tekens
    $telefoon = ereg_replace( "[^0-9]", "", $telefoon );    
    
                // Controleer of de string bestaat uit cijfers van 0 tot 9
                // Controleer of de string bestaat uit 10 cijfers

                if(ereg ('^[0-9]{10}$', $telefoon))
        $valid = 1;
    return $valid;
    }



// kijken of het cookie bestaat, zoja dan wordt het formulier niet getoond.
if(!isset($_COOKIE['mailformulier']))
{

    // Alles Controleren Wanneer er op Verzenden wordt gedrukt
    if(isset($_POST['verzenden']))
    {

        $fout = "";
        if((empty($naam)) OR (strlen($naam) < 3) OR (eregi(">", $naam)))
        {

            $fout .= "U bent vergeten uw naam in te vullen! <BR><BR>";
            unset($naam);
            $fout_vakje_naam = "input_fout";
            $fout_text_naam = "text_fout";
        }

        if((empty($email)) OR (strlen($email) < 1) OR (eregi(">", $email)))
        {

            $fout .= "U bent vergeten uw e-mail adres in te vullen! <BR><BR>";
            unset($naam);
            $fout_vakje_naam = "input_fout";
            $fout_text_naam = "text_fout";
        }

        elseif(checkmail($email) == 0)
        {

            $fout .= "U heeft geen correct e-mail adres ingevuld! <BR><BR>";
            unset($email);
            $fout_vakje_email = "input_fout";
            $fout_text_email = "text_fout";
        }

         if((empty($telefoon)) OR (strlen($telefoon) < 1) OR (eregi(">", $telefoon)))
        {

            $fout .= "U bent vergeten uw telefoonnummer in te vullen! <BR><BR>";
            unset($email);
            $fout_vakje_telefoon = "input_fout";
            $fout_text_telefoon = "text_fout";
        }

       elseif(checktelefoon($telefoon) == 0)
        {

            $fout .= "U heeft geen correct telefoonnummer ingevuld! <BR><BR>";
            unset($telefoon);
            $fout_vakje_telefoon = "input_fout";
            $fout_text_telefoon = "text_fout";
        }

        if((empty($onderwerp)) OR (strlen($onderwerp) < 3) OR (eregi(">", $onderwerp)) )
        {

            $fout .= "U bent vergeten een onderwerp in te vullen! <BR><BR>";
            unset($onderwerp);
            $fout_vakje_onderwerp = "input_fout";
            $fout_text_onderwerp = "text_fout";
        }

        if(empty($bericht))
        {

            $fout .= "U bent vergeten een bericht in te vullen! <BR><BR>";
            unset($bericht);
            $fout_vakje_bericht = "input_fout";
            $fout_text_bericht = "text_fout";
        }

        elseif(strlen($bericht) < 6)
        {

            $fout .= "Uw bericht is te kort! <BR>";
            $fout_vakje_bericht = "input_fout";
            $fout_text_bericht = "text_fout";
        }

        if(!$fout_text)
        {

            unset($fout_text_naam);
            unset($fout_text_email);
            unset($fout_text_onderwerp);
            unset($fout_text_bericht);
        }

        if(!$fout_vakje)
        {

            unset($fout_vakje_naam);
            unset($fout_vakje_email);
            unset($fout_vakje_onderwerp);
            unset($fout_vakje_bericht);
        }

        if(!empty($fout))
        {

        echo "<font class=\"style4\"><strong>Foutje...</strong></font><font class=\"style5\"><BR><BR>$fout</font>"; // Weergeven van de fout(en) ?>

</p>
  </blockquote>
      
      <p align="left" class="style5"><a href="javascript:history.back()">
        Ga terug</a>
      
        </p>
</body></html>  

<?
        }
        else
        {
        mail($wm_email,$onderwerp,$message,$headers);
  
        // Bericht als mail succesvol is verzonden
?>


<html>
<head>
<style type="text/css">
<!--
.style5 {color: #4d4d4d; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt; }
-->
</style>
</head>

<body>
<p align="left" class="style5"><strong>Uw mail is verzonden!</strong><br>
  <br>
  Bedankt voor uw e-mail! Wij nemen, indien nodig, zo spoedig mogelijk contact met u op.</p>
</body>
</html>

<?

        // cookie zetten tegen spam
        setcookie("mailformulier",1,time()+($Anti_Spam*60));

        // formulier wordt niet weer getoond
        $Formulier = FALSE;

        header("refresh:6;url=".$site."");
        }
    }
}

else {
    $Formulier = FALSE;
    ?>

<html>
<head>
<style type="text/css">
<!--
.style3 {color: #136bcc; font-family: Verdana, Arial, Helvetica, sans-serif; }
.style5 {color: #4d4d4d; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt; }
-->
</style>
</head>

<body>
<p align="left" class="style5"><strong>Spam beveiliging!</strong></p>
<p align="left" class="style5">U kunt maar eens in de 5 minuten een e-mail versturen om spam-berichten te voorkomen. <br><br>
</p>
<p align="left" class="style5"><a href="javascript:history.back()">
        Ga terug</a>
      
        </p>
</body>
</html>


    <?
    header("refresh:6;url=".$site."");
}


if(!isset($Formulier))
{

?>


<?
}
?>


Alvast bedankt!!!
Tim
 
PHP hulp

PHP hulp

27/04/2024 19:59:47
 
- SanThe -

- SanThe -

29/10/2007 14:22:00
Quote Anchor link
$naam = $_POST['naam'];
Dit is zinloos. Kost alleen extra geheugen.

Later ga de $_POST door je filter halen maar $naam blijft dus ongefilterd.
 
Tim

Tim

29/10/2007 15:06:00
Quote Anchor link
Maar is het dan niet zo dat de controle van het vakje naam in zijn geheel niet meer werkt? Er zit namelijk ook een andere controle op het vakje naam. Of hij leeg is en een minimum aantal karakters heeft.
 
- SanThe -

- SanThe -

29/10/2007 15:26:00
Quote Anchor link
Jawel, maar de 'scheldwoorden' worden er niet uitgehaald.

Op regel 36 en 75 wordt ie al gebruikt en de check gebeurt pas later.
 
Tim

Tim

29/10/2007 16:02:00
Quote Anchor link
Ik heb het even geprobeerd, alleen krijg ik nu altijd de melding dat er geen naam ingevuld is, ook wanneer dit wel is gebeurt.

Ik heb ook geprobeerd wat er gebeurt als ik wat verboden woorden invul in het naam-veld, maar deze herkent hij nog steeds.
 
Roderik Roderik

Roderik Roderik

29/10/2007 16:35:00
Quote Anchor link
krijg je ook een of andere php foutmelding.
Zo ja? welke
 
Tim

Tim

29/10/2007 16:44:00
Quote Anchor link
Nee, die krijg ik niet. Geen enkel.
Ik ben er zojuist wel achter gekomen dat het probleem van niet aankomende mailtjes aan mijn host te verwijten was.

Nu zit ik alleen nog met de overige vragen.
 
Tim

Tim

30/10/2007 15:34:00
Quote Anchor link
Inmiddels is het één en ander opgelost, maar zit ik nog steeds met één probleempje.

De woorden-filter, wil ik net als de naam, e-mail, telefoon, onderwerp en bericht controle een foutmelding laten geven in datzelfde rijtje.

Dit is contact.php
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
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
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
<?
ob_start(); // Voor Cookie setten

// Headers

header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

// Config
$site = "www,kujsksdjf,com";    
$wm_naam = "lkugfdkgu";                
$wm_email = "[email protected]";        
$Anti_Spam = "5";                    
$fout_text = FALSE;                    // TRUE aan  FALSE uit )
$fout_vakje = TRUE;                    // TRUE aan  FALSE uit )
$html = TRUE;                        // HTML mail


$ip = $_SERVER['REMOTE_ADDR'];        // IP verstuurder
$host = gethostbyaddr($ip);         // Host verstuurder

// email controle

function checkmail($email)
{

    $email_host = explode("@", $email);
    $email_host = $email_host[1];
    $email_resolved = gethostbyname($email_host);
    
    if($email_resolved == $email_host)
    {

        $valid = FALSE;
    }

    if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$email))
    {

        $valid = TRUE;
    }

    else
    {
        $valid = FALSE;
    }

    return $valid;
}


?>



<html>
<head>
<title>Comsolid</title>

<head>
<style type="text/css">
<!--
.style5 {color: #4d4d4d; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt; }
.style4 {color: red; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 8pt; }
-->
</style>
</head>
<p align="justify" class="style5"><strong>blablabalballab </strong><br>
  <br>
blablabalbalablabalablablablalaba</p>

<?

// telefoonnummer controle
    function checktelefoon($telefoon)
    {

                // Verwijder eerst alle niet-nummerieke tekens
    $telefoon = ereg_replace( "[^0-9]", "", $telefoon );    
    
                // Controleer of de string bestaat uit cijfers van 0 tot 9
                // Controleer of de string bestaat uit 10 cijfers

                if(ereg ('^[0-9]{10}$', $telefoon))
        $valid = 1;
    return $valid;
    }
    
    

// kijken of het cookie bestaat, zoja dan wordt het formulier niet getoond.
if(!isset($_COOKIE['mailformulier']))
{

    if(isset($_POST['wis']))
    {

        foreach ($_POST as $key => $value)
        {

            unset($value);
        }

        header("Location: ".$_SERVER['PHP_SELF']."");
    }

    // Alles Controleren Wanneer er op Verzenden wordt gedrukt
    if(isset($_POST['verzenden']))
    {
        
        $naam = trim($_POST['naam']);
        $email = trim($_POST['email']);
        $telefoon = trim($_POST['telefoon']);
        $onderwerp = trim($_POST['onderwerp']);
        $bericht = trim($_POST['bericht']);
        $fout = "";

if($html) {
// Headers
            $headers = "From: \"Contact Formulier\" <".$wm_email.">\r\n";
            $headers .= "Reply-To: \"".$naam."\" <".$email.">\n";
            $headers .= "Return-Path: Mail-Error <".$wm_email.">\n";
            $headers .= "MIME-Version: 1.0\n";
            $headers .= "Content-Transfer-Encoding: 8bit\n";
            $headers .= "Content-type: text/html; charset=iso-8859-1\n";
// Bericht zoals je die ontvangt
    $message = "
            <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
            <html>
<head>
            <style type=\"text/css\">
            body {
            border-right: 5px;
            border-top: 5px;
            border-left: 5px;
            border-bottom: 5px;
            font: 10px Verdana, Arial, Helvetica, sans-serif;
            }
            table {
            font: 10px Verdana, Arial, Helvetica, sans-serif;
            }
            table, a:link {
            color: #000;
            text-decoration: none;
            }
            table, a:visited {
            color: #000;
            text-decoration: none;
            }
            table, a:hover {
            color: #000;
            font-weight: bold;
            text-decoration: none;
            }
            </style>
</head>
            
<body>
<table>
            <tr><td>Naam:</td><td>"
.$naam."</td></tr>
            <tr><td>Email:</td><td><a href=\"mailto:"
.$email."\">".$email."</a></td></tr>
            <tr><td>Tel:</td><td>"
.$telefoon."</td></tr>
            <tr><td>&nbsp;</td><td></td>
            </tr>
            <tr>
              <td>Onderwerp:</td>
              <td>"
.$onderwerp."</td>
            </tr>
            <br />
            <tr><td>Bericht:</td><td>"
.$bericht."</td>
            </tr>
            <tr><td colspan=\"2\">&nbsp;</td><td>&nbsp;</td>
            </tr>
            <br />
            <tr><td>Datum:</td><td>"
.date("d-m-Y H:i:s")."</td></tr>
            <tr><td>IP:</td><td><a href=\"http://sunny.nic.com/cgi-bin/whois?domain="
.$ip."\">".$ip."</a></td></tr>
            <tr><td>Host:</td><td>"
.$host."</td></tr>
            </table>
            
            </body>
            </html>"
;
            
        }

        else
        {
            $bericht_wrap = wordwrap ($bericht, 40, "\n", 1);
            // Headers
            $headers = "From: \"Contact Formulier\" <".$wm_naam.">\n";
            $headers .= "MIME-Version: 1.0\n";
            $headers .= "Content-type: text/plain; charset='iso-8859-1'\n";
        
            // Bericht
            $message = "Naam: ".$naam."        \n";
            $message .= "E-mail: ".$email."     \n";
            $message .= "Bericht:\n".$bericht_wrap."     \n ";
            $message .= "               \n ";
            $message .= "Datum: ".date("d-m-Y H:i:s")." \n";
            $message .= "------------------------------------------------------- \n ";
            $message .= "IP: ".$ip."                    \n ";
            $message .= "Host: ".$host."                \n ";
      
        }

if((empty($naam)) OR (strlen($naam) < 3) OR (eregi(">", $naam)))
        {

            $fout .= "Geen naam! <BR>";
            unset($naam);
            $fout_vakje_naam = "input_fout";
            $fout_text_naam = "text_fout";
        }

        if((empty($email)) OR (strlen($email) < 1) OR (eregi(">", $email)))
        {

            $fout .= "Geen e-mail! <BR>";
            unset($email);
            $fout_vakje_email = "input_fout";
            $fout_text_email = "text_fout";
        }

        elseif(checkmail($email) == 0)
        {

            $fout .= "Fout e-mail! <BR>";
            unset($email);
            $fout_vakje_email = "input_fout";
            $fout_text_email = "text_fout";
        }

         if((empty($telefoon)) OR (strlen($telefoon) < 1) OR (eregi(">", $telefoon)))
        {

            $fout .= "Geen telefoonnummer! <BR>";
            unset($telefoon);
            $fout_vakje_telefoon = "input_fout";
            $fout_text_telefoon = "text_fout";
        }

       elseif(checktelefoon($telefoon) == 0)
        {

            $fout .= "Fout telefoonnummer! <BR>";
            unset($telefoon);
            $fout_vakje_telefoon = "input_fout";
            $fout_text_telefoon = "text_fout";
        }

        if((empty($onderwerp)) OR (strlen($onderwerp) < 3) OR (eregi(">", $onderwerp)) )
        {

            $fout .= "Geen onderwerp! <BR>";
            unset($onderwerp);
            $fout_vakje_onderwerp = "input_fout";
            $fout_text_onderwerp = "text_fout";
        }

        if(empty($bericht))
        {

            $fout .= "Geen bericht! <BR>";
            unset($bericht);
            $fout_vakje_bericht = "input_fout";
            $fout_text_bericht = "text_fout";
        }

        elseif(strlen($bericht) < 6)
        {

            $fout .= "Te kort bericht! <BR>";
            $fout_vakje_bericht = "input_fout";
            $fout_text_bericht = "text_fout";
        }

        if(!$fout_text)
        {

            unset($fout_text_naam);
            unset($fout_text_email);
            unset($fout_text_telefoon);
            unset($fout_text_onderwerp);
            unset($fout_text_bericht);
        }

        if(!$fout_vakje)
        {

            unset($fout_vakje_naam);
            unset($fout_vakje_email);
            unset($fout_vakje_telefoon);
            unset($fout_vakje_onderwerp);
            unset($fout_vakje_bericht);
        }

        if(!empty($fout))
        {

            echo "<img src=\"../images/icons/fail.gif\"><font class=\"style4\"><strong> Fout bij invullen.</strong></font><BR><BR>"; // Weergeven van de fout(en)
        }
        else
        {
            mail($wm_email,$onderwerp,$message,$headers);
    
            // Bericht als mail succesvol is verzonden
            
            echo "<img src=\"../images/icons/success.gif\"><font class=\"style5\"><strong> Uw bericht is succesvol verzonden!<BR><BR></strong>";
            echo "Bedankt voor uw e-mail! Wij nemen, indien nodig, zo spoedig mogelijk contact met u op.</font>";
    
            // cookie zetten tegen spam
            setcookie("mailformulier",1,time()+($Anti_Spam*60));
    
            // formulier wordt niet weer getoond
            $Formulier = TRUE;
    
          
        }
    }
}

else {
    $Formulier = FALSE;
    echo "<img src=\"../images/icons/fail.gif\"><font class=\"style4\"><strong> Spam Beveiliging</strong></font><BR><BR>";
    echo "<font class=\"style5\">U kunt maar eens in de $Anti_Spam minuten een e-mail versturen om spam berichten te voorkomen!</font>";
}


if(!isset($Formulier))
{

?>


<html>
<head>
 <link href="../css/style_form.css" rel="stylesheet" type="text/css" />
<title>Contact Formulier</title>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

<body>
  <table class="tabel" border="0" cellpadding="5" cellspacing="0"  width="300">      
    <tr>
      <td><form method="post" action="<? $_SERVER['PHP_SELF']; ?>"><tr>
           <td bgcolor="#FFFFFF"><div align="left">
             <table align="left">
               <tr>
                 <td class="style5"><label for="naam">Naam:</label></td>
                 <td><input name="naam" type="text" class="<? echo $fout_vakje_naam; ?>" id="naam" value="<? if (!empty($naam)) { echo stripslashes($naam); } ?>" size="25" maxlength="30" /></td>
               </tr>
               <tr>
                 <td class="style5"><label for="email">Email:</label></td>
                 <td><input name="email" type="text" class="<? echo $fout_vakje_email; ?>" id="email" value="<? if (!empty($email)) { echo $email; } ?>" size="25" maxlength="30" /></td>
               </tr>
               <tr>
                 <td class="style5"><label for="telefoon">Tel. nr.:</label></td>
                 <td><input name="telefoon" type="text" class="<? echo $fout_vakje_telefoon; ?>" id="telefoon" value="<? if (!empty($telefoon)) { echo $telefoon; } ?>" size="25" maxlength="30" /></td>
               </tr>
               <tr>
                 <td class="style5"><label for="onderwerp">Onderwerp:</label></td>
                 <td><input name="onderwerp" type="text" class="<? echo $fout_vakje_onderwerp; ?>" id="onderwerp" value="<? if (!empty($onderwerp)) { echo stripslashes($onderwerp); } ?>" size="25" maxlength="30" /></td>
               </tr>
               <tr>
                 <td valign="top" class="style5"><label for="bericht">Bericht:</label></td>
                 <td><textarea id="bericht" name="bericht" class="<? echo $fout_vakje_bericht; ?>" cols="40" rows="7"><? if (!empty($bericht)) { echo stripslashes($bericht); } ?></textarea></td>
               </tr>
               <tr>
                 <td></td>
                 <td><input name="verzenden" type="submit" class="style5" id="verzenden" value="Verzenden" />
                     <input name="wis" type="reset" class="style5" id="wis" value="Wis velden" />
                 </td>
               </tr>
             </table>
             <br>
           </div></td>
          </tr>
          </form>
</tr>
    
</body>
</html>
<?
}
?>




Dit is de functie om bepaalde woorden te filteren. Deze wil ik er graag in hebben (geen probleem), maar de foutmelding ("Woorden als: sex, drugs, viagra en dergelijke worden geblokkeerd.") wil ik graag in het rijtje van de andere fouten (zie contact.php).


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
<?
// Controleer op verboden woorden
function filterContentType($bericht){

    $verbodenWoorden = array(    "porno",
                                "viagra",
                                "sex",
                                "fuck",
                                "porn",
                                "drugs",
                                "neuken",
                                "fucking",
                                "penis",
                                "vagina",
                                "cialis",
                                "levitra",
                                "cock",
                                "horny",
                                $bericht);
                                
    foreach ($_POST as $key => $value){
        foreach ($verbodenWoorden as $keyVB => $valueVB){
            if (stristr($value, $valueVB)) {
          
                echo "<strong><font class=\"style4\">Anti spam!</font></strong><BR><BR>
                <font class=\"style5\">Woorden als: sex, drugs, viagra en dergelijke worden geblokkeerd.<BR><BR>
                <a href=\"javascript:history.back()\">Ga terug</a></font>"
;
                exit;
            }
        }

        reset($verbodenWoorden);
    }

    return;
}

filterContentType();?>
Gewijzigd op 01/01/1970 01:00:00 door Tim
 
Frank -

Frank -

30/10/2007 15:38:00
Quote Anchor link
Versturen van email, ik ga vanaf nu http://www.swiftmailer.org/ gebruiken (gebruikte phpmailer). Dit ziet er lekker eenvoudig uit en werkt tot nu toe prima.

Dat staat overigens los van het filter dat je wilt gebruiken.
 



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.