SHOW:
|
|
- or go back to the newest paste.
1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> | |
2 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"><head> | |
3 | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> | |
4 | <title>Connectez vous</title> | |
5 | <style type="text/css"> | |
6 | <!-- | |
7 | body, p, h1,form, input { | |
8 | margin:0; | |
9 | padding:0; | |
10 | } | |
11 | body { | |
12 | background-color:#FFFFFF | |
13 | } | |
14 | #connexion { | |
15 | width:380px; | |
16 | background:#FFFFFF; | |
17 | margin:20px auto; | |
18 | font-family: Arial, Helvetica, sans-serif; | |
19 | font-size:1em; | |
20 | border:2px solid #333333; | |
21 | } | |
22 | #connexion h1 { | |
23 | text-align:center; | |
24 | font-size:1.2em; | |
25 | background:#333333; | |
26 | padding-bottom:5px; | |
27 | margin-bottom:15px; | |
28 | color:#FFFFFF; | |
29 | letter-spacing:0.05em; | |
30 | } | |
31 | #connexion p { | |
32 | padding-top:15px; | |
33 | padding-right:50px; | |
34 | text-align:right; | |
35 | } | |
36 | #connexion input { | |
37 | margin-left:30px; | |
38 | width:150px; | |
39 | } | |
40 | #connexion #valider { | |
41 | width:155px; | |
42 | font-size:0.8em; | |
43 | } | |
44 | #connexion #message { | |
45 | height:27px; | |
46 | font-size:0.7em; | |
47 | font-weight:bold; | |
48 | text-align:center; | |
49 | padding:10px 0 0 0; | |
50 | } | |
51 | --> | |
52 | </style> | |
53 | </head> | |
54 | <body> | |
55 | <div id = "connexion"> | |
56 | <form action = "http://minichat-versoie.franceserv.com/identification.php" method="post"> | |
57 | <h1>Connexion</h1> | |
58 | <p><label for = "pseudo">Pseudo : </label><input type="text" name="pseudo" id="pseudo" /></p> | |
59 | <p><label for = "pass">Mot de passe : </label><input type="password" name="pass" id="pass" /></p> | |
60 | <p><input type="submit" value="Envoyer" id = "valider" /></p> | |
61 | </form> | |
62 | <p id = "message"><?php if(isset($message)) echo $message ?></p> | |
63 | </div> | |
64 | </body> | |
65 | </html> | |
66 | ||
67 | <?php | |
68 | /* Création d'une fonction - utilisée dans la récupération des variables - qui teste la configuration get_magic_quotes_gpc du serveur. | |
69 | Si oui, supprime avec la fonction stripslashes les antislashes "\" insérés dans les chaines de caractère des variables gpc (GET, POST, COOKIE) */ | |
70 | function Verif_magicquotes ($chaine) | |
71 | { | |
72 | if (get_magic_quotes_gpc()) $chaine = stripslashes($chaine); | |
73 | ||
74 | return $chaine; | |
75 | } | |
76 | ||
77 | // Initialisation du message de réponse | |
78 | $message = null; | |
79 | ||
80 | ||
81 | // Si le formulaire est envoyé | |
82 | if (isset($_POST['pseudo'])) | |
83 | { | |
84 | ||
85 | /* Récupération des variables issues du formulaire | |
86 | Teste l'existence les données post en vérifiant qu'elles existent, qu'elles sont non vides et non composées uniquement d'espaces. | |
87 | (Ce dernier point est facultatif et l'on pourrait se passer d'utiliser la fonction trim()) | |
88 | En cas de succès, on applique notre fonction Verif_magicquotes pour (éventuellement) nettoyer la variable */ | |
89 | $pseudo = (isset($_POST['pseudo']) && trim($_POST['pseudo']) != '')? Verif_magicquotes($_POST['pseudo']) : null; | |
90 | $pass = (isset($_POST['pass']) && trim($_POST['pass']) != '')? Verif_magicquotes($_POST['pass']) : null; | |
91 | ||
92 | ||
93 | // Si $pseudo et $pass différents de null | |
94 | if(isset($pseudo,$pass)) | |
95 | { | |
96 | /* Connexion au serveur : dans cet exemple, en local sur le serveur d'évaluation | |
97 | A MODIFIER avec vos valeurs */ | |
98 | $hostname = ""; | |
99 | $database = "1"; | |
100 | $username = "s"; | |
101 | $password = ""; | |
102 | ||
103 | $connection = mysql_connect($hostname, $username, $password) or die(mysql_error()); | |
104 | ||
105 | // Connexion à la base | |
106 | mysql_select_db($database, $connection); | |
107 | ||
108 | // Indique à mySql de travailler en UTF-8 (par défaut mySql risque de travailler au standard ISO-8859-1) | |
109 | mysql_query("SET NAMES 'utf8'"); | |
110 | ||
111 | // Préparation des données pour les requêtes à l'aide de la fonction mysql_real_escape_string | |
112 | $nom = mysql_real_escape_string($pseudo); | |
113 | $password = mysql_real_escape_string($pass); | |
114 | ||
115 | ||
116 | /* Requête pour récupérer les enregistrements répondant à la clause : | |
117 | champ du pseudo et champ du mdp de la table = pseudo et mdp postés dans le formulaire*/ | |
118 | $requete = "SELECT * FROM membres WHERE pseudo = '".$nom."' AND pass = '".md5($password)."'"; | |
119 | ||
120 | // Exécution de la requête | |
121 | $req_exec = mysql_query($requete) or die(mysql_error()); | |
122 | ||
123 | // Création du tableau associatif du résultat | |
124 | $resultat = mysql_fetch_assoc($req_exec); | |
125 | ||
126 | // Les valeurs (si elles existent) sont retournées dans le tableau $resultat; | |
127 | if (isset($resultat['pseudo'],$resultat['pass'])) | |
128 | { | |
129 | /* Démarre la session et enregistre le pseudo dans la variable de session $_SESSION['login'] | |
130 | qui donne au visiteur la possibilité de visiter les pages protégées. */ | |
131 | session_start(); | |
132 | $_SESSION['login'] = $pseudo; | |
133 | ||
134 | // A MODIFIER Remplacer le '#' par l'adresse de votre page de destination, sinon ce lien indique la page actuelle. | |
135 | $message = 'Bonjour '.htmlspecialchars($_SESSION['login'])!' <a href = "http://minichat-versoie.franceserv.com/chat.php">Cliquez ici pour aller au Tchat.</a>'; | |
136 | } | |
137 | else | |
138 | { // Le pseudo ou le mot de passe sont incorrect | |
139 | $message = 'Pseudo et/ou mot de passe incorrect.'; | |
140 | } | |
141 | ||
142 | } | |
143 | else | |
144 | { //au moins un des deux champs "pseudo" ou "mot de passe" n'a pas été rempli | |
145 | $message = 'Les champs Pseudo et Mot de passe doivent être remplis.'; | |
146 | } | |
147 | } | |
148 | ?> |