Formulaire avec 2 liens

stylo -  
 sabah -
Bonjour,
j'ai un ptit souci, j'ai mis un formulaire d'identification avec login et mot de passe pour acceder a son espace mais je trouve pas comment mettre un lien sur le formulaire pour 2 pages , c'est a dire sil echou son identification un message derreur saffiche pour reessayer et sil est accepter il passe direcetement a son espace
Merci
Configuration: Windows XP
Opera 9.27

2 réponses

  1. cheese42 Messages postés 890 Statut Membre 120
     
    slt ::::::index.php::::::::::

    <?php
    if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
    if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
    $base = mysql_connect ('localhost', 'root', '');
    mysql_select_db ('membre', $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 inexistant.';
    }
    else {
    $erreur = 'Problè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.';
    }
    }
    ?>

    et ou tu veux mettre tes id :::::

    <form action="index.php" method="post">
    Login : <input name="login" type="text" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>" size="17" maxlength="17">
    <br /><br />
    Mot de passe :
    <input name="pass" type="password" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>" size="17" maxlength="20">
    <br /><br />
    <div id="top_login_remember">
    <label id="rememberme_label" for="rememberme">
    <span>Mémoriser  compte </span></label>
    <input type="checkbox" name="rememberme" id="rememberme" />
    </div><br /><br />
    <input type="submit" name="connexion" value="Connexion">
    </form><br /><br />
    <div class="inscription"><a href="inscription.php">Vous inscrire</a></div>
    <?php

    if (isset($erreur)) echo '<br /><br />',$erreur;
    ?>

    sur une page membre.php :::::au debut de la page ::::

    <?php
    session_start();
    if (!isset($_SESSION['login'])) {
    header ('Location: index.php');
    exit();
    }
    ?>

    ..............si il est pas reconnu il reste sur la page d'accueil ...........si c'est bon il part sur membre.php......sinon si tu veux quil sinscrive :::::

    inscription.php:::::

    <?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 ('localhost', 'root', '');
    mysql_select_db ('membre', $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 = 'Désolé, ce pseudo est déjà utilisé par un membre.';
    }
    }
    }
    else {
    $erreur = 'Vous devez remplir tous les champs, merci.';
    }
    }
    ?>

    en plein milieu de la page :::::inscription.php :::

    <div class="inscription" align="center" ><form action="inscription.php" method="post">
    <div align="center"><label for="log">Login : </label>
    <input type="text" name="login" value="
    <?php
    if (isset($_POST['login'])) echo htmlentities(trim($_POST['login']));
    ?>
    " id="log" />
    <br />
    <br />
    <br /><label for="mp">
    Mot de passe : </label>
    <input type="password" name="pass" value="
    <?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass']));
    ?>
    " id="mp" />
    <br />
    <br />
    <br /><label for="cmp">
    Confirmation du mot de passe : </label>
    <input type="password" name="pass_confirm" value="
    <?php
    if (isset($_POST['pass_confirm'])) echo htmlentities(trim($_POST['pass_confirm']));
    ?>
    " id="cmp" />
    <br />
    <br />
    <br />
    <input type="checkbox" name="regagree" value="valeur" onClick="ChangeStatut(this.form)" /> J'accepte le reglement
    <br />
    <br />
    <input type="submit" name="inscription" value="Inscription" disabled="disabled" />
    <?php
    if (isset($erreur)) echo '<br />',$erreur;
    ?>

    jai juste mis le plus gros !!! si tas besoin d'otres trucs dis moi....

    La vie ne vaut rien mais rien ne vaut la vie !!!!!
    0
    1. sabah
       
      Salut,j'ai essayé de fair ton code mais malgré que j'existe comme un membre dans la table ou j'insrit a nouveau il m'affiche l'erreur que implosible de conncté et la seul erreur qui fonctionne normalment lorsque un champ est vide je veux savoir ou est le problme svp
      0
  2. stylo
     
    merci pour ton code, je vais essayer de le lire de plus prés
    0