
le 30/08/2008 à 17:57
foussene
Bonjour,
j'ai essaye de faire un formulaire d'inscription et de connexion mais il y a des bug
et membre qui marche je trouve se code sur se site.
Voici le resultat
Merci d'avance
j'ai essaye de faire un formulaire d'inscription et de connexion mais il y a des bug
connexion.php
- <?php
- // on teste si le visiteur a soumis le formulaire de connexion
- if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
- if ((isset($_POST['pseudo']) && !empty($_POST['pseudo'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
- $base = mysql_connect ('localhost', 'root', '');
- mysql_select_db ('base_de_donne');
- // on teste si une entrée de la base contient ce couple login / pass
- $sql = 'SELECT count(*) FROM membre WHERE pseudo="'.mysql_escape_string($_POST['pseudo']).'" AND pass_md5="'.md5(mysql_escape_string($_POST['pass'])).'"';
- $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
- $data = mysql_fetch_array($req);
- mysql_free_result($req);
- mysql_close();
- // si on obtient une réponse, alors l'utilisateur est un membre
- if ($data[0] == 1) {
- session_start();
- $_SESSION['pseudo'] = $_POST['pseudo'];
- header('Location: membre.php');
- exit();
- }
- // si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
- elseif ($data[0] == 0) {
- $erreur = 'Compte non reconnu.';
- }
- // sinon, alors la, il y a un gros problème :)
- else {
- $erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
- }
- }
- else {
- $erreur = 'Au moins un des champs est vide.';
- }
- }
- ?>
- <html>
- <head>
- <title>Accueil</title>
- </head>
- <body>
- Connexion à l'espace membre :<br />
- <form action="index.php" method="post">
- pseudo : <input type="text" name="pseudo" value="<?php if (isset($_POST['pseudo'])) echo htmlentities(trim($_POST['pseudo'])); ?>"><br />
- Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
- <input type="submit" name="connexion" value="Connexion">
- </form>
- <a href="inscription.php">Vous inscrire</a>
- <?php
- if (isset($erreur)) echo '<br /><br />',$erreur;
- ?>
- </body>
- </html>
inscription.php
- <?php
- // on teste si le visiteur a soumis le formulaire
- if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
- // on teste l'existence de nos variables. On teste également si elles ne sont pas vides
- if ((isset($_POST['pseudo']) && !empty($_POST['pseudo'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
- // on teste les deux mots de passe
- if ($_POST['pass'] != $_POST['pass_confirm']) {
- $erreur = 'Les 2 mots de passe sont différents.';
- }
- else {
- mysql_connect("localhost", "root", "");
- mysql_select_db("base_de_donne");
- // on recherche si ce login est déjà utilisé par un autre membre
- $sql = 'SELECT count(*) FROM membre WHERE pseudo="'.mysql_escape_string($_POST['pseudo']).'"';
- $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
- $data = mysql_fetch_array($req);
- if ($data[0] == 0) {
- $sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['pseudo']).'", "'.md5(mysql_escape_string($_POST['pass'])).'")';
- mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
- session_start();
- $_SESSION['pseudo'] = $_POST['pseudo'];
- header('Location: membre.php');
- exit();
- }
- else {
- $erreur = 'Un membre possède déjà ce login.';
- }
- }
- }
- else {
- $erreur = 'Au moins un des champs est vide.';
- }
- }
- ?>
- <html>
- <head>
- <title>Inscription</title>
- </head>
- <body>
- Inscription à l'espace membre :<br />
- <form action="inscription.php" method="post">
- pseudo : <input type="text" name="pseudo" value="<?php if (isset($_POST['pseudo'])) echo htmlentities(trim($_POST['pseudo'])); ?>"><br />
- Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
- Confirmation du mot de passe : <input type="password" name="pass_confirm" value="<?php if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm'])); ?>"><br />
- <input type="submit" name="inscription" value="Inscription">
- </form>
- <?php
- if (isset($erreur)) echo '<br />',$erreur;
- ?>
- </body>
- </html>
et membre qui marche je trouve se code sur se site.
Voici le resultat
Merci d'avance