Opération mathématique sur Variable Session
Résolu/Fermé
anchorman
Messages postés
10
Date d'inscription
vendredi 1 février 2013
Statut
Membre
Dernière intervention
27 janvier 2014
-
6 sept. 2013 à 22:05
anchorman Messages postés 10 Date d'inscription vendredi 1 février 2013 Statut Membre Dernière intervention 27 janvier 2014 - 8 sept. 2013 à 20:56
anchorman Messages postés 10 Date d'inscription vendredi 1 février 2013 Statut Membre Dernière intervention 27 janvier 2014 - 8 sept. 2013 à 20:56
A voir également:
- Opération mathématique sur Variable Session
- Associez chaque situation à l’action la plus appropriée en matière de sécurité informatique : verrouiller la session, quitter la session, ne rien faire ou éteindre l'ordinateur. - Forum MacOS
- Ants session déconnectée - Forum Réseaux sociaux
- L'opération demandée nécessite une élévation ✓ - Forum Windows
- Impossible d'effectuer l'opération le message ayant été modifié ✓ - Forum Outlook
- Assistantd veut utiliser le trousseau session ✓ - Forum MacOS
7 réponses
TucSky
Messages postés
32
Date d'inscription
mercredi 29 juin 2011
Statut
Membre
Dernière intervention
15 mars 2022
1
6 sept. 2013 à 22:13
6 sept. 2013 à 22:13
Bonsoir :-)
Je vient de faire un test en speed et visiblement un simple
C'est peut être idiot, mais le "session_start()" est bien placé avant l'opération sur la session ?
Je vient de faire un test en speed et visiblement un simple
$_SESSION['credit']--;au début de la page en question suffit...
C'est peut être idiot, mais le "session_start()" est bien placé avant l'opération sur la session ?
anchorman
Messages postés
10
Date d'inscription
vendredi 1 février 2013
Statut
Membre
Dernière intervention
27 janvier 2014
6 sept. 2013 à 23:10
6 sept. 2013 à 23:10
Bonsoir et merci Tucsky,
Oui le "session_start()" à été placé tout au début en fait
$_SESSION['credit']--;
est la première manipulation que j'ai essayé mais quand je consulte la BDD pour vérifier si la valeur du champ crédit à bien été modifié je constate que sa valeur reste inchangé d'où mon désarroi (oui je sais le mot est un peu fort décholé)
merci :)
Oui le "session_start()" à été placé tout au début en fait
$_SESSION['credit']--;
est la première manipulation que j'ai essayé mais quand je consulte la BDD pour vérifier si la valeur du champ crédit à bien été modifié je constate que sa valeur reste inchangé d'où mon désarroi (oui je sais le mot est un peu fort décholé)
merci :)
TucSky
Messages postés
32
Date d'inscription
mercredi 29 juin 2011
Statut
Membre
Dernière intervention
15 mars 2022
1
6 sept. 2013 à 23:28
6 sept. 2013 à 23:28
Le fait que la valeur de $_SESSION['credit'] devait être reporté en base n'etait pas précisé.
"$_SESSION['credit']--;" ne modifie en rien une base de donnée, mais modifie les fichiers SESSION php du serveur.
Pour cela, il faut en parallèle lancer une requete SQL qui modifiera la valeur du champ crédit dans la BDD.
(ex: mysql_query("UPDATE table SET champ_credit = '".$_SESSION['credit']."' WHERE etc..."))
"$_SESSION['credit']--;" ne modifie en rien une base de donnée, mais modifie les fichiers SESSION php du serveur.
Pour cela, il faut en parallèle lancer une requete SQL qui modifiera la valeur du champ crédit dans la BDD.
(ex: mysql_query("UPDATE table SET champ_credit = '".$_SESSION['credit']."' WHERE etc..."))
anchorman
Messages postés
10
Date d'inscription
vendredi 1 février 2013
Statut
Membre
Dernière intervention
27 janvier 2014
7 sept. 2013 à 00:31
7 sept. 2013 à 00:31
Merci,
Je vais tester, je suis quasiment sûr c'est la bonne solution vu que je n'ai pas concaténé la variable de SESSION dans la requête SQL (je vais tester çà et je reviens vers vous, toi (au choix;) ).
Merci beaucoup pour le temps que tu m'as accordé et bon vent dreux dix soir :)
Merci
Je vais tester, je suis quasiment sûr c'est la bonne solution vu que je n'ai pas concaténé la variable de SESSION dans la requête SQL (je vais tester çà et je reviens vers vous, toi (au choix;) ).
Merci beaucoup pour le temps que tu m'as accordé et bon vent dreux dix soir :)
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
anchorman
Messages postés
10
Date d'inscription
vendredi 1 février 2013
Statut
Membre
Dernière intervention
27 janvier 2014
7 sept. 2013 à 08:50
7 sept. 2013 à 08:50
Bonjour,
Je viens de tester la solution que tu m'as conseillé et cela ne fonctionne toujours pas. J'imagine que j'ai dû faire une petite erreur dans mon code...
Merci
Je viens de tester la solution que tu m'as conseillé et cela ne fonctionne toujours pas. J'imagine que j'ai dû faire une petite erreur dans mon code...
if(isset($_POST['credit'])){
/*Procedure de connexion ici*/
$_SESSION['credit']--;
$sql= "UPDATE membres SET 'credit'= '".$_SESSION['credit']."' WHERE id='".htmlspecialchars($_SESSION['id'])."'";
if($connect->query($sql)){
echo 'Votre action a bien été enregistrée';
}
else{
'une erreur s'est produite'.$connect->error;
}
}
Merci
TucSky
Messages postés
32
Date d'inscription
mercredi 29 juin 2011
Statut
Membre
Dernière intervention
15 mars 2022
1
7 sept. 2013 à 11:43
7 sept. 2013 à 11:43
Salut
Y'a une erreur qui s'affiche quelque part ?
Sinon, vu qu'il s'agit uniquement de soustraire de 1 la valeur de crédit dans la table membres, pourquoi ne pas soustraire directement sur la valeur de credit dans la bdd ?
ex: $sql= "UPDATE membres SET credit = credit - 1 WHERE id='".htmlspecialchars($_SESSION['id'])."'";
J'avoue que la methode $connect->query() ne m'ai pas familière, la requete $sql ne présente visiblement aucune erreur de syntax... Une fois la requete exécutée c'est "Votre action a bien été enregistrée" qui s'affiche ou "une erreur s'est produite" ? Je te conseil de faire un echo de ta variable $sql dans l'un des 2 cas pour vérifier son contenu.
Y'a une erreur qui s'affiche quelque part ?
Sinon, vu qu'il s'agit uniquement de soustraire de 1 la valeur de crédit dans la table membres, pourquoi ne pas soustraire directement sur la valeur de credit dans la bdd ?
ex: $sql= "UPDATE membres SET credit = credit - 1 WHERE id='".htmlspecialchars($_SESSION['id'])."'";
J'avoue que la methode $connect->query() ne m'ai pas familière, la requete $sql ne présente visiblement aucune erreur de syntax... Une fois la requete exécutée c'est "Votre action a bien été enregistrée" qui s'affiche ou "une erreur s'est produite" ? Je te conseil de faire un echo de ta variable $sql dans l'un des 2 cas pour vérifier son contenu.
anchorman
Messages postés
10
Date d'inscription
vendredi 1 février 2013
Statut
Membre
Dernière intervention
27 janvier 2014
8 sept. 2013 à 20:15
8 sept. 2013 à 20:15
Bonsoir,
J'ai effectué une batterie de test aujourd'hui et il s'avère que l'erreur se trouve dans ma syntaxe SQL chose qui me parait assez étonnante sachant que c'est la même sur de nombreuses pages de mon site...
Quoiqu'il en soit je continue de faire des test et je reviens vers toi
Merci encore
J'ai effectué une batterie de test aujourd'hui et il s'avère que l'erreur se trouve dans ma syntaxe SQL chose qui me parait assez étonnante sachant que c'est la même sur de nombreuses pages de mon site...
Quoiqu'il en soit je continue de faire des test et je reviens vers toi
Merci encore
anchorman
Messages postés
10
Date d'inscription
vendredi 1 février 2013
Statut
Membre
Dernière intervention
27 janvier 2014
8 sept. 2013 à 20:56
8 sept. 2013 à 20:56
C'est encore , et toujours moi,
J'ai effectué pas mal de test avant de me rendre compte que la solution à mon problème était tellement évidente que je n'y avais même pas pensé (comme c'est souvent le cas d'ailleurs) il suffisait simplment de retirer les guillemets a : SET credit
J'ai effectué pas mal de test avant de me rendre compte que la solution à mon problème était tellement évidente que je n'y avais même pas pensé (comme c'est souvent le cas d'ailleurs) il suffisait simplment de retirer les guillemets a : SET credit