personnaliser la page d'accueil avec validation zone membre?
Posté : 09 mars 2006, 15:40
encore moi avec mes questions !
Je remets un post, car le titre du précédent post n'a rien à voir avec la question que je voudrais vous poser.
J'ai un peu planché (hehe) depuis hier, et voici le fruit de mes recherches :
Le formulaire d'inscription avec ajout de données dans la base ->OK
L'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
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 de la page index.php où se trouve le formulaire d'identification :
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 xxx"
Le formulaire d'inscription avec ajout de données dans la base ->OK
L'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
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 de la page index.php où se trouve le formulaire d'identification :
<?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
<?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 xxx"