Bonjour, j'ai un problème qui se présente lors de la mise en ligne de mon site, en local il fonctionne très bien.
Dans ma base de donnée j'ai une table configuration avec 2 champ : Login_admin (clé primaire) et Password_admin qui est crypté en md5 déclaré en var (32).
Dans mon fichier Log.php, je compare le mot de passe de la bd avec celui entré dand le formulaire, je crois que c'est la le problème mais n'en suis pas sure.
Quelqu'un pourra peut etre m'aider, car je n'avance plus et comprend de moins en moins mes erreurs.
Lorsque j'essaie de me connecter à la partie admin de mon site :
la variable Sql retourne : SELECT Login_admin, Password_admin FROM configuration WHERE Login_admin='admin' AND Password_admin=password('admin')
la variable Sql retourne : Resource id #2
erreur sur variable n
mon code Log.php
<?
session_start () ;
$db = mysql_connect ("sql.free.fr", "*****", "*****" ) ;
mysql_select_db ("*****" ) ;
switch ($_GET['action'])
{
case'Log_in':
//si on entre que l'identifiant sans mot de passe
if (empty ($_POST['Form_login']))
{
header ("Location: index.php?etat=1" ) ;
}
//si on entre que le mot de passe sans l'identifiant
elseif (empty ($_POST['Form_password']))
{
header ("Location: index.php?etat=2" ) ;
}
else
//si on entre l'identifiant et le mot de passe
{
$Sql = "SELECT Login_admin, Password_admin FROM configuration WHERE Login_admin='".$_POST['Form_login']."' AND Password_admin=password('".$_POST['Form_password']."')";
echo "la variable Sql retourne : $Sql<br>";
$Req = mysql_query ($Sql) or die ("erreur sur $Req" );
echo "la variable Sql retourne : $Req<br>";
$n = mysql_num_rows ($Req) or die ("erreur sur variable n" );
echo "<variable n retourne : $n lignes";
if ($n != 0)
{
session_register ("Admin" );
header ("Location: index.php" );
}
else
{
header ("Location: index.php?etat=3" ) ;
}
}
break ;
case'Log_out':
session_unregister ("Admin" ) ;
header ("Location: index.php" ) ;
break ;
case'Change':
if (empty ($_POST['Form_login']))
{
header ("Location: index.php?page=Change_pass&etat=1" ) ;
}
elseif (empty ($_POST['Form_password']))
{
header ("Location: index.php?page=Change_pass&etat=2" ) ;
}
elseif (empty ($_POST['Form_password_2']))
{
header ("Location: index.php?page=Change_pass&etat=3" ) ;
}
elseif ($_POST['Form_password'] != $_POST['Form_password_2'])
{
header ("Location: index.php?page=Change_pass&etat=4" ) ;
}
else
{
$Sql = "UPDATE `configuration` SET `Login_admin` = '".$_POST['Form_login']."', `Password_admin` = PASSWORD( '".$_POST['Form_password']."' )" ;
$Req = mysql_query ($Sql) ;
header ("Location: index.php?page=Change_pass&etat=5" ) ;
}
break ;
}
?>
Message édité par Gaoula73 le 26-11-2009 à 10:52:28