Un systéme d'inscription pour son site ?

kitt57 Messages postés 438 Date d'inscription   Statut Membre Dernière intervention   -  
arthezius Messages postés 3756 Statut Membre -
Bonjour,

J'aimerais savoir comment fait-on pour exiger une inscription pour acceder a son site web ?

Merçi de vos réponse
Configuration: Windows XP Internet Explorer 7.0

8 réponses

  1. kitt57 Messages postés 438 Date d'inscription   Statut Membre Dernière intervention   31
     
    J'ai reussi mais j'ai un probléme ; il me marque body balise body interdit
    Pourquoi ? Que faire ? ( tenez le code )
    CREATE TABLE membre (
    id int(11) NOT NULL auto_increment,
    login text NOT NULL,
    pass_md5 text NOT NULL,
    PRIMARY KEY (id)
    ) TYPE=MyISAM;

    <?php

    if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
    if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {

    $base = mysql_connect ('serveur', 'login', 'password');
    mysql_select_db ('nom_base', $base);

    $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" 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();

    if ($data[0] == 1) {
    session_start();
    $_SESSION['login'] = $_POST['login'];
    header('Location: membre.php');
    exit();
    }

    elseif ($data[0] == 0) {
    $erreur = 'Compte non reconnu.';
    }

    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">
    Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><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>
    <?php
    session_start();
    if (!isset($_SESSION['login'])) {
    header ('Location: index.php');
    exit();
    }
    ?>

    <html>
    <head>
    <title>Espace membre</title>
    </head>

    <body>
    Bienvenue<?php echo htmlentities(trim($_SESSION['login'])); ?>!<br />
    <a href="deconnexion.php">Déconnexion</a>
    </body>
    </html>
    1.<?php

    2.session_start();
    3.session_unset();
    4.session_destroy();
    5.header('Location: index.php');
    6.exit();
    7.?>
    <?php
    /
    if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {

    if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {

    if ($_POST['pass'] != $_POST['pass_confirm']) {
    $erreur = 'Les 2 mots de passe sont différents.';
    }
    else {
    $base = mysql_connect ('serveur', 'login', 'password');
    mysql_select_db ('nom_base', $base);

    $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
    $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['login']).'", "'.md5(mysql_escape_string($_POST['pass'])).'")';
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());

    session_start();
    $_SESSION['login'] = $_POST['login'];
    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">
    Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><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>

    Dite moi si il y a des erreur merci pour votre aide
    1
  2. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 513
     
    Tu devras apprendre et utiliser le PHP et le SQL.
    Recherche avant de demander où et comment.
    0
    1. David
       
      commentaire débile. parfois on se demande a quoi peuvent bien servir tout ses sites si l'on peut pas poser une simple question. Les bons penseurs ou les "malins" devraient l'être d'avantage et ne pas répondre si la question est trop peu important à leurs yeux...
      0
    2. arthezius Messages postés 3756 Statut Membre 475
       
      Ce que voulait dire avion, c'est que beaucoup attendent que la réponse leur tombe du ciel.
      Faire quelques recherche permet de facilement trouver des réponses sans être dépendant des autres.
      De plus, il l'avait déjà lancé sur une piste: le php.
      Finalement sa réponse n'était en rien "débile".
      0
  3. arthezius Messages postés 3756 Statut Membre 475
     
    Pour plus de lisibilité, peux tu utiliser la balise <code> et séparer les différents fichiers de manière clair.
    Merci.
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. kitt57 Messages postés 438 Date d'inscription   Statut Membre Dernière intervention   31
     
    Ok alors attend:
    0
  6. kitt57 Messages postés 438 Date d'inscription   Statut Membre Dernière intervention   31
     
    Jvé pionssé et jre . Bonne nuit
    0
  7. Lolita
     
    Se sujet c'est eteind il y a longtemp !

    voici le code de Kitt57

    CREATE TABLE membre (
    id int(11) NOT NULL auto_increment,
    login text NOT NULL,
    pass_md5 text NOT NULL,
    PRIMARY KEY (id)
    ) TYPE=MyISAM;
    
    <?php
    
    if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
    if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
    
    $base = mysql_connect ('serveur', 'login', 'password');
    mysql_select_db ('nom_base', $base);
    
    
    $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" 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();
    
    
    if ($data[0] == 1) {
    session_start();
    $_SESSION['login'] = $_POST['login'];
    header('Location: membre.php');
    exit();
    }
    
    elseif ($data[0] == 0) {
    $erreur = 'Compte non reconnu.';
    }
    
    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">
    Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><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>
    <?php
    session_start();
    if (!isset($_SESSION['login'])) {
    header ('Location: index.php');
    exit();
    }
    ?>
    
    <html>
    <head>
    <title>Espace membre</title>
    </head>
    
    <body>
    Bienvenue<?php echo htmlentities(trim($_SESSION['login'])); ?>!<br />
    <a href="deconnexion.php">Déconnexion</a>
    </body>
    </html>
    1.<?php
    
    2.session_start();
    3.session_unset();
    4.session_destroy();
    5.header('Location: index.php');
    6.exit();
    7.?>
    <?php
    /
    if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') {
    
    if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))) {
    
    if ($_POST['pass'] != $_POST['pass_confirm']) {
    $erreur = 'Les 2 mots de passe sont différents.';
    }
    else {
    $base = mysql_connect ('serveur', 'login', 'password');
    mysql_select_db ('nom_base', $base);
    
    
    $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'"';
    $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['login']).'", "'.md5(mysql_escape_string($_POST['pass'])).'")';
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
    
    session_start();
    $_SESSION['login'] = $_POST['login'];
    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">
    Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><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> 
    0
  8. anthoine20 Messages postés 32 Statut Membre
     
    Bonjour,

    Je suis actuellement en train de créer un espace membre, mais j'ai un peu de mal à comprendre le système ce code ou doit-il être mis et surtout comment créer le champs sur la page... Sachant que j'utilise pour la création de mon site du XHTML/CSS

    Je vous remercie
    0
    1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 513
       
      Salut,
      Ce code est illisible, il n'y a aucune indentation car l'auteur n'a pas utilisé la balise <code> dans son message.
      Je n'ai pas vérifié la sécurité, et pour le peu que j'en ai lu, il y a des parties qui semblent bizarres.

      Crée plutôt le tiens à partir d'aucun code.
      C'est ainsi qu'on apprend, pas en recopiant les codes existants.
      0