Aller au contenu

Impossible de s'identifier


goldrazor

Sujets conseillés

Bonjour,

je rencontre un problème avec un script.

Malgré la bdd et les identifiants corrects, je n'arrive pas à le faire fonctionner.

Le script me retourne l'erreur $message.=$iden_echouee; qui signifie "identification échouée"

Peut etre il y a t'il une erreur de programmation ?

Je pense que ça bug là :

if (isset($_POST['identification']))

{

if (empty($_POST['passe']) || empty($_POST['pseudo']))

{

$message.=$champs_non_remplis_login;

}

$verification="select pseudo,passe from pds_bannieres_membres where pseudo=\"$_POST[pseudo]\" and passe=\"$_POST[passe]\" and valide=1 ";

$sql=mysql_query($verification);

$num_rows=mysql_num_rows($sql);

if ($num_rows==0)

{

$message.=$iden_echouee;

}

if ($message=='')

{

if ($_POST['retenir']==on)

{

$expire = 365*24*3600; // on défini la durée du cookie, 1 an

setcookie("pseudo_pds_ban","$_POST[pseudo]",time()+$expire);

setcookie("passe_pds_ban","$_POST[passe]",time()+$expire);

print "<script language=javascript>window.location=\"membres/membres.php\"</script>";

}

else

{

setcookie("pseudo_pds_ban","$_POST[pseudo]");

setcookie("passe_pds_ban","$_POST[passe]");

print "<script language=javascript>window.location=\"membres/membres.php\"</script>";

}

}

}

<modérateur : merci de rédiger tes messages dans un français correct>

Modifié par goldrazor
Lien vers le commentaire
Partager sur d’autres sites

Remplace la ligne

$sql=mysql_query($verification);

par

$sql=mysql_query($verification)or die('Erreur dans la connexion MySQL :<br />'.mysql_error().'');

Si "Erreur dans la connexion MySQL" s'affiche, donne nous le message d'erreur qui est à la ligne suivante.

Lien vers le commentaire
Partager sur d’autres sites

Alors remplace ce que je t'ai donné par ça :

$sql=mysql_query($verification)or die($message.='Erreur dans la connexion MySQL :<br />'.mysql_error().'';);

Lien vers le commentaire
Partager sur d’autres sites

Donc la requête fonctionne correctement, ça veut dire qu'aucun enregistrement n'est retourné, et donc tout bêtement que... tes identifiants sont incorrects.

Visiblement, ils ne sont pas cryptés, tu peux donc facilement vérifier dans ta base de données si tu entres les bons...

Lien vers le commentaire
Partager sur d’autres sites

tu te fais une petit

echo $verification;

Ca t'affichera ta requete.

Tu fais un copier-coller dans phpmyadmin et tu veras ce que ta requete te donne.

Hervé

Lien vers le commentaire
Partager sur d’autres sites

Effectivement j'ai la même erreur, mais ce sont bien les identifiants qui ont un problème...

Fais ce qu'Hervé suggère, et regarde si un enregistrement est effectivement renvoyé.

Lien vers le commentaire
Partager sur d’autres sites

comme ceci ?

$verification="select pseudo,passe from pds_bannieres_membres where pseudo=\"$_POST[pseudo]\" and passe=\"$_POST[passe]\" and valide=1 ";
echo $verification;

Car je veux pas etre chiant, mais ca affiche rien du tout :-/

Lien vers le commentaire
Partager sur d’autres sites

Quand tu as un problème de ce type la meilleur solution est de voir ce que tu envois comme requete et voir ce qu'elle te rend.

De plus tu veras directement si tes login/ pass sont juste dans ta requete.

Peut être une petite idee, remplace ta requete par :

$verification="select pseudo,passe from pds_bannieres_membres where pseudo='$_POST[pseudo]' and passe='$_POST[passe]' and valide='1'";

Hervé

Lien vers le commentaire
Partager sur d’autres sites

C'est gentil webadev de me venir en aide. Malheureusement, malgrés ce changement de requete, il y a toujours ce msgbox qui m'indique que mon identification a échoué.

Lien vers le commentaire
Partager sur d’autres sites

Salut

Ce n'est certainement pas moi qui t'aiderait en PHP, mais au-délà de l'alerte Javascript tu as surtout un message d'erreur PHP selon lequel tu aurais un problème d'en-têtes dans ton code ("headers already sent")

Généralement ce message provient d'un include foireux.. donc essaie peut-être déjà de voir de ce côté-là..

Warning: Cannot modify header information - headers already sent by (output started at /home.3/promocli/www/login.php:6) in /home.3/promocli/www/login.php on line 124

Warning: Cannot modify header information - headers already sent by (output started at /home.3/promocli/www/login.php:6) in /home.3/promocli/www/login.php on line 12

Hope this helps !

Lien vers le commentaire
Partager sur d’autres sites

En ce qui concerne l'erreur en php, tu dois avoir un caractere qui s'affiche avant la creation de ta session un truc du style.

C'est gentil webadev de me venir en aide. Malheureusement, malgrés ce changement de requete, il y a toujours ce msgbox qui m'indique que mon identification a échoué.

Tu as fais ce que je t'ai dis avec l'affichage de ta requete ?

PhpMyAdmin t'a donné quoi ?

EDIT 1 :

On a pas tout le script à quel moment tu fais intervenir ta voite Alert ?

Car à mon avis c'est à ce niveau que cela ce situe.

EDIT 2 :

Remplace

print "<script language=javascript>window.location=\"membres/membres.php\"</script>";

Par

header("Location: http://http://www.promoclic.com/membres/membres.php");
exit();

Petit conseil : Ajoute un index.html dans ton repertoire /membres/

EDIT 3 :

Autre conseil : utilise les sessions si le gars ne veut pas retenir son login/pass

Donne nous le code de ta page membres.php

Je suis sur a 99% que le problème vient de la, vu qu'on est redirigé dessus donc ca vérifie ta condition : $message==''

Hervé

Modifié par webadev
Lien vers le commentaire
Partager sur d’autres sites

Après avoir testé avec goldrazor, la requête SQL est correcte et retourne bien l'utilisateur demandé, le problème est autre part...

Cf le message d'Hervé et celui de Dudu.

Lien vers le commentaire
Partager sur d’autres sites

Webadev, quand je fais la modification au niveau du code, je me retrouve avec le problème cité par dudu.

Pour la construction du site, j'ai volontairement pas mis d'index dans le repertoire membres ainsi que dans d'autre repertoire. mais ca ne saurai tarder ;-)

Voici le code de la page membres.php

<?
//On inclut les fichiers necessaires
include ("../config.php");
include ("../protection.php");
include ("../langues.php");
include ("../fonctions.php");
include ("../haut.php");

//On vérifie si la page est appelée avec la fonction suspendre
if (isset ($_GET['suspendre']))
{
$update="update pds_bannieres_membres set suspendre=$_GET[suspendre] where pseudo=\"$_COOKIE[pseudo_pds_ban]\" and passe=\"$_COOKIE[passe_pds_ban]\"";
$sql=mysql_query($update);
}

//on inclut la fonction d'affichage
affichage();

//On inclut le début du tableau membres
debut_tableau_membres();

//On affiche la page
print "<center><b>Bienvenue dans votre espace membre <font color=red>$_COOKIE[pseudo_pds_ban]</font><br><br></center><hr width=50><br><br>";
$selection="select * from pds_bannieres_membres where pseudo=\"$_COOKIE[pseudo_pds_ban]\" and passe=\"$_COOKIE[passe_pds_ban]\"";
$sql=mysql_query($selection);
while ($a_row=mysql_fetch_assoc($sql))
{
print "Il vous reste actuellement <font color=red>$a_row[credits]</font> crédits. Vous avez affiché <font color=red>$a_row[affichages_envoyes]</font> bannières pour <font color=red>$a_row[affichages_recus]</font> bannières affichées.<br><br>";
print "<hr width=50>Vous avez généré <font color=red>$a_row[clics_envoyes]</font> clics et en avez reçu <font color=red>$a_row[clics_recus]</font><br><br>";
//On vérifie si le compte est supendu ou non
if ($a_row['suspendre']==1)
{
print $fin_membres_desactive;;
}
else
{
print $fin_membres_active;
}
}

//On inclut la fin du tableau des membres
fin_tableau_membres();

//On inclut le ficher bas.php
include ("../bas.php");
?>

Il y a t'il une erreur sur cette page ?

Merci ;)

Lien vers le commentaire
Partager sur d’autres sites

Apparemment je crois avoir trouvé la solution.

J'ai inclu le template dans les fichiers haut.php et bas.php, chose que je n'avais pas fait. J'avais carrement inclu le script au milieu du template.

Je remercie toutes les personnes ayant participé de prés ou de loin à cette discussion et j'espere que celle ci profitera pour d'autres débutants comme moi lol

A bientot j'espere, mais bon je suis pas pressé ;-)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...