Ik heb een PHP-Mailformulier (kan er ook spambeveiling + Validator tussen?)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jesse

jesse

02/06/2008 20:05:00
Quote Anchor link
Kan er bij mijn script ook een validator + Spambeveiling tussen?
de code.

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
<meta http-equiv="Content-Language" content="nl">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>/</title>
</head>

<body>

<form method="POST" action="?">
 <tr>
 
      <?php
if(isset($_POST['achternaam'])) {
  $bericht .= "Achternaam: " .     $_POST['achternaam'] . "<br>";
  $bericht .= "Voornaam: " .       $_POST['naam'] . "<br>";
  $bericht .= "Email: " .          $_POST['email'] . "<br>";
  $bericht .= "Woonplaats: " .     $_POST['woonplaats'] . "<br>";
  $bericht .= "Geboortedatum: " .  $_POST['geboortedatum'] . "<br>";
  $bericht .= "Telefoonnummer: " . $_POST['telefoonnummer'] . "<br>";
  $bericht .= "Zwemdiploma: " .    $_POST['zwemdiploma'] . "<br>";
  $bericht .= "Duikervaring: " .   $_POST['duikervaring'] . "<br>";
  $bericht .= "Bijzonderheden: " . $_POST['bijzonderheden'] . "<br>";
  $message .= "Datum: ".date("d-m-Y H:i:s")." \n";
  $message .= "------------------------------------------------------- \n ";
  $message .= "IP: ".$ip."                    \n ";
  $message .= "Host: ".$host."                \n ";


$naarwie = "...";
$titel = ".....";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: " . $_POST['email'];

mail($naarwie, $titel, $bericht, $headers);

?>

        <TD WIDTH="100%" align="left" valign="middle" bgcolor="#CCFF33">
        <font face="Andalus" >Uw aanvraag wordt verwerkt.
                
        <p>De aanmeldingsgegevens:</p>
                
        
        <?php echo $bericht; ?>
        
    
        <p>
        </TD>
<?php } else { ?>    

    </font>    

    <p><font face="Andalus">Voornaam:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
    <input type="text" name="naam" size="20"> </font></p>
    <p><font face="Andalus">Achternaam:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
    <input type="text" name="achternaam" size="20">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font> </p>
    <p><font face="Andalus">Email:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
    <input type="text" name="email" size="20"></font></p>
    <p><font face="Andalus">Woonplaats:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <input type="text" name="woonplaats" size="20"></font></p>
    <p><font face="Andalus">Geboortedatum (DD-MM-JJJJ):&nbsp;
    <input type="text" name="geboortedatum" size="20"></font></p>
    <p><font face="Andalus">Telefoonnummer:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <input type="text" name="telefoonnummer" size="20"></font></p>
    <p><font face="Andalus">Zwemdiploma:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <select size="1" name="zwemdiploma">
    <option selected>Kies</option>
    <option>Ja</option>
    <option>Nee</option>
    </select></font></p>
    <p><font face="Andalus">Duikervaring:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <select size="1" name="duikervaring">
    <option selected>Kies</option>
    <option>Ja</option>
    <option>Nee</option>
    </select></font></p>
    <p><font face="Andalus">Bijzonderheden:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<textarea rows="6" name="bijzonderheden" cols="25"></textarea> </p>
    <p align="left">&nbsp;</p>
    
    <p><input type="submit" value="Aanmelding verzenden" name="B1">
    <input type="reset" value="Wissen" name="B2"></p>
</form>
<?php } ?>
</body>

</html>
Gewijzigd op 01/01/1970 01:00:00 door Jesse
 
PHP hulp

PHP hulp

25/11/2024 23:59:59
 
Jesse

jesse

02/06/2008 20:06:00
Quote Anchor link
Wat raar. Ik krijg het niet goed.

Excusses,

(voor de vele ruimte)
 
Boris Mattijssen

Boris Mattijssen

02/06/2008 20:10:00
Quote Anchor link
kan je het gehele script sowieso even tussen de [code*][/code*] tags zettten?
(zonder sterretjes)
Gewijzigd op 01/01/1970 01:00:00 door Boris Mattijssen
 
GaMer B

GaMer B

02/06/2008 20:13:00
Quote Anchor link
Oftewel zet je code tussen code tags:
 
Jesse

jesse

02/06/2008 20:20:00
Quote Anchor link
Gedaan ;)

Zou iemand mij kunnen helpen?
 
Robert Deiman

Robert Deiman

02/06/2008 20:31:00
Quote Anchor link
@jesse

Heb je dit zelf geschreven? Een paar dingen alvast vooraf:

-Je gebruikt de variabele input zomaar in de mail functie, ik kan daar gewoon allerlei scriptjes in toevoegen.
- Controleren of er is gepost doe je met:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
    if ($_SERVER['REQUEST_METHOD'] == "POST"){
       //hier de actie die moet gebeuren als het formulier is gepost
       }
?>


Daarnaast moet je dus die spamcontrole al toevoegen bij het formulier, denk bijvoorbeeld aan een captcha, zie daarvoor de script library op deze site (PHPhulp)
 
Jesse

jesse

02/06/2008 20:34:00
Quote Anchor link
@ Robert.

Ik heb al een string met:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<form method="POST" action="?">


Moet ik die vervangen door:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
    if ($_SERVER['REQUEST_METHOD'] == "POST"){
       //hier de actie die moet gebeuren als het formulier is gepost
       }
?>
  




( Ik ben beginner)

En nee, ik heb dit niet zelf gemaakt.
Een vriend. ( die geeft volledige toesteming voor het gebruik van dit script!)
Gewijzigd op 01/01/1970 01:00:00 door jesse
 
Robert Deiman

Robert Deiman

02/06/2008 20:41:00
Quote Anchor link
Oké, maar 'k wou even weten of je het zelf had gemaakt, om me een voorstelling te kunnen maken van je PHP-kennis.

Je formulier moet je laten staan, je hebt ergens staan:

if(isset($_POST['achternaam'])) Die regel moet je vervangen door datgeen wat ik noemde. Probeer eens wat met een captcha te doen die je hier op de site wel kan vinden, daar zal je ook meteen wat van leren als je die zelf toevoegt :)
 
Jesse

jesse

02/06/2008 20:43:00
Quote Anchor link
@ Robert

Ik heb een paar scripts gevonden al met Captcha.

Vraagje:
Captcha is ook voor de velden verplichtheid?
 
Robert Deiman

Robert Deiman

02/06/2008 20:46:00
Quote Anchor link
Nee, als je wilt controleren of er wat is ingevuld kan je een paar dingen doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
    if(!empty($_POST['veldnaam'])){
      //veld is niet leeg gelaten
      }
  if(!empty($_POST['veldnaam']) && strlen(trim($_POST['veldnaam'])) >= 4){
     //veld is niet leeg, en bevat minimaal 4 tekens, spaties aan begin en eind niet meegerekend (daarvoor is de trim functie)
     }
 
?>

Je kan ook met regexen gaan werken, maar denk dat dat voor nu voor jou wat te hoog gegrepen is.
 
Jesse

jesse

02/06/2008 20:50:00
Quote Anchor link
@ Robert.

Ik krijg een online 64

line 64:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php } else { ?>
Gewijzigd op 01/01/1970 01:00:00 door jesse
 
Robert Deiman

Robert Deiman

02/06/2008 20:54:00
Quote Anchor link
Wat zegt de foutmelding, en probeer die eens te vertalen. Opzoeken in Google wil ook wel eens helpen... Niet dat ik je niet wil helpen, maar door het zelf even op te zoeken leer je er meer van (en het is echt gemakkelijk te vinden)
 
Jesse

jesse

02/06/2008 20:55:00
Quote Anchor link
Ok, bedankt.

Ik blijf oevenen :p
 
Jesse

jesse

02/06/2008 21:03:00
Quote Anchor link
"}" Moet weg uit het script.

Vraagje wat doet het als je geen velden heb ingevoerd via :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
    if(!empty($_POST['naam'])){
      //leegveld = voornaam
      }
  if(!empty($_POST['naam']) && strlen(trim($_POST['naam'])) >= 4){
     //Trimfuntie = voornaam
     }
      if(!empty($_POST['achternaam'])){
      //leegveld = voor achternaam
?>
 
Jesse

jesse

02/06/2008 21:40:00
Quote Anchor link
@ robert.

Ik krijg steeds foutmelding op
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php } else { ?>    


Kan je uitleggen hoe dat komt?

Foutmelding:
Parse error: syntax error, unexpected T_ELSE in ..... on line 64
 
- SanThe -

- SanThe -

02/06/2008 22:33:00
Quote Anchor link
Niet Bumpen.
Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de Afbeelding knop om je tekst aan te passen.

SanThe.
 
Jesse

jesse

08/06/2008 17:13:00
Quote Anchor link
Ik krijg er geen validator in getrapt hoor..
 
Joren de Wit

Joren de Wit

08/06/2008 17:19:00
Quote Anchor link
Tja, vervelend. Misschien toch nog eens naar wat andere voorbeeldjes kijken?
 



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.