This repository has been archived by the owner on Aug 30, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
guestbook_form.php
102 lines (85 loc) · 3.73 KB
/
guestbook_form.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
<?
//fonction qui vérifie la validité d'une adresse e-mail et renvoie une chaine nulle si elle est fausse
function mail_check(&$mail_address) {
if(!eregi("([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+)", $mail_address))
$mail_address = '';
}
//fonction qui formate un texte pour une utilisation dans une base de données
//tous les espaces sont remplacés par des "<br>" et tous les tags htlm sont supprimés
function text_check(&$text) {
//remplacement des retours chariots par <br> en fonction de l'OS
$text = str_replace(chr(13).chr(10), "<br>", $text); // "\r\n" = windows
$text = str_replace(chr(13), "<br>", $text); // "\r" = mac/os
$text = str_replace(chr(10), "<br>", $text); // "\n" = unix
//on supprimer les 32 premiers caractères non imprimables de le table ASCII
$text = preg_replace("/\\x0|[\x01-\x1f]/U", "", $text);
//conversion <br> -> \n
$text = str_replace("<br>", "\n", $text);
//on supprime les espaces de debut et fin, et les slash
$text = stripslashes(trim($text));
//on remplace ensuite les braquets
$text = str_replace(">", ">", $text);
$text = str_replace("<", "<", $text);
//reconversion
$text = str_replace("\n", "<br>", $text);
//on remplace les doubles quotes par leur équivalent html
$text = str_replace("\"", """, $text);
//ajout d'un espace insécable devant les ponctuations doubles
//$comt_text = eregi_replace("(( |( ))*)([?!:;]{1})", " \\2", $comt_text);
//$comt_author = eregi_replace("([ ]*)([?!:;]{1})", " \\2", $comt_author);
//le texte ici doit être directement exploitable en HTML
}
require('include/glob_var.php');
require('include/mep.php');
if($action == "post") { //si on vient de demander l'envoi de commentaire
mail_check($m); //vérification de l'adresse e-mail
text_check($a); //formatage du text
text_check($t);
if(($a != '') && ($t != '')) { //si les données necessaires sont présentes
$cfgHote = "sql2";
$cfgUser = "funkysto";
$cfgPass = "vwg7HWCc";
$cfgBase = "funkysto";
$guestbook_table = "guestbook";
$guestbook_base = $cfgBase;
// connexion à la base
$db_connect_id = mysql_connect($cfgHote, $cfgUser, $cfgPass);
$sql = "INSERT INTO `$guestbook_table` ";
$sql .= "(`id`,`show`,`post_date`,`author`,`mail`,`message`) ";
$sql .= "VALUES ('','Y',NOW(),'$a','$m','$t')";
mysql_db_query($guestbook_base, $sql);
mysql_close($db_connect_id);
header('location: '.home.'guestbook.php');
}
}
print_header();
print("<center><a href=\"guestbook.php\">Voir le livre d'or</a><br><br></center>");
print_news_title("Signer le livre d'or.<br>");
?>
Les champs "Nom/Pseudo" et "Commentaire" sont obligatoires.<br><br>
<form action="guestbook_form.php" method="post">
<input type="hidden" name="action" value="post">
<table border="0" cellpadding="0" cellspacing="5">
<tr>
<td class="n2">Nom/Pseudo</td>
<td><input type="text" name="a" size="60" maxlength="50" class="field"<? if(isset($a)) echo " value=\"$a\""; ?>></td>
</tr>
<tr>
<td class="n2">E-mail</td>
<td><input type="text" name="m" size="60" maxlength="100" class="field"<? if(isset($m)) echo " value=\"$m\""; ?>></td>
</tr>
<tr>
<td class="n2">Commentaire</td>
<td><textarea rows="4" cols="60" name="t" class="field"><? if(isset($t)) echo $t; ?></textarea></td>
</tr>
<tr>
<td> </td><td>
<input type="submit" name="submit" value="Ajouter le commentaire" class="field"> <input class="field" type="reset" value="Effacer le formulaire"><td>
</tr>
</table>
</form>
<?
print_news_end();
print("<center><a href=\"guestbook.php\">Voir le livre d'or</a><br><br></center>");
print_footer();
?>