Login sur Formulaire

Folken77
Invité n'ayant pas de compte PHPfrance

22 sept. 2011, 04:16

Bonjour à tous !

Je viens vous demander de l'aide pour un problème qui me turlupine pas mal. Voila donc, imaginez une page index.php sur laquelle je me logue et qui une fois que j'ai appuyé sur le bouton me renvoie directement sur la page suivante send.php. Jusque là rien de sorcier. Une fois que j'ai terminé ce que j'avais à faire sur ma page send, je souhaite revenir à l'index et ne pas afficher le formulaire mais uniquement Bienvenue "Pseudo de la personne".

J'ai dors et déjà réussi à conserver le pseudo pour la page send.php, mais dès lors que je clique sur un lien qui me renvoie sur mon index, il m'est impossible de trouver une formule pour tout faire coïncider. J'ai testé pas mal d'idée qui me sont venus, mais je vous avoue que c'est le flou intégrale #-o

Je vous mets ci-joint le code de mon index (naissant, cela va sans dire).
<html>
    <head>
    <title>Get Out Of My Ad</title>
    </head>
     
    <body>
  <?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 ('getoutofmyad', $base); 
          
          $sql = 'SELECT count(*) FROM users WHERE login="'.mysql_escape_string($_POST['login']).'" AND password="'.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: send.php'); 
             exit(); 
          } 
          elseif ($data[0] == 0) { 
             $erreur = 'Compte ou mot de passe 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.'; 
       }  
	   
	   }	   
    ?>
   
    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> 
D'avance je vous remercie pour vos réponses.

Le NB.

ViPHP
ViPHP | 2577 Messages

22 sept. 2011, 08:31

Bonjour,

Pour conserver des informations, tu as la solution des cookies et celle des sessions

Pour garder un nom d'utilisateur, les cookies me semble bien (cf http://php.net/manual/fr/function.setcookie.php)

Mammouth du PHP | 568 Messages

22 sept. 2011, 15:51

Pour moi, c'est les sessions le plus pratique, les cookies pouvant être refusés.

Au passage le session_start() ne peut fonctionner dans ton code, il y a du code HTML au dessus, je t'invite à lire la doc.

ViPHP
AB
ViPHP | 5818 Messages

22 sept. 2011, 16:36

Plutôt de l'avis de Yosh... surtout qu'il s'agit de session utilisateur où l'on utilise donc déjà des sessions :)