par
AurelienC » 27 janv. 2011, 17:21
Ca ne marche toujours pas
Je me connecte avec la deuxième personne dans la base, qui a le même mot de passe que la première (mais logiquement ça ne devrait pas poser de problème !) l'identification se fait bien, mais quand je re vais sur la page d'accueil ça m'affiche "bonjour
mauvais pseudo"...
<?php
//Récup
if(isset($_SESSION['auth']))
{
if($_SESSION['auth']=="oui")
{
echo "
<font face='tahoma' color='#558EDA' size='3'>
<br>Bonjour $_SESSION[pseudo]
<br><a href='profil.php' style='color: rgb(85, 142, 213); text-decoration: none;'> > Mon profil</a></font>
";
}
else
{
echo "ERREUR !";
}
}
elseif(!isset($_SESSION['auth']) and !empty($_POST['form']))
{
//Récupération des données du formulaire
$vpseudo=htmlentities($_POST['pseudo']);
$vpseudo=mysql_escape_string($vpseudo);
$vmdp=htmlentities($_POST['mdp']);
$vmdp=md5($vmdp);
//Vérif si vide
//Pseudo = vide
if (empty($vpseudo))
{
echo "Pas de pseudo !";
exit();
}
//Mot de passe = vide
if (empty($vmdp))
{
echo "Pas de mot de passe !";
exit();
}
//Recherche
include("config.php");
$connexion = mysql_connect($hote, $user, $mpasse, $base)
or die ("erreur co");
$db = mysql_select_db ($base)
or die ("erreur base");
$sql="SELECT pseudo, passe, niveau FROM membres WHERE pseudo='$vpseudo' AND passe='$vmdp' LIMIT 1";
$req=mysql_query($sql)
or die("Erreur SQL ! 1");
$num=mysql_num_rows($req);
$ligne = mysql_fetch_assoc($req);
//Pas trouvé (pseudo)
if($num==0 or $ligne['pseudo']!=$vpseudo or $ligne['passe']!=$vmdp)
{
echo "Erreur d'identification.";
exit();
}
//ID OK
$_SESSION['auth']="oui";
$_SESSION['pseudo']=$vpseudo;
$_SESSION['niveau']=$ligne['niveau'];
echo "
<font face='tahoma' color='#558EDA' size='3'>
<br>Bonjour $_SESSION[pseudo] !
<br><a href='profil.php' style='color: rgb(85, 142, 213); text-decoration: none;'> > Mon profil</a></font>
";
}
else
{
//Formulaire
echo"<html>
<form action='index.php' method='POST' enctype='multipart/form-data'>
<input type='hidden' value='ok' name='form' />
<table width='200' border='0' align='center'>
<input type='hidden' value='$histo' /> <tr>
<td><input name='pseudo' type='text' /></td>
</tr>
<tr>
<td><input name='mdp' type='password' id='mdp' /></td>
</tr>
<tr>
<td><input type='submit' value='Connexion' /></td>
</tr>
<tr>
<td> <font face='Tahoma'><b><a href='inscription.php' style='color: rgb(85, 142, 213); text-decoration: none;'>Inscription !</a></b></font></td>
</tr>
</table>
</form>";
}
?>
Pourtant sur une page avec juste ça (voir ci dessous) ça marche bien !
<?php
session_start();
echo "$_SESSION[pseudo]";
?>
Je suis un peu perdu...
Merci
Ca ne marche toujours pas :(
Je me connecte avec la deuxième personne dans la base, qui a le même mot de passe que la première (mais logiquement ça ne devrait pas poser de problème !) l'identification se fait bien, mais quand je re vais sur la page d'accueil ça m'affiche "bonjour[i] mauvais pseudo[/i]"...
[php]<?php
//Récup
if(isset($_SESSION['auth']))
{
if($_SESSION['auth']=="oui")
{
echo "
<font face='tahoma' color='#558EDA' size='3'>
<br>Bonjour $_SESSION[pseudo]
<br><a href='profil.php' style='color: rgb(85, 142, 213); text-decoration: none;'> > Mon profil</a></font>
";
}
else
{
echo "ERREUR !";
}
}
elseif(!isset($_SESSION['auth']) and !empty($_POST['form']))
{
//Récupération des données du formulaire
$vpseudo=htmlentities($_POST['pseudo']);
$vpseudo=mysql_escape_string($vpseudo);
$vmdp=htmlentities($_POST['mdp']);
$vmdp=md5($vmdp);
//Vérif si vide
//Pseudo = vide
if (empty($vpseudo))
{
echo "Pas de pseudo !";
exit();
}
//Mot de passe = vide
if (empty($vmdp))
{
echo "Pas de mot de passe !";
exit();
}
//Recherche
include("config.php");
$connexion = mysql_connect($hote, $user, $mpasse, $base)
or die ("erreur co");
$db = mysql_select_db ($base)
or die ("erreur base");
$sql="SELECT pseudo, passe, niveau FROM membres WHERE pseudo='$vpseudo' AND passe='$vmdp' LIMIT 1";
$req=mysql_query($sql)
or die("Erreur SQL ! 1");
$num=mysql_num_rows($req);
$ligne = mysql_fetch_assoc($req);
//Pas trouvé (pseudo)
if($num==0 or $ligne['pseudo']!=$vpseudo or $ligne['passe']!=$vmdp)
{
echo "Erreur d'identification.";
exit();
}
//ID OK
$_SESSION['auth']="oui";
$_SESSION['pseudo']=$vpseudo;
$_SESSION['niveau']=$ligne['niveau'];
echo "
<font face='tahoma' color='#558EDA' size='3'>
<br>Bonjour $_SESSION[pseudo] !
<br><a href='profil.php' style='color: rgb(85, 142, 213); text-decoration: none;'> > Mon profil</a></font>
";
}
else
{
//Formulaire
echo"<html>
<form action='index.php' method='POST' enctype='multipart/form-data'>
<input type='hidden' value='ok' name='form' />
<table width='200' border='0' align='center'>
<input type='hidden' value='$histo' /> <tr>
<td><input name='pseudo' type='text' /></td>
</tr>
<tr>
<td><input name='mdp' type='password' id='mdp' /></td>
</tr>
<tr>
<td><input type='submit' value='Connexion' /></td>
</tr>
<tr>
<td> <font face='Tahoma'><b><a href='inscription.php' style='color: rgb(85, 142, 213); text-decoration: none;'>Inscription !</a></b></font></td>
</tr>
</table>
</form>";
}
?>[/php]
Pourtant sur une page avec juste ça (voir ci dessous) ça marche bien !
[php]<?php
session_start();
echo "$_SESSION[pseudo]";
?>[/php]
Je suis un peu perdu...
Merci