Udapte PHP
Résolu/Fermé
MastercroW
Messages postés
1094
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
31 mai 2019
-
Modifié par MastercroW le 21/11/2010 à 18:34
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 - 24 nov. 2010 à 13:20
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 - 24 nov. 2010 à 13:20
A voir également:
- Udapte PHP
- Easy php - Télécharger - Divers Web & Internet
- \R php ✓ - Forum PHP
- Br php ✓ - Forum PHP
- Expert php - Télécharger - Langages
- Php echo image ✓ - Forum PHP
6 réponses
coccoweb
Messages postés
141
Date d'inscription
dimanche 20 décembre 2009
Statut
Membre
Dernière intervention
17 février 2015
27
22 nov. 2010 à 02:00
22 nov. 2010 à 02:00
Si je comprend bien le probleme, tu stock une information dans une variable global SESSION
Cette dit vairiable, n'hésésite un unset()
<?php
// Destruction d'une seule variable
unset($foo);
// Destruction d'un élément de tableau
unset($bar['quux']);
// Destruction de plusieurs variables
unset($foo1, $foo2, $foo3);
?>
et seulement après indiquer la nouvelle valeur.
Cette dit vairiable, n'hésésite un unset()
<?php
// Destruction d'une seule variable
unset($foo);
// Destruction d'un élément de tableau
unset($bar['quux']);
// Destruction de plusieurs variables
unset($foo1, $foo2, $foo3);
?>
et seulement après indiquer la nouvelle valeur.
MastercroW
Messages postés
1094
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
31 mai 2019
163
22 nov. 2010 à 16:48
22 nov. 2010 à 16:48
C'est à dire ? Peux tu me donné un exemple ?
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
475
22 nov. 2010 à 21:03
22 nov. 2010 à 21:03
Je suppose que t'es variables de session que tu souhaites utiliser et mettre à jours sont défini au moment de la connexion.
Exemple:
On suppose que tu fais évoluer plus tard ce champ1 de ta base de donnée.
C'est un exemple. Il faut ensuite réadapter le tout à ton script php.
J'espère avoir bien compris ce que tu veux faire.
Exemple:
//Récupération des données du membre $sql='SELECT * FROM membre WHERE login="'.mysql_real_escape_string($_POST['login']).'"';* $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data = mysql_fetch_array($req); //On défini la variable de session $_SESSION['champ1']=$data['champ1'];
On suppose que tu fais évoluer plus tard ce champ1 de ta base de donnée.
//On met à jours le champ1 $sql='UPDATE membre SET champ1="'.mysql_real_escape_string($_POST['champ1']).'"'; mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); //On met à jours la variable de session $_SESSION['champ1']=$_POST['champ1'];
C'est un exemple. Il faut ensuite réadapter le tout à ton script php.
J'espère avoir bien compris ce que tu veux faire.
MastercroW
Messages postés
1094
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
31 mai 2019
163
Modifié par MastercroW le 23/11/2010 à 19:10
Modifié par MastercroW le 23/11/2010 à 19:10
Salut'
Merci de ta réponse mais tu ne pouvais pas deviner mais ce n'est qu'un bouton ou lorsque l'on clic dessus, sa ajoute deux choses dans ma base de donnée.
Voici mon bouton :
Et lorsque que l'on clic dessus (apparaît ma requête) ajoute dans deux colonnes des points pourrai-je dire.
J'ai testé pour voir si sa donnerait quelques choses, mais un problème surviens. Enfin elle n'affiche plus rien une fois que j'ai cliquer ... Aucune erreur de syntaxe.
('.$_SESSION['Origines'].')
Voici tout d'abord la requête :
Avidement j'ai changé le nom de mon bouton (j'ai rajouté name="bouton")
Sinon tu as tout à fais raison pour les variables de session sont définis au moment de la connexion.
Voilà alors j'espère que tu m'aidera une fois de plus.
Merci d'avance
Cordialement,
Antoine B
Merci de ta réponse mais tu ne pouvais pas deviner mais ce n'est qu'un bouton ou lorsque l'on clic dessus, sa ajoute deux choses dans ma base de donnée.
Voici mon bouton :
<input type="button" value="Ajouté les points" onclick="window.location = 'recordPurchase01.php';" />
Et lorsque que l'on clic dessus (apparaît ma requête) ajoute dans deux colonnes des points pourrai-je dire.
J'ai testé pour voir si sa donnerait quelques choses, mais un problème surviens. Enfin elle n'affiche plus rien une fois que j'ai cliquer ... Aucune erreur de syntaxe.
('.$_SESSION['Origines'].')
Voici tout d'abord la requête :
mysql_query("UPDATE account_db SET Origines='".$newBonus."', Points='".$newpoints."' WHERE Email='".$id."'") or die(mysql_error()); //On met à jours la variable de session $_SESSION['Origines']=$_POST['bouton']; $_SESSION['Points']=$_POST['bouton'];
Avidement j'ai changé le nom de mon bouton (j'ai rajouté name="bouton")
Sinon tu as tout à fais raison pour les variables de session sont définis au moment de la connexion.
Voilà alors j'espère que tu m'aidera une fois de plus.
Merci d'avance
Cordialement,
Antoine B
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
475
23 nov. 2010 à 21:43
23 nov. 2010 à 21:43
Bien que n'étant pas expert en javascript, je ne pense pas que le onclick sur ton bouton en la valeur de celui dans la balise $_POST correspondante.
En principe, pour ça on utilise la balise <form>
Autrement dit, dans ton cas:
Je pense que le onclick que tu as mis ne fait qu'une redirection vers la page.
Ensuite:
A noter les corrections faites sur le bouton.
La variable $_POST corresponds au name="" du bouton.
J'ai ensuite ajouter une vérification pour vérifier si le formulaire (autrement le bouton) est bien envoyé.
Voilà qui devrai être mieux.
En principe, pour ça on utilise la balise <form>
Autrement dit, dans ton cas:
<form method="post" action="recordPurchase01.php"> <input type="submit" name="bouton" value="Ajouter les points" /> </form>
Je pense que le onclick que tu as mis ne fait qu'une redirection vers la page.
Ensuite:
<?php session_start(); if(isset($_POST['bouton'])) { mysql_query("UPDATE account_db SET Origines='".$newBonus."', Points='".$newpoints."' WHERE Email='".$id."'") or die(mysql_error()); //On met à jours la variable de session $_SESSION['Origines']=$_POST['bouton']; $_SESSION['Points']=$_POST['bouton']; } else{ echo'Le formulaire n\'a pas été envoyé.'; } ?>
A noter les corrections faites sur le bouton.
La variable $_POST corresponds au name="" du bouton.
J'ai ensuite ajouter une vérification pour vérifier si le formulaire (autrement le bouton) est bien envoyé.
Voilà qui devrai être mieux.
MastercroW
Messages postés
1094
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
31 mai 2019
163
24 nov. 2010 à 08:10
24 nov. 2010 à 08:10
Bonjour, j'avais déjà essayé, en enlevant le onclick. Et en mettant le POST.
Le problème est lorsque je clic sur le bouton le traitement se fait tout correctement et là, ma variable qui affiche les points prend la valeur du bouton c'est à dire "Ajouter les points".
Je capte pas vraiment ce qu'il se passe, de plus j'ai bien pris ce que tu avais mis.
Bref le problème est toujours là!
En espérant que cela se règle vite =D
Merci d'avance,
Enjoy
Le problème est lorsque je clic sur le bouton le traitement se fait tout correctement et là, ma variable qui affiche les points prend la valeur du bouton c'est à dire "Ajouter les points".
Je capte pas vraiment ce qu'il se passe, de plus j'ai bien pris ce que tu avais mis.
Bref le problème est toujours là!
En espérant que cela se règle vite =D
Merci d'avance,
Enjoy
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
MastercroW
Messages postés
1094
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
31 mai 2019
163
Modifié par MastercroW le 24/11/2010 à 10:51
Modifié par MastercroW le 24/11/2010 à 10:51
Si cela peut vous aidez, je met ma requête en entière :
<?php session_start(); // Ouverture de la BDD $host = "localhost"; $user = "root"; $password = ""; mysql_connect($host,$user,$password); mysql_select_db("mabdd"); if(isset($_POST['bouton'])) { $id = $_SESSION['Email']; // Email $bonus = mysql_fetch_array(mysql_query("SELECT Origines FROM account_db WHERE Email='".$id."'")); $bonus = intval($bonus[0]); // $points = mysql_fetch_array(mysql_query("SELECT Points FROM account_db WHERE Email='".$id."'")); $points = intval($points[0]); // Le nombre des points qui vont aller dans la base de données $newBonus = $bonus + 700; $newpoints = $points + 60; mysql_query("UPDATE account_db SET Origines='".$newBonus."', Points='".$newpoints."' WHERE Email='".$id."'") or die(mysql_error()); //On met à jours la variable de session $_SESSION['Origines']=$_POST['bouton']; $_SESSION['Points']=$_POST['bouton']; header("Location: acceptedPurchase01.php"); // Redirection en cas de succès de l'opération } else{ echo'Le formulaire n\'a pas été envoyé.'; // Redirection en cas d'échec de l'opération } ?>
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
475
24 nov. 2010 à 12:14
24 nov. 2010 à 12:14
En toute logique:
est à modifier en:
$newpoints et $newBonus sont les nouvelles valeurs de point. C'est donc ces deux variables qu'il faut utiliser pour mettre à jours les variables de SESSION.
$_SESSION['Origines']=$_POST['bouton']; $_SESSION['Points']=$_POST['bouton'];
est à modifier en:
$_SESSION['Origines']=$newBonus; $_SESSION['Points']=$newpoints;
$newpoints et $newBonus sont les nouvelles valeurs de point. C'est donc ces deux variables qu'il faut utiliser pour mettre à jours les variables de SESSION.
MastercroW
Messages postés
1094
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
31 mai 2019
163
24 nov. 2010 à 13:12
24 nov. 2010 à 13:12
Sa marche ! Merci
arthezius
Messages postés
3538
Date d'inscription
jeudi 15 mai 2008
Statut
Membre
Dernière intervention
11 septembre 2016
475
24 nov. 2010 à 13:20
24 nov. 2010 à 13:20
Oublie pas de changer le statut en "Résolu" en haut.
22 nov. 2010 à 03:14