JeuWeb - Crée ton jeu par navigateur
update table pour variable session - 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 : update table pour variable session (/showthread.php?tid=2272)

Pages : 1 2


update table pour variable session - Rouge - 12-01-2008

bonjour,

je galère avec un truc (simple?) mais qui ne fonctionne toujours pas sur mon site.
Code PHP :
<?php
session_start
();
$id = $_SESSION['id'];
$quantité=$_POST['quantité'];
$stock=$data['stock'];
include
'connexion.php';
$sql = "SELECT gestion ".
"FROM membres ".
"WHERE id = ". $id .";";
$res=mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
(
$data = mysql_result($res,0,'gestion'));
if (
$data== './image/jetonrouge.gif')
{
echo
'<center><font color="red">Désolé, mais VOTRE JETON EST ROUGE !</font></center>
<center><font color="black"><a href="page_membre.php">retour page membre</a></font></center>'
;
}
else
{
$verif = "SELECT qstock FROM membres WHERE id = ". $id ." ";
$res=mysql_query($verif) or die('Erreur SQL '.$verif.'<br>'.mysql_error());
(
$data = mysql_result($res,0,'qstock'));
if (
$data <= '$quantité')
{
echo
'<center><font color="red">Désolé, mais vous ne pouvez pas ABANDONNER autant, réduisez la quantité.</font></center>
<center><font color="black"><a href="page_membre.php">retour page membre</a></font></center>'
;
}
else
{
$requete = mysql_query("SELECT map FROM membres WHERE id = ". $id ." ") or die(mysql_error());
$data= mysql_fetch_assoc($requete);
$situation= $data['map'];
switch (
$situation){
case
"map":
$req = mysql_query("SELECT posx, posy FROM membres WHERE id = ". $id ." ") or die(mysql_error());
$rsa= mysql_fetch_assoc($req);
$posx = $rsa['posx'];
$posy = $rsa['posy'];
$maj = mysql_query ("UPDATE map SET abandon='$stock', qabandon='$quantité' WHERE posx=".$rsa['posx']." AND posy=".$rsa['posy']." ");

$maj2 = mysql_query ("UPDATE membres SET qstock=qstock-$quantité, exp=exp+0.1,
mp='Vous avez abandonné tout ou partie de votre stock ici.' WHERE id = "
. $id ." ");
if(
$maj2){

$_SESSION['qstock']= $_SESSION['qstock']-$quantité;
$_SESSION['exp']= $_SESSION['exp']+0.1;
$_SESSION['mp']= 'Vous avez abandonné tout ou partie de votre stock ici.';
}
include(
"page_membre.php");
break;
exit;
}
}
}
mysql_close();
?>
CE QUI NE MARCHE PAS C'EST
"UPDATE map SET abandon='$stock'
J'ai testé aussi sans déclarer cette variable en début de script et en mettant "UPDATE map SET abandon=" '$_SESSION['stock']' '"....
mais ca coince aussi:heuuu:
j'aimerais pouvoir réussir ce truc là qui m'éviterait une cinquantaine de possibilités à passer via 1 switch :wowowow:

merci d'avance[/php]


RE: update table pour variable session - Ogham - 12-01-2008

EDIT :oups je dis des bétises

PS tu devrais te présenter


RE: update table pour variable session - Eluox - 12-01-2008

$maj = mysql_query ("UPDATE map SET abandon='$stock', qabandon='$quantité' WHERE posx=".$rsa['posx']." AND posy=".$rsa['posy']." ") or die (mysql_error());

essaye avec un mysql_error


RE: update table pour variable session - Rouge - 13-01-2008

Ca ne change strictement rien, l'ami :heuuu:


RE: update table pour variable session - jo_link_noir - 13-01-2008

or die mysql_error() renvoi peut-être une erreur ?
en fait, tu peux mettre un array entre les "" : "{$rsa['posx']}"


RE: update table pour variable session - Rouge - 13-01-2008

Aucune erreur renvoyée.
Je me répète, mais seul "UPDATE map SET abandon='$stock'....."
ne fonctionne pas.
avec $_SESSION['stock'] ca ne marche pas non plus.

en fait, j'ai d'autres scripts du meme genre qui marchent mais la variable est bien identifiée et ne passe pas via une session.

exemple: $maj = mysql_query ("UPDATE map SET abandon= './objet/dollar_piece.gif'............

:wowowow:


RE: update table pour variable session - Eluox - 13-01-2008

Ta essayé de faire un echo de ta variable de session pour voir ce qu'elle renvoi ?


RE: update table pour variable session - Single Dark - 13-01-2008

On va prendre le problème depuis le debut.

Après l'execution de ton script que se passe t'il ? Dans la B.D.D ques qui est enregistrer ?

Ensuite entre manuellement une valeur dans abandon du style :

Code PHP :
<?php 
abandon
='32'

Ensuite regarde se qui se passe ? Dans la B.D.D aussi ?

Si sa marche, et normalement oui entre ceci :

Code PHP :
<?php 
$stock
= '32';
abandon='$stock'

Regarde aussi ce qui se passe ? Et toujours dans la B.D.D.

Si ca marche, alors regarde se que contient ta variable "$data['stock']".


RE: update table pour variable session - Rouge - 13-01-2008

Ok, cela fonctionne à présent, c'est à n'y rien comprendre !
Code PHP :
<?php 
$maj
= mysql_query ("UPDATE map SET abandon='".$_SESSION['stock']."', qabandon='$quantité' WHERE posx=".$rsa['posx']." AND posy=".$rsa['posy']." ") or die (mysql_error());

J'ai eu récemment un soucis chez mon hébergeur au niveau des sessions, je subodore que mon problème est (était) lié :mauvais:
je vais me rencarder,
merci à tous.


[RESOLU] update table pour variable session - Rouge - 13-01-2008

Rouge a écrit :bonjour,

je galère avec un truc (simple?) mais qui ne fonctionne toujours pas sur mon site.
Code PHP :
<?php
session_start
();
$id = $_SESSION['id'];
$quantité=$_POST['quantité'];
$stock=$data['stock'];
include
'connexion.php';
$sql = "SELECT gestion ".
"FROM membres ".
"WHERE id = ". $id .";";
$res=mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
(
$data = mysql_result($res,0,'gestion'));
if (
$data== './image/jetonrouge.gif')
{
echo
'<center><font color="red">Désolé, mais VOTRE JETON EST ROUGE !</font></center>
<center><font color="black"><a href="page_membre.php">retour page membre</a></font></center>'
;
}
else
{
$verif = "SELECT qstock FROM membres WHERE id = ". $id ." ";
$res=mysql_query($verif) or die('Erreur SQL '.$verif.'<br>'.mysql_error());
(
$data = mysql_result($res,0,'qstock'));
if (
$data <= '$quantité')
{
echo
'<center><font color="red">Désolé, mais vous ne pouvez pas ABANDONNER autant, réduisez la quantité.</font></center>
<center><font color="black"><a href="page_membre.php">retour page membre</a></font></center>'
;
}
else
{
$requete = mysql_query("SELECT map FROM membres WHERE id = ". $id ." ") or die(mysql_error());
$data= mysql_fetch_assoc($requete);
$situation= $data['map'];
switch (
$situation){
case
"map":
$req = mysql_query("SELECT posx, posy FROM membres WHERE id = ". $id ." ") or die(mysql_error());
$rsa= mysql_fetch_assoc($req);
$posx = $rsa['posx'];
$posy = $rsa['posy'];
$maj = mysql_query ("UPDATE map SET abandon='$stock', qabandon='$quantité' WHERE posx=".$rsa['posx']." AND posy=".$rsa['posy']." ");

$maj2 = mysql_query ("UPDATE membres SET qstock=qstock-$quantité, exp=exp+0.1,
mp='Vous avez abandonné tout ou partie de votre stock ici.' WHERE id = "
. $id ." ");
if(
$maj2){

$_SESSION['qstock']= $_SESSION['qstock']-$quantité;
$_SESSION['exp']= $_SESSION['exp']+0.1;
$_SESSION['mp']= 'Vous avez abandonné tout ou partie de votre stock ici.';
}
include(
"page_membre.php");
break;
exit;
}
}
}
mysql_close();
?>
CE QUI NE MARCHE PAS C'EST
"UPDATE map SET abandon='$stock'
J'ai testé aussi sans déclarer cette variable en début de script et en mettant "UPDATE map SET abandon=" '$_SESSION['stock']' '"....
mais ca coince aussi:heuuu:
j'aimerais pouvoir réussir ce truc là qui m'éviterait une cinquantaine de possibilités à passer via 1 switch :wowowow:

merci d'avance[/php]