[PHP] Problème bizarre
Mortinos
-
Mortinos -
Mortinos -
Bonjour,
Je vais vous expliquer mon soucis , dans mon code , on verifie d'abord si le pseudo du joueur à déjà joué aujourd'hui dans une table uniquement prévue a ça , si il a déjà joué , donc pseudo déjà présent dans la table il doit etre dirigé vers une page d'erreur !
Problème , il peut rejouer autant de fois qu'il veux !
Voyez :
[...]
mysql_select_db("xtremdl_dejajoue");
$pseudojoue = mysql_query("SELECT pseudo FROM xtremdl_dejajoue") or die(mysql_error());
$donneespseudo = mysql_fetch_array($pseudojoue);
if ($donneespseudo[pseudo] == $pseudo)
{
header("location:dejajoue.php");
}
Else
{
mysql_query("INSERT INTO xtremdl_dejajoue(id, pseudo) VALUES('', '$pseudo')");
if ($donnees['ID'] == '15')
{
echo "Vous avez gagné !";
}
else
{
echo "Vous avez perdu !";
}
}
mysql_close();
?>
Le truc c'est qu'il est bien dans la table son pseudo , donc la valeur de la variable $pseudo est juste !
Je ne comprends pas d'ou peu venir l'erreur !
Je vais vous expliquer mon soucis , dans mon code , on verifie d'abord si le pseudo du joueur à déjà joué aujourd'hui dans une table uniquement prévue a ça , si il a déjà joué , donc pseudo déjà présent dans la table il doit etre dirigé vers une page d'erreur !
Problème , il peut rejouer autant de fois qu'il veux !
Voyez :
[...]
mysql_select_db("xtremdl_dejajoue");
$pseudojoue = mysql_query("SELECT pseudo FROM xtremdl_dejajoue") or die(mysql_error());
$donneespseudo = mysql_fetch_array($pseudojoue);
if ($donneespseudo[pseudo] == $pseudo)
{
header("location:dejajoue.php");
}
Else
{
mysql_query("INSERT INTO xtremdl_dejajoue(id, pseudo) VALUES('', '$pseudo')");
if ($donnees['ID'] == '15')
{
echo "Vous avez gagné !";
}
else
{
echo "Vous avez perdu !";
}
}
mysql_close();
?>
Le truc c'est qu'il est bien dans la table son pseudo , donc la valeur de la variable $pseudo est juste !
Je ne comprends pas d'ou peu venir l'erreur !
A voir également:
- [PHP] Problème bizarre
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
5 réponses
je pense que le problème réside dans la condition de if; tt d'abord faut ajouter une boucle for ou bien while pr qu'il boucle sur tout le tableau, après je pense que la condition doit s'ecrire ainsi: if ($pseudojoue == $pseudo) sans lesdeux crochets!!! ca doit ressembler un ti peu à ça::
for($i=0;$i<$donneespseudo;$i++)
{if(isset($_POST[$donneespseudo])== $pseudo)
là tu fais le traitement je pense que là tu vas appeler la page header("location:dejajoue.php");
}
PS: en fait dès fois le header ca marche pas
for($i=0;$i<$donneespseudo;$i++)
{if(isset($_POST[$donneespseudo])== $pseudo)
là tu fais le traitement je pense que là tu vas appeler la page header("location:dejajoue.php");
}
PS: en fait dès fois le header ca marche pas
Le soucis c'est que la valeur de pseudo ne viens pas d'un formulaire précédement remplie , c'est un espace membre
Bonjour
Le problème, c'est que tu testes TOUJOURS le premier pseudo de la base.
la requête ("SELECT pseudo FROM xtremdl_dejajoue") extrait tous les pseudos
ton $donneespseudo = mysql_fetch_array($pseudojoue); extrait la première réponse.
Ensuite, tu ne traites que cette cette première réponse.
Il faut directement compter le nombre de bonnes réponses :
$reponse = mysql_query("SELECT count(*) as nombre FROM xtremdl_dejajoue WHERE pseudo = '$pseudo'") or die(mysql_error());
$ligne = mysql_fetch_array($reponse);
if ($ligne['nombre'] > 0) ...
Le problème, c'est que tu testes TOUJOURS le premier pseudo de la base.
la requête ("SELECT pseudo FROM xtremdl_dejajoue") extrait tous les pseudos
ton $donneespseudo = mysql_fetch_array($pseudojoue); extrait la première réponse.
Ensuite, tu ne traites que cette cette première réponse.
Il faut directement compter le nombre de bonnes réponses :
$reponse = mysql_query("SELECT count(*) as nombre FROM xtremdl_dejajoue WHERE pseudo = '$pseudo'") or die(mysql_error());
$ligne = mysql_fetch_array($reponse);
if ($ligne['nombre'] > 0) ...
Slt
essaie ça voir
Ben il y'a un truc que je ne comprend pas
xtremdl_dejajoue c'est quoi ? le nom de la BDD ou le nom de la table ou bien la BDD et la table ont le meme nom?
et j'espère que tu sais d'où proviens $donnees['ID']
cdlt.
;-)
essaie ça voir
mysql_select_db("xtremdl_dejajoue"); $joueurExiste = false; // Variable me permetant de determiner si le joueur existe ou non $pseudojoue = mysql_query("SELECT pseudo FROM xtremdl_dejajoue") or die(mysql_error()); if(mysql_num_rows($pseudojoue) > 0) { while(($donnespseudo = mysql_fetch_array($pseudojoue)) AND !($joueurExiste)) { if($donnespseudo['pseudo'] == $pseudo) { $joueurExiste = true; } } } if ($joueurExiste) { header("location:dejajoue.php"); // echo '<script>window.location="dejajoue.php"</script>' // à utiliser si le header ne fonctionne pas. } Else { mysql_query("INSERT INTO xtremdl_dejajoue(id, pseudo) VALUES('', '$pseudo')"); if ($donnees['ID'] == '15') { echo "Vous avez gagné !"; } else { echo "Vous avez perdu !"; } } mysql_close();
Ben il y'a un truc que je ne comprend pas
xtremdl_dejajoue c'est quoi ? le nom de la BDD ou le nom de la table ou bien la BDD et la table ont le meme nom?
et j'espère que tu sais d'où proviens $donnees['ID']
cdlt.
;-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Citation :
"Le problème, c'est que tu testes TOUJOURS le premier pseudo de la base. "
Exact ! Merci , je n'avais pas remarqué , je comprends donc pourquoi sous un pseudo ça marchait et pas sous un autre maintenant !
@William7007 >
Je viens d'essayer , ce code fonctionne parfaitement ! :D
Le header("Location....); marche parfaitement en plus !
Oui oui je sais d'où viens $donnees['ID'] et pour xtremdl_dejajoue , c'est le nom de la base de donnée , mais également celui de la table (peur de m'enmeller les pinceaux :D) .
Bref , merci a CCM et a vous tous de votre aide :)
C'est super , vous êtes géniaux :)
"Le problème, c'est que tu testes TOUJOURS le premier pseudo de la base. "
Exact ! Merci , je n'avais pas remarqué , je comprends donc pourquoi sous un pseudo ça marchait et pas sous un autre maintenant !
@William7007 >
Je viens d'essayer , ce code fonctionne parfaitement ! :D
Le header("Location....); marche parfaitement en plus !
Oui oui je sais d'où viens $donnees['ID'] et pour xtremdl_dejajoue , c'est le nom de la base de donnée , mais également celui de la table (peur de m'enmeller les pinceaux :D) .
Bref , merci a CCM et a vous tous de votre aide :)
C'est super , vous êtes géniaux :)