Simple contact script

Door Dutch Caffeine, 21 jaar geleden, 6.883x bekeken

Ik heb deze script ooit ergens in een hoekje gevonden van men computer, hij was nog niet af.

Hij checkt alle velden die verplicht zijn.

Het enigste wat jij moet doen is:

1. Een formulier maken (contact.htm)
2. De bedank pagina (ok.htm
3. Een error pagina error.htm

Ik heb contact.htm het formulier toegevoegd aan de code

En heb contact.php toegevoegd dit is enorm belangrijk anders verzend hij niets!

Veel plezier ermee..

Voorbeeld: http://voorbeeld niet beschik baar!

Gesponsorde koppelingen

PHP script bestanden

  1. simple-contact-script

 

Er zijn 9 reacties op 'Simple contact script'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Crispijn -
Crispijn -
21 jaar geleden
 
0 +1 -0 -1
Ik denk dat dit weinig toevoegt aan de scriptlib. Er zijn al verschillende contactformulieren en deze heeft weinig nieuws.

De beste manier om te kijken of het een geldig email adres is is om te kijken of het domein dat achter het @ ingevuld wordt wel bestaat. Ik doe dat met de volgende functie:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
function check_email_mx($email) {
    if( (preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $email)) || (preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/',$email)) ) {
        $host = explode('@', $email); if(checkdnsrr($host[1].'.', 'MX') )
        return true; if(checkdnsrr($host[1].'.', 'A') )
        return true; if(checkdnsrr($host[1].'.', 'CNAME') )
        return true;
    }

    return false;
}

?>


Ook is het niet handig om met 3 verschillende pagina's te werken. Dit zorgt alleen maar voor een hoop onnodige bestanden en onnodig gezoek.

Crispijn


21 jaar geleden
 
0 +1 -0 -1
Ik denk ook dat het weinig toevoegd daarnaast is dit script gevoelig voor header-mail-injections;
PHP Functies moeten worden met kleine letters geschreven
Steven Prins
Steven Prins
21 jaar geleden
 
0 +1 -0 -1
Op je computer gevonden, jaja, dat moeten wij geloven: http://www.html-site.nl/forum/9_7746_0.html
Dutch Caffeine
Dutch Caffeine
21 jaar geleden
 
0 +1 -0 -1
Steve, ik heb deze zelf gemaakt voor een bedrijf, ik wou een grotere script maar die kon ik nergens vinden en het maken daarvan was ook moeilijk.

Crispijn
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
function check_email_mx($email) {
    if( (preg_match('/(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/', $email)) || (preg_match('/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/',$email)) ) {
        $host = explode('@', $email); if(checkdnsrr($host[1].'.', 'MX') )
        return true; if(checkdnsrr($host[1].'.', 'A') )
        return true; if(checkdnsrr($host[1].'.', 'CNAME') )
        return true;
    }

    return false;
}

?>

Dit is wel aardig, maar bestaat er ook zo iets dat hij het gehele email adres checkt bij de provider of de email adres totaal wel bestaat!

Maar misschien ga ik dit wel gebruiken voor de 2 versie!

Alexander.
Crispijn -
Crispijn -
21 jaar geleden
 
0 +1 -0 -1
Ik denk niet dat dat kan Alexander. Zoals je ziet wordt het dns gechecked, de verdere afhandeling ligt aan je server.
Dutch Caffeine
Dutch Caffeine
21 jaar geleden
 
0 +1 -0 -1
Oke, die ga ik gebruiken, en ga hem uitbrijden. Ik hoop snel een nieuwere uit te brengen..

EN ALLEMAAL HARTELIJK DANK.
Jeffrey rauscj
jeffrey rauscj
21 jaar geleden
 
0 +1 -0 -1
ik heb wat text vakken en chekhojes toegevoegt maar als ik naar contact.php ben geweest krijg ik allen maar de pagina error.htm

Contact.htm
<form method="post" action="contact.php">
<p><br />
&nbsp;<table cellSpacing="0" cellPadding="0" width="610" border="0">
<tr>
<td width="115" height="5">Naam:*</td>
</tr>
<tr>
<td width="115" height="4">
<label>
<input name="naam" type="text" id="naam" size="20" />
</label>
</td>
</tr>
<tr>
<td width="115" height="9">Straat + nr:*</td>
</tr>
<tr>
<td width="115" height="5">
<label>
<input name="straatnr" type="text" id="straatnr" size="20" />
</label>
</td>
</tr>
<tr>
<td width="115" height="4">Postcode:*</td>
</tr>
<tr>
<td width="115" height="8">
<label>
<input name="postcode" type="text" id="postcode" size="20" />
</label>
</td>
</tr>
<tr>
<td width="115" height="18">Plaats:*</td>
</tr>
<tr>
<td width="115" height="17">
<label>
<input name="plaats" type="text" id="plaats" size="20" />
</label>
</td>
</tr>
<tr>
<td width="115" height="18">Telefoon:*</td>
</tr>
<tr>
<td width="115" height="17">
<label>
<input name="telefoon" type="text" id="telefoon" size="20" />
</label>
</td>
</tr>
<tr>
<td width="115" height="18">E-Mail adres:*</td>
</tr>
<tr>
<td width="115" height="17">
<label>
<input name="EmailFrom " type="text" id="EmailFrom " size="20" />
</label>
</td>
</tr>
</table>
<p>&nbsp;</p>
<table cellSpacing="0" cellPadding="0" width="609" border="0" height="168">
<tr>




<td width="26" height="26"><label>
<input name="Glasbewassing" type="checkbox" id="Glasbewassing" size="20" value="ON" />
</label>
</td>
<td width="195" height="26">
<font face="Tahoma" style="font-size: 8pt" size="1">Glasbewassing&nbsp;&nbsp;</font></td>




<td width="31" height="26"><label>
<input name="Zoekmachine" type="checkbox" id="Zoekmachine" size="20" value="ON" />
</label>
</td>
<td width="190" height="26">
<font face="Tahoma" style="font-size: 8pt" size="1">Zoekmachine</font></td>
<td width="1" height="26">
</tr>
<tr>




<td width="26" height="39"><label>
<input name="Gevelreiniging" type="checkbox" id="Gevelreiniging" size="20" value="ON" />
</label>
</td>
<td width="195" height="39">
<font face="Tahoma" style="font-size: 8pt" size="1">Gevelreiniging</font></td>




<td width="26" height="39"><label>
<input name="Vriendenkennissen" type="checkbox" id="Vriendenkennissen" size="20" value="ON" />
</label>
</td>
<td width="190" height="39">
<font face="Tahoma" style="font-size: 8pt" size="1">Vrienden of kennissen</font></td>
<td width="1" height="39">
<label>
</tr>
<tr>



<td width="26" height="39"><label>
<input name="TelescopischWassen" type="checkbox" id="Telescopisch Wassen" size="20" value="ON" />
</label>
</td>
<td width="195" height="39">
<font face="Tahoma" style="font-size: 8pt" size="1">Telescopisch Wassen</font></td>


<td width="26" height="39"><label>
<input name="Bannerlink" type="checkbox" id="Bannerlink" size="20" value="ON" />
</label>
</td>
<td width="190" height="39">
<font face="Tahoma" style="font-size: 8pt" size="1">Banner of link op andere site</font></td>
<td width="1" height="39">
<label>
</tr>
<tr>




<td width="26" height="39"><label>
<input name="OverigeSchoonmaakdiensten" type="checkbox" id="OverigeSchoonmaakdiensten" size="20" value="ON" />
</label>
</td>
<td width="195" height="39">
<font face="Tahoma" style="font-size: 8pt" size="1">Overige Schoonmaakdiensten</font></td>




<td width="31" height="39"><label>
<input name="Andere_manier" type="checkbox" id="Andere_manier" size="20" value="ON" />
</label>
</td>
<td width="190" height="39">
<font face="Tahoma" style="font-size: 8pt" size="1">Andere manier:</font></td>
<td width="1" height="39">
<label>
</tr>
<tr>




<td width="26" height="25"><label>
<input name="Aanmelden" type="checkbox" id="Aanmelden" size="20" value="ON" />
</label>
</td>
<td width="195" height="25">
<font face="Tahoma" style="font-size: 8pt" size="1">Aanmelden (<i>Klanten bestand)</i></font></td>
<td width="31" height="25">&nbsp;</td>
<td width="256" height="39">




<input class="andere" id="anderemanier" name="andere_manier" size="20"></td>
</tr>







</table>
<table cellSpacing="0" cellPadding="0" width="610" border="0" height="197">
<tr>
<td width="610" height="25" colspan="3">Bericht:*</td>
</tr>
<tr>
<td width="610" height="100" colspan="3">
<label>
<textarea name="bericht" cols="55" rows="6" id="bericht"></textarea></label></td>
</tr>
<tr>
<td width="610" height="25" colspan="3">&nbsp;</td>
</tr>
<tr>
<td width="1" height="3"></td>
<td width="115" height="3">
<label>
<input type="submit" name="Submit" value="Verzenden" />
</label>
</td>
<td width="494" height="3">
<label>
<input type="reset" name="reset" value="Formulier wissen" />
</label>
</td>
</tr>
<tr>
<td width="610" height="25" colspan="3">&nbsp;</td>
</tr>
<tr>
<td vAlign="top" align="left" width="610" height="19" colspan="3">&nbsp;</td>
</tr>
</table>
</form>



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
<?php
//gemaakt door Alexander de Jong, LexSoftware
//www.lexsoftware.nl
//voorbeeld www.lexsoftware.nl/contact.htm

// Verander de gegevens $EmailTo en $Subject

$EmailFrom = Trim(stripslashes($_POST['EmailFrom']));
$EmailTo = "[email protected]";
$Subject = "contact van website";
$naam = Trim(stripslashes($_POST['naam']));
$straatnr = Trim(stripslashes($_POST['straatnr']));
$postcode = Trim(stripslashes($_POST['postcode']));
$plaats = Trim(stripslashes($_POST['plaats']));
$telefoon = Trim(stripslashes($_POST['telefoon']));
$mail = Trim(stripslashes($_POST['mail']));
$Glasbewassing = Trim(stripslashes($_POST['Glasbewassing']));
$Gevelreiniging = Trim(stripslashes($_POST['Gevelreiniging']));
$TelescopischWassen = Trim(stripslashes($_POST['TelescopischWassen']));
$OverigeSchoonmaakdiensten = Trim(stripslashes($_POST['OverigeSchoonmaakdiensten']));
$Aanmelden = Trim(stripslashes($_POST['Aanmelden']));
$zoekmachine = Trim(stripslashes($_POST['zoekmachine']));
$vriendenkennissen = Trim(stripslashes($_POST['vriendenkennissen']));
$bannerlink = Trim(stripslashes($_POST['bannerlink']));
$andere = Trim(stripslashes($_POST['andere']));
$andere_manier = Trim(stripslashes($_POST['andere_manier']));
$bericht = Trim(stripslashes($_POST['bericht']));


// !!!NIET AAN KLOOTEN!!! Valideert de gegevens
$validationOK=true;
if (Trim($EmailFrom)=="") $validationOK=false; // als dit niet werkt ("@"".") even verwijderen.
if (Trim($naam)=="") $validationOK=false;
if (Trim($straatnr)=="") $validationOK=false;
if (Trim($postcode)=="") $validationOK=false;
if (Trim($plaats)=="") $validationOK=false;
if (Trim($telefoon)=="") $validationOK=false;
if (Trim($Glasbewassing)=="") $validationOK=true;
if (Trim($Gevelreiniging)=="") $validationOK=true;
if (Trim($TelescopischWassen)=="") $validationOK=true;
if (Trim($OverigeSchoonmaakdiensten)=="") $validationOK=true;
if (Trim($Aanmelden)=="") $validationOK=true;
if (Trim($zoekmachine)=="") $validationOK=true;
if (Trim($vriendenkennissen)=="") $validationOK=true;
if (Trim($bannerlink)=="") $validationOK=true;
if (Trim($andere)=="") $validationOK=true;
if (Trim($andere_manier)=="") $validationOK=true;
if (Trim($bericht)=="") $validationOK=false;
if (!$validationOK) {
  print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
  exit;
}


// Dit is de mail die naar jou verzonden wordt
$Body = "";
$Body .= "naam: ";
$Body .= $naam; // zo moet jou veld naam heten
$Body .= "\n";
$Body .= "straat + nr: ";
$Body .= $straatnr; // zo moet jou veld naam heten
$Body .= "\n";
$Body .= "postcode: ";
$Body .= $postcode; //zo moet jou veld naam heten
$Body .= "\n";
$Body .= "plaats: ";
$Body .= $plaats; //zo moet jou veld naam heten
$Body .= "\n";
$Body .= "telefoon: ";
$Body .= $telefoon; //zo moet jou veld naam heten
$Body .= "\n";
$Body .= "E-Mail adres: ";
$Body .= $EmailFrom; //zo moet jou veld naam heten
$Body .= "\n";
$Body .= "Glasbewassing: ";
$Body .= $Glasbewassin; //zo moet jou text box heten
$Body .= "\n";
$Body .= "Gevelreiniging: ";
$Body .= $Gevelreiniging; //zo moet jou text box heten
$Body .= "\n";
$Body .= "TelescopischWassen: ";
$Body .= $TelescopischWassen; //zo moet jou text box heten
$Body .= "\n";
$Body .= "OverigeSchoonmaakdiensten: ";
$Body .= $OverigeSchoonmaakdiensten; //zo moet jou text box heten
$Body .= "\n";
$Body .= "Aanmelden: ";
$Body .= $Aanmelden; //zo moet jou text box heten
$Body .= "\n";
$Body .= "zoekmachine: ";
$Body .= $zoekmachine; //zo moet jou text box heten
$Body .= "\n";
$Body .= "vriendenkennissen: ";
$Body .= $vriendenkennissen; //zo moet jou text box heten
$Body .= "\n";
$Body .= "bannerlink: ";
$Body .= $bannerlink; //zo moet jou text box heten
$Body .= "\n";
$Body .= "andere: ";
$Body .= $andere; //zo moet jou text box heten
$Body .= "\n";
$Body .= "andere_manier: ";
$Body .= $andere_manier; //zo moet jou text box heten
$Body .= "\n";
$Body .= "bericht: ";
$Body .= $bericht; //zo moet jou text box heten
$Body .= "\n";

// verzend de email naar jou
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");

// verzend meteen door naar 1 van de pagina's
if ($success){
  print "<meta http-equiv=\"refresh\" content=\&quot;0;URL=ok.htm/&quot;>"; // dit is de pagina voor het goedkeuren
}
else{
  print "<meta http-equiv=\"refresh\" content=\&quot;0;URL=error.htm/&quot;>"; // dit is de error pagina
}
?>



doe ik iets fout of moeten de chekvakjes eruit?
- -
- -
21 jaar geleden
 
0 +1 -0 -1
Wat je fout doet is de gehele code hier plaatsen waardoor je 4 kilometer naar beneden moet scrollen. Post je vraag in het forum :)
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Wouter De Schuyter
Wouter De Schuyter
20 jaar geleden
 
0 +1 -0 -1
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/rel118/domains/paradox-productions.net/public_html/contact.php on line 49

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. simple-contact-script

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

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.