Problème d'update

Eléphant du PHP | 71 Messages

07 juil. 2010, 15:37

Bonjour !
Je code actuellement un site web.
J'essaye de faire quelque chose que l'utilisateur peut faire quand il a une variable en nombre suffisant.
J'ai essayé d'utiliser les $_SESSION, mais quand l'utilisateur se déco-reconnecte, il retrouve les points.
Alors, j'ai essayé de modifier la valeur dans la table à l'aide d'UPDATE, mais je n'y arrive pas.
Quelqu'un peut-t-il m'aider svp ?

Voici le code :

Code : Tout sélectionner

<?php include("connexion_bdd.php"); ?> <?php if ($_SESSION['cartes_gratter'] > 0) { $sql = mysql_query("UPDATE Personne SET cartes_gratter = 'cartes_gratter-1' WHERE ID = '$_SESSION['id']'") or die(mysql_error()); ?> <div id="cible"> <p>Alternative content</p> </div> <br /> <br /> <br /> <br /> <?php } else { echo "Vous ne pouvez pas gratter de cartes car vousn'avez plus de points de grattage"; } ?> <br/> <br />
Et l'erreur donnée :
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/leoserveur/www/heberg/fragefun/grattage.php on line 87

Merci de votre aide.

(Sinon, je voulais faire un compteur de connectés. Est-ce dangereux d'inclure la connexion à la base de données dans le code header ?)
Merci,

Cordialement,

Titiii

ViPHP
ViPHP | 5462 Messages

07 juil. 2010, 15:44

"UPDATE Personne SET cartes_gratter = 'cartes_gratter-1' WHERE ID = '{$_SESSION['id']}'"
:wink:

Eléphant du PHP | 71 Messages

07 juil. 2010, 15:48

la carte ne s'affiche pas... =S
Il n'y a plus d'erreur mysql (la carete ne s'affiche pas quand même)...
Les points sont soustraits mais il faut se déco-reco pour voir les changements =S
Modifié en dernier par Titiii le 07 juil. 2010, 15:54, modifié 1 fois.

ViPHP
ViPHP | 5462 Messages

07 juil. 2010, 15:54

EDIT : cela marche mais du coup la carte ne s'affiche pas... =S
RE-EDIT : Il n'y a plus d'erreur... Mais les points ne sont pas soustraits

tu lui dis ou de soustraire ?

Eléphant du PHP | 71 Messages

07 juil. 2010, 15:56

la carte ne s'affiche pas... =S
Il n'y a plus d'erreur mysql (la carte ne s'affiche pas quand même)...
Les points sont soustraits (lors du UPDATE Personne SET cartes_gratter = 'cartes_gratter-1' WHERE ID = '{$_SESSION['id']}) mais il faut se déco-reco pour voir les changements =S

Du coup, on peut jouer temps que l'on veux en actualisant la page

ViPHP
ViPHP | 5462 Messages

07 juil. 2010, 16:03

tu soustraies rien la tu ecris 'cartes_gratter-1' pas besoin de guillemet sinon c'est interprété comme une chaine, regarde ce que ca donne dans ta base

Eléphant du PHP | 71 Messages

07 juil. 2010, 16:06

bah si, les valeurs ont étées modifiées
Mais le problème, c'est que si quelqu'un veux jouer plusieurs fois, il peut simplement actualiser la page...
Et quand il se reconectera seulement les modifications seront effectuées. Moi je veeux qu'il ne puissse pas jouer quand il a plus de points, pas même en rechargeant la page.
Au fait, pour la carte, c'est bon, c'était une erreur de ma part ^^)

ViPHP
ViPHP | 5462 Messages

07 juil. 2010, 16:08

bah si, les valeurs ont étées modifiées
Mais le problème, c'est que si quelqu'un veux jouer plusieurs fois, il peut simplement actualiser la page...
Et quand il se reconectera seulement les modifications seront effectuées. Moi je veeux qu'il ne puissse pas jouer quand il a plus de points, pas même en rechargeant la page.
Au fait, pour la carte, c'est bon, c'était une erreur de ma part ^^)
ta fonction dois se faire a chaque début de page

Eléphant du PHP | 71 Messages

07 juil. 2010, 16:09

Donc je peux faire un include de sessions à chaque page ?

ViPHP
ViPHP | 5462 Messages

07 juil. 2010, 16:15

Donc je peux faire un include de sessions à chaque page ?
si ca multiplie pas les session_start() oui

Eléphant du PHP | 71 Messages

07 juil. 2010, 16:20

Donc je rajoute des SESSION mais pas de SESSION_start ?

Et c'est dangereux de mettre un include de connexion à la bdd dans un autre include ?

ViPHP
ViPHP | 5462 Messages

07 juil. 2010, 16:28

Donc je rajoute des SESSION mais pas de SESSION_start ?

Et c'est dangereux de mettre un include de connexion à la bdd dans un autre include ?
non, mais attention au conflits, ton script se lis simplement de haut en bas, relis le et regarde si c'est logique

Eléphant du PHP | 71 Messages

07 juil. 2010, 16:33

Ok, merci beaucoup de ton aide :)

Eléphant du PHP | 71 Messages

07 juil. 2010, 16:53

En fait, j'ai beau actualiser, même en faisant ce que tu as dit, cela ne marche pas...
Une autre solution pour l'actualisation des sessions sans se déco-reco ?

Eléphant du PHP | 71 Messages

07 juil. 2010, 21:27

Rebonsoir...
Cette fois, les données s'actualisent mais tout disparait oO'

C'est à dire que si j'ai 5, ou même 137, je vais faire une fois le code et j'ai plus rien...

Merci d'avance pour votre aide,

Amicalement,

Titiii