Gastenboek
- dat niet iedereen admin als naam kan gebruiken
- dat er word gecontroleerd of er wel een juiste email adres is ingevuld (je kan namelijk bij email b.v: jdks schrijven)
- en dat niet alle velden verplicht zijn zoals e-mail en website.
ik weet niet of dit mogelijk is, maar alvast bedankt
hier de script:
Code (php)
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
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
<?
// geef e-mail adres op van ontvanger
$mail_ontv = "**************@hotmail.com";
function checkmail($mail)
{
$email_host = explode("@", $mail);
$email_host = $email_host['1'];
$email_resolved = gethostbyname($email_host);
if ($email_resolved != $email_host && eregi("^[0-9a-z]([-_.~]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$mail))
$valid = 1;
return $valid;
}
// als er niet op submit is gedrukt, of als er wel op is gedrukt maar niet alles ingevoerd is
if (!$_POST['submit'] || $_POST['submit'] && (!$_POST['naam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['msggs'] || !$_POST['onderwerp']))
{
if ($_POST['submit'] && (!$_POST['naam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['msggs'] || !$_POST['onderwerp']))
{
echo "<h1>Je bent je naam, e-mail adres, onderwerp of bericht vergeten in te vullen. Ook kan het zijn</h1> ";
echo "<h1>dat je een verkeerd e-mail adres hebt ingevuld.</h1>";
}
// form + tabel
echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
echo "<form method=\"POST\" ACTION=\"" . $_SERVER['PHP_SELF'] . "\">";
// naam
echo "<tr><td><h1> Naam:</h1></td></tr>";
echo "<tr><td> <input type=\"text\" name=\"naam\" value=\"" . $_POST['naam'] . "\"></td></tr>";
// space
echo "<tr><td> </td></tr>";
// mail
echo "<tr><td><h1> E-mail adres:</h1></td></tr>";
echo "<tr><td> <input type=\"text\" name=\"mail\" value=\"" . $_POST['mail'] . "\"></td></tr>";
// space
echo "<tr><td> </td></tr>";
// mail
echo "<tr><td><h1> Onderwerp:</h1></td></tr>";
echo "<tr><td> <input type=\"text\" name=\"onderwerp\" value=\"" . $_POST['onderwerp'] . "\"></td></tr>";
// space
echo "<tr><td> </td></tr>";
// mail
echo "<tr><td><h1> Bericht:</h1></td></tr>";
echo "<tr><td> <TEXTAREA name=\"msggs\" ROWS=\"6\" COLS=\"45\">" . htmlentities($_POST['msggs']) . "</TEXTAREA></td></tr>";
// space
echo "<tr><td> </td></tr>";
// button
echo "<tr><td> </td></tr>";
echo "<tr><td> <input type=\"submit\" name=\"submit\" value=\"Versturen\"></td></tr>";
// sluit form + tabel
echo "</form>";
echo "</table>";
}
// versturen naar
else
{
// set datum
$datum = date("d.m.Y H:i");
// set ip
$ip = $_SERVER['REMOTE_ADDR'];
$inhoud_mail = "===================================================\n";
$inhoud_mail .= "Ingevulde contact formulier\n";
$inhoud_mail .= "===================================================\n\n";
$inhoud_mail .= $_SERVER['SCRIPT_URI'] . "\n\n";
$inhoud_mail .= "Naam: " . $_POST['naam'] . "\n";
$inhoud_mail .= "E-mail adres: " . $_POST['mail'] . "\n";
$inhoud_mail .= "Bericht:\n";
$inhoud_mail .= $_POST['msggs'] . "\n\n";
$inhoud_mail .= "Verstuurd op " . $datum . " via het ip " . $ip . "\n\n";
$inhoud_mail .= "===================================================\n\n";
// spambot protectie
$headers = "From: " . $_POST['naam'] . " <" . $_POST['mail'] . ">";
$headers = stripslashes($headers);
$headers = str_replace("\n", "", $headers); // Verwijder \n
$headers = str_replace("\r", "", $headers); // Verwijder \r
$headers = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $headers)); // Slashes van quotes
$_POST['onderwerp'] = str_replace("\n", "", $_POST['onderwerp']); // Verwijder \n
$_POST['onderwerp'] = str_replace("\r", "", $_POST['onderwerp']); // Verwijder \r
$_POST['onderwerp'] = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $_POST['onderwerp'])); // Slashes van quotes
mail($mail_ontv, $_POST['onderwerp'], $inhoud_mail, $headers);
echo "<h1> Je e-mail is verstuurd</h1>";
echo "<h1> Bedankt voor het versturen van een e-mail. Je zult snel een antwoord ";
echo " krijgen indien dit nodig is.</h1>";
echo "<h1 >We nemen alles serieus en zullen vertrouwelijk omgaan met de informatie ";
echo " die we binnen krijgen. Je e-mail adres zal nooit aan derden worden verstrekt.</h1>";
}
?>
// geef e-mail adres op van ontvanger
$mail_ontv = "**************@hotmail.com";
function checkmail($mail)
{
$email_host = explode("@", $mail);
$email_host = $email_host['1'];
$email_resolved = gethostbyname($email_host);
if ($email_resolved != $email_host && eregi("^[0-9a-z]([-_.~]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$",$mail))
$valid = 1;
return $valid;
}
// als er niet op submit is gedrukt, of als er wel op is gedrukt maar niet alles ingevoerd is
if (!$_POST['submit'] || $_POST['submit'] && (!$_POST['naam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['msggs'] || !$_POST['onderwerp']))
{
if ($_POST['submit'] && (!$_POST['naam'] || !$_POST['mail'] || !checkmail($_POST['mail']) || !$_POST['msggs'] || !$_POST['onderwerp']))
{
echo "<h1>Je bent je naam, e-mail adres, onderwerp of bericht vergeten in te vullen. Ook kan het zijn</h1> ";
echo "<h1>dat je een verkeerd e-mail adres hebt ingevuld.</h1>";
}
// form + tabel
echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
echo "<form method=\"POST\" ACTION=\"" . $_SERVER['PHP_SELF'] . "\">";
// naam
echo "<tr><td><h1> Naam:</h1></td></tr>";
echo "<tr><td> <input type=\"text\" name=\"naam\" value=\"" . $_POST['naam'] . "\"></td></tr>";
// space
echo "<tr><td> </td></tr>";
echo "<tr><td><h1> E-mail adres:</h1></td></tr>";
echo "<tr><td> <input type=\"text\" name=\"mail\" value=\"" . $_POST['mail'] . "\"></td></tr>";
// space
echo "<tr><td> </td></tr>";
echo "<tr><td><h1> Onderwerp:</h1></td></tr>";
echo "<tr><td> <input type=\"text\" name=\"onderwerp\" value=\"" . $_POST['onderwerp'] . "\"></td></tr>";
// space
echo "<tr><td> </td></tr>";
echo "<tr><td><h1> Bericht:</h1></td></tr>";
echo "<tr><td> <TEXTAREA name=\"msggs\" ROWS=\"6\" COLS=\"45\">" . htmlentities($_POST['msggs']) . "</TEXTAREA></td></tr>";
// space
echo "<tr><td> </td></tr>";
// button
echo "<tr><td> </td></tr>";
echo "<tr><td> <input type=\"submit\" name=\"submit\" value=\"Versturen\"></td></tr>";
// sluit form + tabel
echo "</form>";
echo "</table>";
}
// versturen naar
else
{
// set datum
$datum = date("d.m.Y H:i");
// set ip
$ip = $_SERVER['REMOTE_ADDR'];
$inhoud_mail = "===================================================\n";
$inhoud_mail .= "Ingevulde contact formulier\n";
$inhoud_mail .= "===================================================\n\n";
$inhoud_mail .= $_SERVER['SCRIPT_URI'] . "\n\n";
$inhoud_mail .= "Naam: " . $_POST['naam'] . "\n";
$inhoud_mail .= "E-mail adres: " . $_POST['mail'] . "\n";
$inhoud_mail .= "Bericht:\n";
$inhoud_mail .= $_POST['msggs'] . "\n\n";
$inhoud_mail .= "Verstuurd op " . $datum . " via het ip " . $ip . "\n\n";
$inhoud_mail .= "===================================================\n\n";
// spambot protectie
$headers = "From: " . $_POST['naam'] . " <" . $_POST['mail'] . ">";
$headers = stripslashes($headers);
$headers = str_replace("\n", "", $headers); // Verwijder \n
$headers = str_replace("\r", "", $headers); // Verwijder \r
$headers = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $headers)); // Slashes van quotes
$_POST['onderwerp'] = str_replace("\n", "", $_POST['onderwerp']); // Verwijder \n
$_POST['onderwerp'] = str_replace("\r", "", $_POST['onderwerp']); // Verwijder \r
$_POST['onderwerp'] = str_replace("\"", "\\\"", str_replace("\\", "\\\\", $_POST['onderwerp'])); // Slashes van quotes
mail($mail_ontv, $_POST['onderwerp'], $inhoud_mail, $headers);
echo "<h1> Je e-mail is verstuurd</h1>";
echo "<h1> Bedankt voor het versturen van een e-mail. Je zult snel een antwoord ";
echo " krijgen indien dit nodig is.</h1>";
echo "<h1 >We nemen alles serieus en zullen vertrouwelijk omgaan met de informatie ";
echo " die we binnen krijgen. Je e-mail adres zal nooit aan derden worden verstrekt.</h1>";
}
?>
2 de opties die je vraagt zitten meestal in een echt gastenboek script wel. zoek daarom even hier in de scriptlib.
Eskisehirli schreef op 28.10.2007 00:08:
Hallo ik heb hier van PHPhulp.nl een gastenboek gehaald hij werkt prima maar ik wou een paar dingen erbij:
- dat niet iedereen admin als naam kan gebruiken
- dat er word gecontroleerd of er wel een juiste email adres is ingevuld (je kan namelijk bij email b.v: jdks schrijven)
- en dat niet alle velden verplicht zijn zoals e-mail en website.
ik weet niet of dit mogelijk is, maar alvast bedankt
hier de script:
[cut]
- dat niet iedereen admin als naam kan gebruiken
- dat er word gecontroleerd of er wel een juiste email adres is ingevuld (je kan namelijk bij email b.v: jdks schrijven)
- en dat niet alle velden verplicht zijn zoals e-mail en website.
ik weet niet of dit mogelijk is, maar alvast bedankt
hier de script:
[cut]
Erg aardige text, maar als ik je goed begrijp wil je dat we dit voor je gaan maken? Geen probleem hoor, maar dan moet je wel met flappen komen...
Het is niet erg om om hulp te vragen, maar jij vraagt gewoon doodleuk of we dat ff voor je kunnen maken?
Zoals je misschien in andere topics kan lezen ben ik niet te benauwd om je fouten te verbeteren of om je te helpen als je er niet uitkomt, maar het lijkt wel alsof je het niet hebt geprobeerd....
Omdat ik toch help hier een paar links die je zullen helpen:
http://nl.php.net/preg_match (voor het controleren van je emailadres...)
http://www.tbforum.nl/artikel/89939.html (voor het controleren van je emailadres...)
http://nl3.php.net/isset ( voor het admin probleem ... if(isset($naam) && $naam != 'admin'){ /** * ga door */ }else{ /** * admin is niet gebruikt, dus ga maar door */)