Authentification + redirection
Le
itgraphics
salut a tous,
j'ai un pt'it probleme de session. j'ai repris le script d'espace membres de
webmaster.net et je veux le remettre a ma sauce. ds ma bdd j'ai 3 champs
pseudo, mdp, redirection. l'objectif est que pour chaque pseudo reference
dans ma bdd, j'arrive a un dossier precis avec le chemin precise dans la
base.
merci d'avance pour votre aide
tom
Voici mon code :
<?php
if(isset($pseudo) & !empty($pseudo) & isset($mdp) & !empty($mdp))
{
$pseudo=($_POST[pseudo]);
$mdp=($_POST[mdp]);
$redirection=$row['redirection'];
connecter();
$query="SELECT * FROM membres";
$result=@mysql_query($query);
$num=@mysql_num_rows($result);
$row=@mysql_fetch_row($result);
if($num==0){
echo "<br><br><center><font color='#990000'>Erreur ce pseudo (et/ou mot de
passe) est incorrect!</font></center><br>";
}
else{
$_SESSION['pseudo']=$pseudo;
$_SESSION['mdp']=$mdp;
$_SESSION['redirection']=$redirection;
echo "Connexion Ètablie";
echo "<script
language='javascript'>document.location='['redirection']'</script>";
}
}
?>
<form action="espace_membre.php?page=1" method="post">
<table align="center" class="texte">
<tr><td>Pseudo : </td><tD><input type="text" name="pseudo"></tD></tr>
<tr><td>Mot de passe : </td><tD><input type="password" name="mdp"></tD></tr>
<tr><td><div align="center"><a href="espace_membre.php?page=6"><font
size="1">
Mot dePasse oubliÈ ?</font></a></div></tD></tr>
<tr><tD colspan="2" align="center"><input type="submit"
value="Envoyer"></tD></tr>
</table>
</form>
j'ai un pt'it probleme de session. j'ai repris le script d'espace membres de
webmaster.net et je veux le remettre a ma sauce. ds ma bdd j'ai 3 champs
pseudo, mdp, redirection. l'objectif est que pour chaque pseudo reference
dans ma bdd, j'arrive a un dossier precis avec le chemin precise dans la
base.
merci d'avance pour votre aide
tom
Voici mon code :
<?php
if(isset($pseudo) & !empty($pseudo) & isset($mdp) & !empty($mdp))
{
$pseudo=($_POST[pseudo]);
$mdp=($_POST[mdp]);
$redirection=$row['redirection'];
connecter();
$query="SELECT * FROM membres";
$result=@mysql_query($query);
$num=@mysql_num_rows($result);
$row=@mysql_fetch_row($result);
if($num==0){
echo "<br><br><center><font color='#990000'>Erreur ce pseudo (et/ou mot de
passe) est incorrect!</font></center><br>";
}
else{
$_SESSION['pseudo']=$pseudo;
$_SESSION['mdp']=$mdp;
$_SESSION['redirection']=$redirection;
echo "Connexion Ètablie";
echo "<script
language='javascript'>document.location='['redirection']'</script>";
}
}
?>
<form action="espace_membre.php?page=1" method="post">
<table align="center" class="texte">
<tr><td>Pseudo : </td><tD><input type="text" name="pseudo"></tD></tr>
<tr><td>Mot de passe : </td><tD><input type="password" name="mdp"></tD></tr>
<tr><td><div align="center"><a href="espace_membre.php?page=6"><font
size="1">
Mot dePasse oubliÈ ?</font></a></div></tD></tr>
<tr><tD colspan="2" align="center"><input type="submit"
value="Envoyer"></tD></tr>
</table>
</form>

Poser une question


que tu réassignes ensuite...
Ton test devrait-être à mon avis
if (isset($_POST[pseudo] & !empty($_POST[pseudo]) & isset($_POST[mdp])
& !empty($_POST[mdp]) {
suffit $sql = "SELECT * FROM membres WHERE pseudo='$pseudo' AND
mdp='$mdp'";
Voici donc d'après ton code un exemple plus approchant de ce que tu
veux faire il me semble (pas testé) :
<?php
if (isset($_POST[pseudo] & !empty($_POST[pseudo]) & isset($_POST[mdp])
& !empty($_POST[mdp])
{ // les variables existent, sont non-vides et transmisent par POST
$sql = mysql_query("SELECT * FROM membres WHERE
pseudo='$_POST[pseudo]' AND mdp='$_POST[mdp]'");
// Recherche du couple pseudo/mdp en BdD
if (mysql_num_rows()==1)
{ //On a un gagnant...
$row = mysql_fetch_assoc($sql);
session_start();
$_SESSION[pseudo] = $_POST[pseudo];
$_SESSION[redirection] = $row[redirection];
// on evite de mettre le mdp en SESSION... D'ailleurs on se demande
pourquoi la redirection en SESSION. Le pseudo doit suffire.
echo "Connexion établie.";
echo "<script
language='javascript'>document.location='$row[redirection]'</script>";
} else {
echo "Oups, problème en BdD... Trop de lignes retournées.";
}
}
?>