Mail formulier defect

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Programmeur PHP - JAVA

Functie Wil jij bij een platte en informele organisatie werken? Lees dan snel verder! Voor een opdrachtgever in omgeving Boskoop dat zich gespecialiseerd heeft in het realiseren van veilige netwerkverbindingen zijn wij op zoek naar een leuke software developer ter versterking van het huidige team. Hoe kan jouw dag er straks uitzien? Je gaat technische klussen uitvoeren op locatie bij klanten.Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Je gaat software en webapplicaties ontwikkelen met behulp van de talen

Bekijk vacature »

Full-stack Developer

As a Full-stack developer at KUBUS, you will develop the (web)applications and services of BIMcollab. You will work on both the front- and back-end. As a software company, KUBUS is in a unique position. We build our own products that are used by tens of thousands of users worldwide. Our company is just the right size: big enough to make a real impact in the market, but small enough that as an individual developer you can have an impact and really make a difference. Our development team consists of over 40 developers, testers, scrum masters and product owners, divided over

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 »

Medior/Senior Software Developers gezocht in de Ra

Functie Op dit moment staan er posities open voor de volgende functies: Front-end, Back-End & Fullstack software developer. Als Front-End software developer werk je met JavaScript en de bijbehorende technologieën zoals TypeScript, Angular, React, Vue en Svelte. Als Back-End software developer ben je bezig in NodeJS en doe je dit met behulp van AWS, NoSQL, REST en GraphQL. Je krijgt leuke en uitdagende opdrachten met een gemiddelde duur van anderhalf jaar. Hier werk je in een team met andere IT’ers aan het ontwikkelen en verbeteren van software. Je wordt begeleid door een accountmanager die fungeert als jouw aanspreekpunt. Het team

Bekijk vacature »

Software Developer Mendix / Maatschappelijk Betrok

Dit ga je doen Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Werken met Scrum methodiek; Ontwikkelen van vooruitstrevende oplossingen; Meedenken over nieuwe applicaties en ontwikkelingen; On the job eigen maken van de Mendix omgeving. Hier ga je werken Deze dynamische en snelgroeiende organisatie begeeft zich in de recyclingbranche. Zij nemen op duurzame en efficiënte manier de recycling op zich. Vanwege hun snelle groei zijn zij op zoek naar een young professional die zich graag wilt ontwikkelen als Mendix Developer. Je komt te werken binnen een IT team van +/- 15 medewerkers. Het huidige ‘vaste’

Bekijk vacature »

PHP Developer

Dit ga je doen Ontwikkelen, implementeren en testen van PHP-oplossingen en Apps voor klanten en bedrijfsprocessen; Opstellen van requirements en uitwerken van de oplossingen; Testen van software en borgen van een soepele overdracht, inclusief documentatie; Proactief adviseren vanuit eigen expertisegebied over ontwikkelingen en verbeterpunten in technische toepassingen en processen binnen de organisatie. Hier ga je werken De organisatie is een ambitieuze en vooruitstrevende speler in de markt in de regio Rotterdam. Ze zijn de snelst groeiende in hun branche. Met een excellent aanbod en service willen zij de beste keuze zijn voor hun bestaande en nieuwe klanten. Dit alles doen

Bekijk vacature »

Backend Developer PHP Laravel SaaS

Dit ga je doen Het ontwikkelen van nieuwe features die bijdragen aan de groei van de klanten van de organisatie; Je denkt mee over nieuwe innovaties, features en verbeteringen in de applicatiearchitectuur; Je draagt bij aan de continue ontwikkeling van jouw team doordat je elke dag streeft naar het verbeteren van jouw eigen prestaties; Je neemt actief deel aan Scrum meetings en de Backend Guild. Hier ga je werken Voor een snel groeiend bedrijf, in de regio Nieuw Vennep, zijn wij opzoek naar een ervaren Backend Developer. De organisatie is actief in de e-commercebranche en ontzorgt haar klanten middels een

Bekijk vacature »

Front end developer

Functie Jij als front end developer gaat werken binnen de teams van onze klant, uiteraard met alle moderne technieken. Opdrachten worden echt gericht op jouw leerdoelen en jouw behoeftes. Wij hebben een omgeving gecreëerd waarin je echt jezelf kan zijn en waar echt gekeken wordt naar jouw voorkeuren. Maak je een fout? Geen probleem, leer ervan en dan ga weer door. Door de variëteit aan werk kun je in verschillende omgevingen een kijkje nemen en dus jezelf snel ontwikkelen. Eisen Je bent communicatief vaardig en houdt van een dynamische omgeving Je hebt HBO werk- en denkniveau Je hebt gedegen kennis

Bekijk vacature »

Medior Java developer

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 »

Medior/Senior Front-end Developers gezocht (Utrech

Functie Het team bestaat uit 10+ gespecialiseerde (veel senior) front-end ontwikkelaars en ontwerpers die werken aan projecten voor klanten van verschillende groottes (kan twee jaar bezig zijn met 1 klant). Je helpt klanten met ingewikkelde front-end vraagstukken, hierbij kun je denken aan: UX/UI design, CI/CD, architectuur en integratie met back-end systemen. De werkzaamheden verricht je op locatie bij de klant, dit is vaak in de Randstad. De organisatiestructuur is plat en er heerst een informele sfeer, zo kun je met vragen dus terecht bij de directie. Er wordt veel nadruk gelegd op het bevorderen van persoonlijke ontwikkeling door middel van

Bekijk vacature »

Software programmeur

Functieomschrijving Voor een uitdagende werkgever in regio Breda zijn wij op zoek naar een Full Stack C#.NET programmeur. Je bent verantwoordelijk voor het ontwikkelen van apps, webapplicaties en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere developers en engineers om de sensoren in machines te scannen en vervolgens de data om te zetten in management informatie voor de klanten. Taken en verantwoordelijkheden: Je gaat aan de slag met de volgende technologieën en frameworks: C#, JS frameworks, HTML, TypeScript, SQL & C++, CSS. Geen ervaring met één van deze technologieën is dan ook geen enkel probleem! Deze werkgever biedt

Bekijk vacature »

IT Infrastructuur Developer

IT Infrastructuur Developer Ben jij (bijna) klaar met je HBO studie in de richting van IT? Opzoek naar een spannende eerste baan, waar je ontzettend veel kan leren? Dan hebben wij de ultieme job voor jou! Voor een goede klant van ons in de financiële dienstverlening zijn wij opzoek naar een Junior Infrastructure Developer. Deze baan is een mooie kans om een sterke start te geven aan jouw carrière binnen de IT! De job Je werkt nauw samen met het Devops team, en zal je voornamelijk bezighouden met het automatiseren van infrastructure componenten. De componenten worden opgevraagd door het DevOps

Bekijk vacature »

Senior Java developer

Als Senior Developer bij Sogeti ben je onderdeel van onze toonaangevende best-gecertificeerde Java community. Deze bestaat uit ruim 100 gepassioneerde professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. 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, Aval en de Nationale Politie. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We

Bekijk vacature »

PHP Developer (junior functie)

Functie omschrijving Wij zijn op zoek naar een PHP Developer! Ben jij een starter en wil je werken bij een jong en leuk bedrijf? Lees dan verder! Wij zijn op zoek naar een PHP Developer binnen een junior functie. Binnen dit bedrijf gaat het om persoonlijke aandacht en ontwikkeling! Je komt te werken voor een leuk communicatiebureau die alles op het gebied van online en offline communicatie doet. Dit doen zij voor verschillende branches, waardoor je aan diverse soorten projecten mag werken, dit maakt deze baan erg leuk! Daarbij werk je aan een door hun zelf ontwikkeld framework welke goed

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Breda ben je als PHP/Symfony Developer niet alleen gefocust op het ontwikkelen van software. Daarnaast ben je voortdurend bezig met het zoeken naar nieuwe trends en ontwikkelingen die van waarde kunnen zijn voor de efficiëntie van software ontwikkeling. Hieronder een kort overzicht van jouw takenpakket: Het ontwerpen en implementeren van webapplicaties met het Symfony Framework; Het schrijven van een schone en efficiënte codes; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klant; Onderhouden en updaten van bestaande applicaties die zijn gebouwd met het

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

24/12/2024 13:31:11
 
- 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.