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 :
- 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 :
- <?php require_once('includes/xxxxx.php'); ?>
- <?
- // initialisation
- session_start() ;
- if (isset($_POST['login'])) // on verifie que la variable existe
- {
- $login = $_POST['login']; //on recupere les données du formulaire
- $_SESSION['login'] = $login;
- }
- ?>
- ...
- <body>
- <?php
- // tester la présence de la variable 'login' dans la session
- if ( isset( $_SESSION['login'] ) ) {
- echo 'Bonjour ' ; // lecture de la variable de session 'login'
- echo $_SESSION['login'] ;
- echo '<br /><br />';
- echo '<a href="deconnect.php">Déconnexion</a>';
- } else {
- ?>
- <form action="valid.php" method="post" name="form" id="form" onsubmit="showsubmit(this)">
- <div class="hidden" id="login">
- <div align="right">identifiant</div><input name="login" type="text" class="form" id="login" size="15">
- <div align="right">mot de passe</div><input name="password" type="password" class="form" id="pass2" value="" size="15>
- <div align="right"><a href="#" onclick="javascript:showsubmit(document.form);">me connecter</a></div>
- </div>
- </form>
- <div align="right"><a href="inscription.php"><strong>M'inscrire >> </strong></a></div>
- <?php
- }
- ?>
|
Et le fichier valid.php
Code :
- <?php
- $dbhost="localhost";
- $dblogin="root";
- $dbpassword="";
- $dbname="xxxxxxx";
- $login=$_POST['login'];
- if (isset($_POST['login'])) // on verifie que la variable existe
- {
- $login = $_POST['login']; //on recupere les données du formulaire
- $_SESSION['login'] = $login;
- }
- mysql_connect($dbhost,$dblogin,$dbpassword);mysql_selectdb($dbname);
- $result=mysql_query("SELECT * FROM membres WHERE login='$login'" );
- if ($row=mysql_fetch_array($result)) {
- header('Location: index.php');
- } else {
- echo "Désolé, mais cet utilisateur est inconnu<br>";
- echo "<a href=index.php>merci de vous reconnecter</a>";
- }
- mysql_close();
- ?>
|
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
Message édité par coxine le 09-03-2006 à 17:49:59