[résolu] identification de membre - pb d'affichage des données

identification de membre - pb d'affichage des données [résolu] - PHP - Programmation

Marsh Posté le 09-03-2006 à 14:13:12    

bonjour à tous
Je suis encore "newbie" et je souhaite personnaliser ma page d'accueil une fois qu'un membre s'est connecté.
POur cela, il y a un formulaire d'inscription avec ajout de données dans la base ->OK
J'ai créé un espace login+mot de passe qui va vérifier dans la base si l'utilisateur est enregistré -> OK
Mon souci, est qu'une fois connecté, je n'arrive pas à afficher "bonjour...trucmuche" etc.
D'autre part, je me demande si j'ai bien sécurisé l'envoi des variables par le formulaire, j'ai lu ds qques tutos qu'il faut rajouter

Code :
  1. mysql_real_escape_string

. D'autre part, depuis ma page "valid", le message d'erreur s'affiche sur cette page, comment faire pour qu'il s'affiche sous le formulaire par exemple ? Faut-il que je mette un champ caché "redir" par exemple, et qu'on y fasse appel ?
Je vous mets un bout de mon code d ela page index.php où se trouve le formulaire d'identification :

Code :
  1. <?php require_once('includes/xxxxx.php'); ?>
  2. <?
  3. // initialisation
  4. session_start() ;
  5. if (isset($_POST['login'])) // on verifie que la variable existe
  6. {
  7. $login = $_POST['login']; //on recupere les données du formulaire
  8. $_SESSION['login'] = $login;
  9. }
  10. ?>
  11. ...
  12. <body>
  13. <?php
  14. // tester la présence de la variable 'login' dans la session
  15. if ( isset( $_SESSION['login'] ) ) {
  16.   echo 'Bonjour ' ; // lecture de la variable de session 'login'
  17.   echo $_SESSION['login'] ;
  18.   echo '<br /><br />';
  19.   echo '<a href="deconnect.php">Déconnexion</a>';
  20. } else {
  21. ?>
  22. <form action="valid.php" method="post" name="form" id="form" onsubmit="showsubmit(this)">
  23.    <div class="hidden" id="login">
  24.      <div align="right">identifiant</div><input name="login" type="text" class="form" id="login" size="15">
  25.      <div align="right">mot de passe</div><input name="password" type="password" class="form" id="pass2" value="" size="15>
  26.      <div align="right"><a href="#" onclick="javascript&#058;showsubmit(document.form);">me connecter</a></div>
  27.    </div>
  28. </form>
  29.     <div align="right"><a href="inscription.php"><strong>M'inscrire &gt;&gt; </strong></a></div>
  30. <?php
  31. }
  32. ?>


Et le fichier valid.php

Code :
  1. <?php
  2.   $dbhost="localhost";
  3. $dblogin="root";
  4. $dbpassword="";
  5. $dbname="xxxxxxx";
  6. $login=$_POST['login'];
  7. if (isset($_POST['login'])) // on verifie que la variable existe
  8. {
  9. $login = $_POST['login']; //on recupere les données du formulaire
  10. $_SESSION['login'] = $login;
  11. }
  12. mysql_connect($dbhost,$dblogin,$dbpassword);mysql_selectdb($dbname);
  13. $result=mysql_query("SELECT * FROM membres WHERE login='$login'" );
  14. if ($row=mysql_fetch_array($result)) {   
  15. header('Location: index.php');
  16.   } else {
  17.    echo "Désolé, mais cet utilisateur est inconnu<br>";
  18.    echo "<a href=index.php>merci de vous reconnecter</a>";
  19. }
  20. mysql_close();
  21. ?>


Voilà, si vous aviez la gentillesse de bien vouloir me sortir de là, ça cloche qqpart.
Car avant que je ne fasse les vérifications dans la base, avec une variable de session, une fois l'utilisateur enregistré, le formulaire s'effaçait pour laisser place au message "bonjour".
Merci :jap:  :)


Message édité par coxine le 09-03-2006 à 17:49:59
Reply

Marsh Posté le 09-03-2006 à 14:13:12   

Reply

Marsh Posté le 09-03-2006 à 21:52:43    

Pour les erreurs, si tu en detectes, tu les stockes en session, comme tu fais pour le pseudo, ainsi tu peux les afficher ou et quand tu le souhaites.

Reply

Marsh Posté le 10-03-2006 à 09:11:31    

fabs2b a écrit :

Pour les erreurs, si tu en detectes, tu les stockes en session, comme tu fais pour le pseudo, ainsi tu peux les afficher ou et quand tu le souhaites.


oui merci ! J'avais trouvé la réponse seule ;) j'ai pu rajouter mysql_real_escape pour le login, pour le mot de passe, je n'ai pas trouvé, mais ça viendra ;-)
 ;)

Reply

Marsh Posté le 10-03-2006 à 10:35:00    

mysql_real_escape est à utiliser pour tous les textes que tu rajoutes dans une requette. Donc pour le mot de passe, le login ou encore l'adresse email ou postale d'une personne, c'est pareil.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed