JeuWeb - Crée ton jeu par navigateur
Problème dans mon code... - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Problème dans mon code... (/showthread.php?tid=1012)

Pages : 1 2


Problème dans mon code... - zneman - 03-04-2007

Bon voila, c'est mon script d'achat des archers leges Smile
Le petit problème c'est que je ne vois pas ou est l'erreur ?! oO
Il me met a chaque fois que je n'ai pas assez d'argent, même si bien sur, je suis bourré de Galds (monnaie du jeu).

Mon script:

Code PHP :
<?php
//On vérifie que le membre est connecté.
if (isset($_SESSION['logged']) && $_SESSION['logged'] === true)
{
//Inclusion du fichier contenant les identifiants de connexion à la base de données.
require("config.inc.php");
//Connexion à la base de données.
mysql_connect($host, $username, $password);
mysql_select_db($bdd_name);

$reponsemembres = mysql_query("SELECT * FROM membres WHERE pseudo='".$pseudo."' LIMIT 1");
$infosmembres = mysql_fetch_array($reponse);
$reponsetroupes = mysql_query("SELECT * FROM troupes WHERE pseudo='".$pseudo."' LIMIT 1");
$infostroupes = mysql_fetch_array($reponsetroupes);

// Si $_POST['achat'] existe:
if(!empty($_POST['achat']))
{
if (
$_POST['achat'] != NULL)
{
// Si j'ai assez d'argent pour payer cet achat
if(($_POST['achat']*15000) <= $infosmembres['gald'])
{
$gald= $infosmembres['gald'];
$archer_lege= $infostroupes['archer_lege'];
$depense= $_POST['achat']*15000;
$actualisationgald= $gald-$depense;
$newarchers= $archer_lege+$_POST['achat'];
// Actualisation de la BDD
mysql_query("UPDATE membres SET gald=actualisationgald WHERE pseudo=$pseudo");
mysql_query("UPDATE troupes SET archer_lege=newarchrers WHERE pseudo=$pseudo");
}
else echo
"Desolé mon seigneur, mais vous n'avez pas assez de galds pour acheter tant d'archers.<br />";
}
}
echo
'Seigneur '.$_SESSION['pseudo'].' voila vos archers leges:<br/><br/>';
echo
'Vos archers leges: '.$infostroupes['archer_lege'].' <br/><br/><br/>';
?>
<form action="archer_lege.php" method="POST">Acheter des archers leges: <input type="text" name="achat" size="6" value=""> <input type="submit" value="Acheter"> (15 000 Galds)</form>
<?php
echo '<br/><br/>Pour retourner à votre inventaire, allez <a href="inventaire.php">ici.</a>';
}
else
echo
'Erreur : vous devez être connecté pour accéder à cette page !<br /> Allez <a href="index.php">ici</a> pour vous connecter.';

mysql_close();
?>

Vous pouvez m'aider ? ^^


RE: Probleme dans mon code... - eragon77 - 03-04-2007

Salut, $pseudo et egal à quoi ?

Wink


RE: Probleme dans mon code... - zneman - 03-04-2007

hum.. pas bete :/
Je vais modifier ca Tongue merci
En revanche, je ne crois pas que ce soit la la source du probleme :/


Edit: en effet, ce n'est pas la cause du probleme Sad


RE: Probleme dans mon code... - Plume - 03-04-2007

Fais des echos des variables concernées.


RE: Probleme dans mon code... - zneman - 03-04-2007

Qu'entend tu parle la DamEn ? Smile


RE: Probleme dans mon code... - eragon77 - 03-04-2007

Fait des or die mysql_error à tes requêtes Smile

et se que veut dire damen se que tes variables ne contiennent peut être rien alors fait des echos pour voir leur valeur :

echo $variable['test'];


RE: Probleme dans mon code... - pascal - 03-04-2007

ton code :
Code PHP :
<?php 
$reponsemembres
= mysql_query("SELECT * FROM membres WHERE pseudo='".$pseudo."' LIMIT 1");
$infosmembres = mysql_fetch_array($reponse);

il faut utiliser $reponsemembres, pas $reponse.

A+

Pascal


RE: Probleme dans mon code... - eragon77 - 03-04-2007

effectivement, je n’avais pas fait gaffe Smile

En gros s’il avait fait des or die il l'aurait remarqué avant Smile


RE: Probleme dans mon code... - zneman - 03-04-2007

ha en effet... pas bete ca :/ merci ^^


RE: Probleme dans mon code... - eragon77 - 03-04-2007

N'oublie pas d'ajouter le TAG [Réglé] au début de ton Titre Smile

[Réglé] Probléme dans mon code ...