Problème de récupération de variable $_GET

Répondre
Val
le 20/01/2005 à 22:09
Val
Voilà, je fais un script de combat dans un jeu. Et je récupère le pseudo du joueur attaqué dans l'adresse avec $_GET , seulement, je ne sais pas pourquoi ça ne fonctionne pas dans mon script d'attaque. Quelqu'un peut m'aider? Merci d'avance.

Si quelqu'un désire voir la source, qu'il le dise^^
Val
le 21/01/2005 à 18:40
Val
<html>
<head>
<title>Antiquity Empires</title>
</head>
<body bgcolor="#DDDEB" link="#8A7B48" vlink="#8A7B48"><center>
<?
session_start();

if(!isset($_SESSION['login'])) {
echo '<center>Vous n\'êtes pas autorisé à accèder à cette zone';
include('login.txt');
}
else
{
?>
<font face="Arial" size="2">
<?php
mysql_connect("localhost","****","****");
mysql_select_db("ae");

$pseudo=$_SESSION['login'];

$joueur = $_GET[joueur];

$requete=mysql_query("SELECT * FROM `2` WHERE nom='$pseudo'");
$voir=mysql_fetch_object($requete);

/* Calcul du temps passé */

$temps=time();

$temps2="$voir->heure";

$tempspasse=($temps - $temps2);

if($tempspasse > 1800 )
{

$calcultour=($tempspasse / 1800);

$calcultour2=floor($calcultour);

$calcultour3=($tempspasse - ($calcultour2 * 1800));

$calcultour4=($temps - $calcultour3);

mysql_query("UPDATE `2` SET heure='$calcultour4' WHERE nom='$pseudo'");

/* Calcul des tours */

$tour="$voir->tours";

$tour2=($tour + $calcultour2);

mysql_query("UPDATE `2` SET tours='$tour2' WHERE nom='$pseudo'");

/* Calcul de l'or */

$entrepot="$voir->entrepot";

$mineurs="$voir->mineurs";

$argent="$voir->argent";

$argent2=($argent + ($calcultour2 * (50 * $mineurs)));

if($argent2 > $entrepot)
{
mysql_query("UPDATE `2` SET argent='$entrepot' WHERE nom='$pseudo'");
$argent2=$entrepot;
}
else
{
mysql_query("UPDATE `2` SET argent='$argent2' WHERE nom='$pseudo'");
}

/* Calcul de la magie */

$mages="$voir->mages";

$pe="$voir->pe";

$petour=(50 * mages);

$pefinal=(($petour * $calcultour2)+$pe);

mysql_query("UPDATE `2` SET pe='$pefinal' WHERE nom='$pseudo'");

/* Calcul du bois */

$bois="$voir->bois";

$bucherons="$voir->bucherons";

$bois2=($bois + ($calcultour2 * (100 * $bucherons)));

if($bois2 > $entrepot)
{
mysql_query("UPDATE `2` SET bois='$entrepot' WHERE nom='$pseudo'");
$bois2=$entrepot;
}
else
{
mysql_query("UPDATE `2` SET bois='$bois2' WHERE nom='$pseudo'");
}

/* Calcul de la pierre */

$mineurs2="$voir->mineurs2";

$pierre="$voir->pierre";

$pierre2=($pierre + ($calcultour2 * (60 * $mineurs2)));

if($pierre2 > $entrepot)
{
mysql_query("UPDATE `2` SET pierre='$entrepot' WHERE nom='$pseudo'");
$pierre2=$entrepot;
}
else
{
mysql_query("UPDATE `2` SET pierre='$pierre2' WHERE nom='$pseudo'");
}

/* Calcul de la nourriture */

$fermiers="$voir->fermiers";

$bouffe="$voir->bouffe";

$bouffe2=($bouffe + ($calcultour2 * (90 * $fermiers)));

if($bouffe2 > $entrepot)
{
mysql_query("UPDATE `2` SET bouffe='$entrepot' WHERE nom='$pseudo'");
$bouffe2=$entrepot;
}
else
{
mysql_query("UPDATE `2` SET bouffe='$bouffe2' WHERE nom='$pseudo'");
}

/* Calcul du fer */

$mineurs3="$voir->mineurs3";

$fer="$voir->fer";

$fer2=($fer + ($calcultour2 * (80 * $mineurs3)));

if($fer2 > $entrepot)
{
mysql_query("UPDATE `2` SET fer='$entrepot' WHERE nom='$pseudo'");
$fer2=$entrepot;
}
else
{
mysql_query("UPDATE `2` SET fer='$fer2' WHERE nom='$pseudo'");
}

}
else
{

/* Aucun tour ne s'est écoulé */

$tour2="$voir->tours";
$argent2="$voir->argent";
$pefinal="$voir->pe";
$bois2="$voir->bois";
$pierre2="$voir->pierre";
$fer2="$voir->fer";
$bouffe2="$voir->bouffe";
}
$civilisationa="$voir->civilisation";
if($civilisationa == 1 )
{
$civil="Romains";
$nomtroupe1="Légions";
$force1a="10";
$nomtroupe2="Archers";
$force2a="12";
$nomtroupe3="Cavalerie";
$force3a="30";
$nomtroupe4="Catapultes";
$force4a="38";
}
if($civilisationa == 2 )
{
$civil="Grecs";
$nomtroupe1="Fantassins";
$force1a="10";
$nomtroupe2="Archers";
$force2a="12";
$nomtroupe3="Hoplites";
$force3a="11";
$nomtroupe4="Balistes";
$force4a="35";
}
if($civilisationa == 3 )
{
$civil="Gaulois";
$nomtroupe1="Guerriers";
$force1a="10";
$nomtroupe2="Archers";
$force2a="12";
$nomtroupe3="Cavalerie";
$force3a="30";
$nomtroupe4="Javeliniers";
$force4a="10";
}
if($civilisationa == 4 )
{
$civil="Egyptiens";
$nomtroupe1="Chameliers";
$force1a="16";
$nomtroupe2="Archers";
$force2a="12";
$nomtroupe3="Chars";
$force3a="18";
$nomtroupe4="Hoplites";
$force4a="11";
}

$troupe1a="$voir->armee1";
$troupe2a="$voir->armee2";
$troupe3a="$voir->armee3";
$troupe4a="$voir->armee4";

if($joueur ='')
{
$rapport="";
}
else
{
if($tour2 == 0)
{
$rapport="Vous n'avez plus assez de tours.";
}
else
{
$requeteb = mysql_query("SELECT * FROM `2` WHERE nom='$joueur'") or die ("erreur sql");
$voirb = mysql_fetch_array($requeteb);

$vent="$voirb->vent";
if($vent > 10)
{
$vent=($vent/2);
$vent=floor($vent);
}
else
{
$vent="0";
}

$tem="$voirb->meteo";

if($tem == 1)
{
$temps="0";
}

$civilisationb="$voirb->civilisation";
if($civilisationb == 1 )
{
$civil="Romains";
$nomtroupe1b="Légions";
$force1b="10";
$nomtroupe2b="Archers";
$force2b="12";
$nomtroupe3b="Cavalerie";
$force3b="30";
$nomtroupe4b="Catapultes";
$force4b="19";
}
if($civilisationb == 2 )
{
$civil="Grecs";
$nomtroupe1b="Fantassins";
$force1b="10";
$nomtroupe2b="Archers";
$force2b="12";
$nomtroupe3b="Hoplites";
$force3b="11";
$nomtroupe4b="Balistes";
$force4b="18";
}
if($civilisationb == 3 )
{
$civil="Gaulois";
$nomtroupe1b="Guerriers";
$force1b="10";
$nomtroupe2b="Archers";
$force2b="12";
$nomtroupe3b="Cavalerie";
$force3b="30";
$nomtroupe4b="Javeliniers";
$force4b="10";
}
if($civilisationb == 4 )
{
$civil="Egyptiens";
$nomtroupe1b="Chameliers";
$force1b="16";
$nomtroupe2b="Archers";
$force2b="12";
$nomtroupe3b="Chars";
$force3b="18";
$nomtroupe4b="Hoplites";
$force4b="11";
}

/* Calcul du temps passé */

$temps=time();

$temps2="$voirb->heure";

$tempspasse=($temps - $temps2);

if($tempspasse > 1800 )
{

$calcultour=($tempspasse / 1800);

$calcultour2=floor($calcultour);

$calcultour3=($tempspasse - ($calcultour2 * 1800));

$calcultour4=($temps - $calcultour3);

mysql_query("UPDATE `2` SET heure='$calcultour4' WHERE nom='$joueur'");

/* Calcul des tours */

$tour="$voirb->tours";

$tour3=($tour + $calcultour2);

mysql_query("UPDATE `2` SET tours='$tour3' WHERE nom='$joueur'");


/* Calcul de l'or */

$entrepotb="$voirb->entrepot";

$mineurs="$voirb->mineurs";

$argent="$voirb->argent";

$argent3=($argent + ($calcultour2 * (50 * $mineurs)));

if($argent3 > $entrepotb)
{
mysql_query("UPDATE `2` SET argent='$entrepot' WHERE nom='$joueur'");
$argent3=$entrepot;
}
else
{
mysql_query("UPDATE `2` SET argent='$argent3' WHERE nom='$joueur'");
}

/* Calcul de la magie */

$mages="$voirb->mages";

$pe="$voirb->pe";

$petour=(50 * mages);

$pefinal3=(($petour * $calcultour2)+$pe);

mysql_query("UPDATE `2` SET pe='$pefinal3' WHERE nom='$joueur'");

/* Calcul du bois */

$bois="$voirb->bois";

$bucherons="$voirb->bucherons";

$bois3=($bois + ($calcultour2 * (100 * $bucherons)));

if($bois3 > $entrepotb)
{
mysql_query("UPDATE `2` SET bois='$entrepot' WHERE nom='$joueur'");
$bois3=$entrepot;
}
else
{
mysql_query("UPDATE `2` SET bois='$bois3' WHERE nom='$joueur'");
}

/* Calcul de la pierre */

$mineurs2="$voirb->mineurs2";

$pierre="$voirb->pierre";

$pierre3=($pierre + ($calcultour2 * (60 * $mineurs2)));

if($pierre3 > $entrepotb)
{
mysql_query("UPDATE `2` SET pierre='$entrepot' WHERE nom='$joueur'");
$pierre3=$entrepot;
}
else
{
mysql_query("UPDATE `2` SET pierre='$pierre3' WHERE nom='$joueur'");
}

/* Calcul de la nourriture */

$fermiers="$voirb->fermiers";

$bouffe="$voirb->bouffe";

$bouffe3=($bouffe + ($calcultour2 * (90 * $fermiers)));

if($bouffe3 > $entrepotb)
{
mysql_query("UPDATE `2` SET bouffe='$entrepot' WHERE nom='$joueur'");
$bouffe3=$entrepot;
}
else
{
mysql_query("UPDATE `2` SET bouffe='$bouffe3' WHERE nom='$joueur'");
}

/* Calcul du fer */

$mineurs3="$voirb->mineurs3";

$fer="$voirb->fer";

$fer3=($fer + ($calcultour2 * (80 * $mineurs3)));

if($fer3 > $entrepotb)
{
mysql_query("UPDATE `2` SET fer='$entrepot' WHERE nom='$joueur'");
$fer3=$entrepot;
}
else
{
mysql_query("UPDATE `2` SET fer='$fer3' WHERE nom='$joueur'");
}

}
else
{

/* Aucun tour ne s'est écoulé */

$tour3="$voirb->tours";
$argent3="$voirb->argent";
$pefinal="$voirb->pe";
$bois3="$voirb->bois";
$pierre3="$voirb->pierre";
$fer3="$voirb->fer";
$bouffe3="$voirb->bouffe";
}

$troupe1b="$voirb[armee1]";
$troupe2b="$voirb[armee2]";
$troupe3b="$voirb[armee3]";
$troupe4b="$voirb[armee4]";

$enceinteb="$voirb[enceinte]";
$douvesb="$voirb[douves]";

if($douvesb == 0)
{
$douves2b="0";
}
if($douvesb == 1)
{
$douves2b="250";
}

if($enceinteb == 0 )
{
$enceinte2b="0";
}
if($enceinteb == 1 )
{
$enceinte2b="400";
}
if($enceinteb == 2 )
{
$enceinte2b="800";
}
if($enceinteb == 3 )
{
$enceinte2b="2000";
}
if($enceinteb == 4 )
{
$enceinte2b="4500";
}

$meteo=($vent+$temps);

$attaque=(($force1a * $troupe1a)+($force2a * $troupe2a)+($force3a * $troupe3a)+($force4a * $troupe4a));
$morala=rand (1,25);
$attaque2=($attaque + (($attaque / 100) * $morala));
$attaquefinal=($attaque2 - (($attaque2 / 100) * ($temps+$vent)));

$defense=(($force1b * $troupe1b)+($force2b * $troupe2b)+($force3b * $troupe3b)+($force4b * $troupe4b));
$enceint=($enceinte2b);
$douve=($douves2b);
$moralb=rand (1,25);
$defensefinal=($defense + $enceint + $douve + (($defense / 100) * $moralb));

$conclusion=($attaquefinal - $defensefinal);

if($conclusion > 0)
{
$tauxor=rand(40,90);
$argent4=($argent2+(($argent3/100)*$tauxor));
$argent5=($argent3-(($argent3/100)*$tauxor));
$argent6=(($argent3/100)*$tauxor);
mysql_query("UPDATE `2` SET argent='$argent4' WHERE nom='$pseudo'");
mysql_query("UPDATE `2` SET argent='$argent5' WHERE nom='$joueur'");
$tauxfer=rand(30,60);
$fer4=($fer2+(($fer3/100)*$tauxfer));
$fer5=($fer3-(($fer3/100)*$tauxfer));
$fer6=(($fer3/100)*$tauxfer);
mysql_query("UPDATE `2` SET fer='$fer4' WHERE nom='$pseudo'");
mysql_query("UPDATE `2` SET fer='$fer5' WHERE nom='$joueur'");
$tauxpierre=rand(20,50);
$pierre4=($pierre2+(($pierre3/100)*$tauxpierre));
$pierre5=($pierre3-(($pierre3/100)*$tauxpierre));
$pierre6=(($pierre3/100)*$tauxpierre);
mysql_query("UPDATE `2` SET pierre='$pierre4' WHERE nom='$pseudo'");
mysql_query("UPDATE `2` SET pierre='$pierre5' WHERE nom='$joueur'");
$tauxbois=rand(30,50);
$bois4=($bois2+(($bois3/100)*$tauxbois));
$bois5=($bois3-(($bois3/100)*$tauxbois));
$bois6=(($bois3/100)*$tauxbois);
mysql_query("UPDATE `2` SET bois='$bois4' WHERE nom='$pseudo'");
mysql_query("UPDATE `2` SET bois='$bois5' WHERE nom='$joueur'");
$tauxnourriture=rand(50,90);
$bouffe4=($bouffe2+(($bouffe3/100)*$tauxbouffe));
$bouffe5=($bouffe3-(($bouffe3/100)*$tauxbouffe));
$bouffe6=(($bouffe3/100)*$tauxbouffe);
mysql_query("UPDATE `2` SET bouffe='$bouffe4' WHERE nom='$pseudo'");
mysql_query("UPDATE `2` SET bouffe='$bouffe5' WHERE nom='$joueur'");
$rapport="<b>Rapport de la bataille</b><br><br>
<b>Force armée de $pseudo:</b><br>$attaque<br><b>Moral des troupes:</b><br>$morala<br><br>
<b>Force armée de $joueur:</b><br>$defense<br><b>Moral des troupes:</b><br>$moralb<br><br>
<b>Enceinte de la ville de $joueur:</b><br>$enceint<br>Douves: $douve<br><br>
<b>Conditions météorologiques:</b> La météo vous donne un malus de $meteo %.<br><br>
<b>Conclusion:</b><br><b>Attaque:</b><br>$attaquefinal<br><b>Défense:</b><br>$defensefinal<br><br>
<b>Ressources gagnées:<br>Or: $argent6<br>Fer: $fer6<br>Pierre: $pierre6<br>Bois: $bois6<br>Nourriture: $bouffe6";
}
else
{
$troupe1perdu=rand(5,10);
$troupe1perdu2=($troupe1a-$troupe1perdu);
if($troupe1perdu2 < 0)
{
$troupe1perdu3="0";
}
else
{
$troupe1perdu3=$troupe1perdu2;
}
mysql_query("UPDATE `2` SET armee1='$troupe1perdu3' WHERE nom='$pseudo'");

$troupe2perdu=rand(5,10);
$troupe2perdu2=($troupe2a-$troupe2perdu);
if($troupe2perdu2 < 0)
{
$troupe2perdu3="0";
}
else
{
$troupe2perdu3=$troupe2perdu2;
}
mysql_query("UPDATE `2` SET armee2='$troupe2perdu3' WHERE nom='$pseudo'");

$troupe3perdu=rand(5,10);
$troupe3perdu2=($troupe3a-$troupe3perdu);
if($troupe3perdu2 < 0)
{
$troupe3perdu3="0";
}
else
{
$troupe3perdu3=$troupe3perdu2;
}
mysql_query("UPDATE `2` SET armee3='$troupe3perdu3' WHERE nom='$pseudo'");

$troupe4perdu=rand(5,10);
$troupe4perdu2=($troupe4a-$troupe4perdu);
if($troupe4perdu2 < 0)
{
$troupe4perdu3="0";
}
else
{
$troupe4perdu3=$troupe4perdu2;
}
mysql_query("UPDATE `2` SET armee4='$troupe4perdu3' WHERE nom='$pseudo'");

$rapport="<b>Rapport de la bataille</b><br><br>
<b>Force armée de $pseudo:</b><br>$attaque<br><b>Moral des troupes:</b><br>$morala<br><br>
<b>Force armée de $joueur:</b><br>$defense<br><b>Moral des troupes:</b><br>$moralb<br><br>
<b>Enceinte de la ville de $joueur:</b><br>$enceint<br>Douves: $douve<br><br>
<b>Conditions météorologiques:</b> La météo vous donne un malus de $meteo %.<br><br>
<b>Conclusion:</b><br><b>Attaque:</b><br>$attaquefinal<br><b>Défense:</b><br>$defensefinal<br><br>
<b>Troupes perdues:</b><br>$troupe1perdu3 $nomtroupe1<br>$troupe2perdu3 $nomtroupe2<br>$troupe3perdu3 $nomtroupe3<br>$troupe4perdu3 $nomtroupe4";
}
$temps=time();
$date = getdate();
$jour = $date['mday'];
$mois = $date['mon'];
$annee = $date['year'];
$heure = $date['hours'];
$min = $date['minutes'];
$quand ="Le $jour/$mois/$annee à $heure h $min";
mysql_query("INSERT INTO att ( attaquant, defenseur, ressources, rapport, heure, temps)VALUES ( '$pseudo', '$joueur','$ress','$rapport','$quand','$temps')");
}
}
?>
<table width="800" height="200" cellpading="0" cellspacing="0">
<tr><td><img src="banniere.jpg" border="0"></td></tr></table>
<table width="800" height="400" cellpadding="0" cellspacing="0">
<tr><td width="1" bgcolor="#7A6937"></td>
<td width="638" bgcolor="#FFFFFF" valign="top">
<?
echo"<font color=\"#AA9664\" face=\"Arial\" size=\"2\">
<blockquote>$rapport $vent $meteo $tem $temps<br><br>";
?>
</td>
<td width="1" bgcolor="#7A6937"></td>
<td width="5" bgcolor="#FFFFFF"></td>
<td width="154" bgcolor="#FFFFFF" valign="top">
<?
echo "<font color=\"#AA9664\" face=\"Arial\" size=\"2\"><b>$pseudo</b><br>$civil<br><br>Or: $argent2<br>Fer: $fer2<br>Pierre: $pierre2<br>Bois: $bois2<br>Nourriture: $bouffe2<br><br><a href=\"logout.php\">Se déconnecter</a><br><br><a href=\"index.php\">Informations</a><br><a href=\"achats.php\">Armée</a><br><a href=\"ville.php\">Ville</a><br><a href=\"classement.php\">Classement</a><br><br><a href=\"regles.php\">Aide & Règles</a><br><a href=\"http://jonasdelange.free.fr/forum/\">Forum</a><br><a href=\"equipe\">Equipe</a>";
?>
</td><td width="1" bgcolor="#7A6937" border="0"></td>
</tr>
<tr><td width="1" bgcolor="#7A6937" border="0" height="1"></td><td width="638" bgcolor="#7A6937" border="0"></td><td width="1" bgcolor="#7A6937" border="0"></td><td width="5" border="0" bgcolor="#7A6937"></td><td width="154" bgcolor="#7A6937" border="0"></td><td width="1" bgcolor="#7A6937" border="0"></td></tr>
</table>
<?
}
exit;
?>
LA GLOBULE
le 21/01/2005 à 21:10
LA GLOBULE
Mouais...

Pour des scripts aussi longs, y'a le wall.
Enfin bref.

Essaye : $joueur = $_GET['joueur'];
Val
le 21/01/2005 à 21:19
Val
Non, ça change rien -_- Par contre si j'enlève mon script de combat, il récupère correctement la variable $joueur...

(J'y penserai la prochaine fois au wall^^)
LA GLOBULE
le 21/01/2005 à 21:21
LA GLOBULE
Si au tout début de ton fichier, tu fais un print_r($_GET); tu le vois ton joueur ?

Si oui, alors ca veut dire que tu modifies qqe part la variable contenant ton joueur.
Sinon, alors c'est que la variable ne passe pas par l'URL (donc l'erreur viendrait de la page "d'avant").
bibi
le 21/01/2005 à 21:43
bibi
if($joueur ='')
{
$rapport="";
}


a un moment tu mets ca
c'est ca qui change la valeur de $joueur car la tu ne test pas si $joueur a la valeur NULL, tu test si l'attribution a $joueur de la chaine vide fonctionne

met un if($joueur == '') à la place de if($joueur = '')

:)

change partout ou il y a cett erreur

voila :)
commit suicide
bibi
le 21/01/2005 à 21:44
bibi
PS: a priori il n'y est pas autre part
commit suicide
Val
le 21/01/2005 à 21:47
Val
OUAIS, JE SUIS TROP CONTENT! JE TE DOIS UNE FIERE CHANDELLE! MERCI (à vous tous^^)!
albert
le 22/01/2005 à 09:53
albert
ouais ça m'arrive encore parfois de faire cette erreur, on affecte une valeur nulle en essayant e tester si la valeur est nulle pasque on a mis un égal au lieu de deux.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours