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 | ?> |