View difference between Paste ID: xcuuY1t5 and FGenGyeK
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
?>