Sauvegarder données après déco - PHP - Programmation
Marsh Posté le 17-09-2010 à 20:23:03
Fait voir ou est-ce que tu initialises tes variables de session.
Marsh Posté le 18-09-2010 à 09:47:26
Mes variables je les initialises sur la page d'accueil après que le membre se soit connecté avant tout code html elle marchent bien !
Je pense que le problème vient plus de ma requête, parce que c'est dans la bdd que le champs revient toujours à 0. Est ce que UPDATE peut en être la cause ? car comme son nom l'indique il "rafraichi" et vu que les variables de session reviennent à 0 après déco... et ba UPDATE fait pareil... Il conserve pas les données précédentes.
Dans ce cas il faudrait que j'utilise quel type de requête ?
Marsh Posté le 18-09-2010 à 10:43:26
si tu veux additionner les points aux points stockés dans la BD tu fais tout bêtement:
Code :
|
Marsh Posté le 18-09-2010 à 12:01:21
Jacksons a écrit : |
Jacksons a écrit : |
Marsh Posté le 18-09-2010 à 17:37:05
ouai tu m'as compris quoi je voulais dire "lorsque j'utilise des $_SESSION pour enregistrer des valeurs le temps d'une visite et les insérer par le biais d'une requete dans la bdd"
et le $_POST je voulais dire "que j'enregistre la saisi de l'utilisateur dans la bdd la aussi par le biais d'une requête".
Mais sa certains l'ont compris de suite
Marsh Posté le 20-09-2010 à 15:13:11
Jacksons a écrit : ouai tu m'as compris quoi je voulais dire "lorsque j'utilise des $_SESSION pour enregistrer des valeurs le temps d'une visite et les insérer par le biais d'une requete dans la bdd" |
Non il ne t'a pas compris justement Ce qui l'a troublé c'est le fait que tu enregistres les données avec une variable de session.
Ton utilisateur a ses données en session. Normal jusque là.
Quand tu as des données à mettre à jour, liées à un utilisateur, tu dois vérifier qu'il est toujours connecté sur le site, donc que ta variable de session existe toujours avant d'exécuter ta requête. C'est le principe de base qu'utilise phpMyAdmin par exemple dont les sessions durent 1800 secondes.
Marsh Posté le 20-09-2010 à 15:37:24
Jacksons a écrit : Bonjour ou re bonjour pour certains ! |
ce qui me gène en rouge au dessus, c'est le fait que tu incrémente une variable $_SESSION['points'] du coups, la variable $plus n'est plus bonne et donc la requête SQL de mise à jour n'est plus bonne, à moins que tu la garde pour la prochaine fois, mais le problème ce pose si tu arrive à la fin du questionnaire
Marsh Posté le 17-09-2010 à 18:58:47
Bonjour ou re bonjour pour certains !
Voilà mon soucis: Lorsque j'enregistre des données dans la bdd avec une variable $_SESSION, elles durent le temps de la session et ensuite disparaissent. Logique me direz-vous.
Cependant, n'y a t-il pas un moyen de les enregistrer définitivement, même après déco comme un $_POST ?
Voici un code que j'ai tapé:
<?php
$pseudo= $_SESSION['pseudo'];
$plus= $_SESSION['points']
if($_POST['reponse'] == 2)
{
$_SESSION['points'] ++;
$req = $bdd->exec("UPDATE membres SET points ='".$plus."' WHERE pseudo ='".$pseudo."'" );
?>
Donc à chaque fois mon incrémentation bien et les "points" vont se cumuler dans le champs correspondant dans la bdd
Mais après déconnexion et reconnexion, lorsque je recommence l'incrémentation, au lieu de cumuler les nouveaux points par desuss les anciens (ceux d'avant la déco), et ba sa reprend à 0.
En gros au lieu de faire par exemple 5 points(avant déco) + 2points(après reco) sa fait 0 points + 2 points(après reco)
Cela vient-il du fait que j'utilise update ou sa n'a rien à voir ?
Merci d'avance