Mail formulier defect

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# .NET Developer

Dit ga je doen Je richt je op het doorontwikkelen en herstructureren van het platform; Je werkt in teamverband en zelfstandig aan uitdagende projecten voor verschillende klanten; Softwareontwikkeling middels C# .NET; Je staat in contact met verschillende opdrachtgevers om de klantwensen te bespreken en deze vervolgens te ontwikkelen; Verbeteren van bedrijfsprocessen; Implementaties. Hier ga je werken Als .NET Developer kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet

Bekijk vacature »

Software Developer

Dit ga je doen Je bent verantwoordelijk voor de warehouse applicatie die een integratie heeft met de PLC laag; Je ontwikkelt in C#/.Net; Je werkt mee aan de migratie naar .NET 6; Je bent verantwoordelijk voor het ontwikkelen van interfaces en het visualiseren van componenten; Je denkt mee over het design voor business oplossingen; Je bent verantwoordelijk voor het testen van de gebouwde oplossing. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Software Developer. Zij zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van

Bekijk vacature »

Java developer

Als Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze klanten. Geen werkdag is hetzelfde, je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfskritische systemen. Een voorbeeld hiervan is een cliënt-volgsysteem bij Reclassering Nederland. Andere klanten waar wij onder andere voor werken: KPN, Philips, Nationale-Nederlanden, Kamer van Koophandel, ABN AMRO, Bovemij, Arval en de Politie. Werken bij Sogeti Nieuwe ontwikkelingen volgen we op de voet en delen we binnen de

Bekijk vacature »

Front-End React Developer

Als Front-End React Developer verbeter je de user experience van onze eigen webapplicaties voor onze collega's binnen Coolblue. Wat doe je als Front-End React Developer bij Coolblue? Als Front-end React Developer werk je aan de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten met React.js. Je vindt het leuk om samen te werken met de UX designer om stories op te pakken. Daarnaast ben je trots op je werk en verwelkomt alle feedback. Ook Front-end React Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen Verbeteren van de gebruiksvriendelijkheid van onze webshop

Bekijk vacature »

PHP Developer

Functie omschrijving Als PHP Developer ga jij aan de slag met uitdagende software projecten. Jij gaat in deze functie software applicaties ontwikkelen. Deze software projecten zijn heel divers, en deze organisatie maakt software, van A tot Z. Klanten kunnen in elke sector werkzaam zijn, van profit tot non-profit. Deze software bouw je vooral in PHP en specifiek Laravel. Dit framework kent dus geen geheimen voor jou. De software die jij gaat ontwikkelen is heel divers, van urenregistratiesystemen tot compleet geautomatiseerde tools. In deze veelzijdige functie ga jij je zeker niet vervelen, elke dag bestaat weer uit nieuwe uitdagingen. Bedrijfsprofiel Deze

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

.NET developer

Functie Als developer heb jij de keuze om aan te sluiten bij het team (13 developers) die op locatie projectmatig bij klanten werkt. Wanneer jij liever intern bij de werkgever werkt is er ook alle ruimte voor jou in het interne team (8 developers) van dit bedrijf. Je werkt samen aan verschillende projecten bij of voor de klant. Het project wordt aangeleverd door sales aan de project manager. Die maakt samen met de Resourcer een planning en op basis daarvan wordt uit het development team een “projectgroep” opgesteld. Hoeveel en welke projecten jij wilt oppakken gebeurt geheel in samenspraak met

Bekijk vacature »

Productontwikkelaar Food

Wat ga je doen Als Productontwikkelaar Food ga je nieuwe producten ontwikkelen en bestaande producten verbeteren. Je bent hierbij betrokken bij het gehele proces: van productconcept naar proefreceptuur, het realiseren va het product (op kleine schaal) en het testen van producten in een productieomgeving. Verder: Bewaak je de status van verschillende fases van productontwikkeling en lever je tijdig de benodigde data aan Ben je bezig met de optimalisatie van oude en nieuwe recepturen Begeleid of organiseer je proefsessies (sensorisch onderzoek) in het team en/of bij klanten Onderhoud je contacten met de klanten, leveranciers van grondstoffen e.a. externe partijen Houd je

Bekijk vacature »

Ontwikkelaar Identity & Access Management

Dit ga je doen Als Identity & Access Management Ontwikkelaar zorg jij er voor dat studenten, medewerkers en docenten de juiste benodigdheden op het juiste moment kunnen gebruiken; Het juist opslaan van onderzoeksdata en het openbaar beschikbaar stellen van publicaties (Open Access); Studenten, collega's en wetenschappers ondersteunen; Agile en Scrum werken; Technisch Applicatiebeheer; Ontwikkelen in One Identity Manager en VB.NET. Hier ga je werken Als Ontwikkelaar kom je terecht in een hecht team die zich richt op wetenschappelijke informatie en ICT. Jij bent degene die er voor zorgt dat alle informatie, uit diverse onderzoeken, bij de juiste personen terecht komt.

Bekijk vacature »

.NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

Back end developer PHP

Functie Met een complex en uitgebreid e-commerce platform, een eigen PIM-systeem en eigen scan applicatie – krijg jij dagelijks te zien hoe jouw werk gebruikt wordt door miljoenen gebruikers. En we staan qua development pas in de startblokken, aangezien er nog meerdere projecten op de plank liggen te wachten! Ons huidige development team bestaat uit 8 programmeurs. Er wordt dagelijks gereflecteerd op geschreven code, Scrum taken en kennisdelen onderling is een must. Onze voertaal binnen ons team is Engels, dit omdat wij twee internationale collega’s hebben. Ons huidige “IT Landschap” bestaat voornamelijk uit allerlei losse onderdelen die individueel, maar ook

Bekijk vacature »

Junior Front-End Developer

Je maakt een vliegende start van je carrière, door meteen mee te bouwen aan de digitale oplossingen van Coolblue. Wat doe je als Junior Front-End Developer bij Coolblue? Als Junior Front-End Developer ben je meteen vanaf de start onderdeel van een development team. Je kijkt veel mee met collega’s en volgt trainingen. Op dat moment komt je wil om te blijven leren naar boven. Daarnaast pak je in de sprints ook je eigen stories op om Coolblue iedere dag een beetje beter te maken. Je sterk analytisch vermogen komt dan goed van pas! Ook Junior Front-End Developer worden bij Coolblue?

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Cymer Patch Server Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Veldhoven Vacature ID: 12919 Introductie This new patch server will be built on Python and Django ReST and GraphQL services with a React frontend, it will consist of several microservices and run on a Kubernetes cluster. It will be supported by several middleware applications such as ElasticSearch, Redis, RabbitMQ, Oracle and Artifactory. Functieomschrijving The Patch Admin team always aim to deliver software at a high quality, we avoid sacrifices here to maintain our velocity. Practically this means that we practice test driven development and perform end-to-end automated testing on our software. This means

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

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

10/05/2024 04:37:46
 
- 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.