Page 1 sur 1
passage de parametres. pb avec WHERE.
Posté : 18 juil. 2005, 14:43
par Justone
Bonjour
Alors je vais essayé d'etre clair! lol
J'ai un formulaire ou l'on donne le nom et le prenom.
Aprés plusieurs choses a remplir (on clic plusieurs fois sur suivant), l'utilisateur arrive sur une page ou il faut répondre oui ou non.
Lorsqu'il clic sur Valider, voici ce qui est executé :
$query = "insert into messagerie SET statut='".$_POST['statut']."' WHERE nom='".$_POST['nom']."'";
Or cette commande ne marche pas car il n'y a aucun nom de récupérer vu que le formulaire pour le nom se situait plusieurs pages avant.
Je voudrais savoir comment faire pour enregistrer le statut (oui ou non) à l'utilisateur qui a été indiqué au début.
Merci
Posté : 18 juil. 2005, 14:46
par ouckileou
tout d'abord, la commande INSERT ... WHERE n'existe pas, et c'est logique
INSERT => nouvelle ligne
donc comment attribuer une condition à une ligne qui n'existe pas ?
tu devais penser à UPDATE...
Posté : 18 juil. 2005, 14:50
par Justone
Oups!! Oui tu as raison
mais le probleme est sur le WHERE car comme le formulaire si situait plusieurs pages avant, il ne sait pas a quoi correspond le $_POST['nom']
Comment faire?
Posté : 18 juil. 2005, 14:52
par ouckileou
regarde du coté des sessions :
http://www.phpdebutant.org/article69.php
attention : un nom ce n'est peut-être pas génial comme identifiant (homonymes)
Posté : 18 juil. 2005, 14:55
par raptor
tout a fait, il va falloir utiliser les sessions, ou les champs hidden dans les formulaires, mais cette dernière solution fait plutot bricolage

Posté : 18 juil. 2005, 15:16
par Justone
Merci pour vos conseils
Voila ce que j'ai fais :
$_SESSION['id']= $_POST['nom'];
Je voudrais savoir comment concatener le nom et le prenom ds ma variable de session?
Merci
Posté : 18 juil. 2005, 15:20
par ouckileou
pourquoi mettre 'nom' dans 'id' ?
t'as pas peur de t'embrouiller ?
pour concaténer, tu fais comme avec n'importe qu'elle variable :
$_SESSION['nom'] = $_POST['prenom']." ".$_POST['nom'];
Posté : 18 juil. 2005, 15:26
par raptor
pour mettre 'nom' dans 'id' ?
t'as pas peur de t'embrouiller ?
ouaip vaut mieux garder les memes nom de variables entre les differentes methodes pour eviter les erreurs

ou alors rajouter un prefixe pour etre encore plus sur et securiser le truc

Posté : 18 juil. 2005, 16:38
par Justone
Voici ce que j'ai fais pour $_SESSION
$_SESSION['id']= $_POST['prenom']." ".$_POST['nom'];
Et pour ma requete j'ai utilisé CONCAT, or ca ne marche pas et je ne vois pas ou est mon erreur
$query = "UPDATE messagerie SET statut='".$_POST['statut']."' WHERE CONCAT(nom, CONCAT(prenom))='".$_SESSION['id']."'";
Merci pour votre aide...
Posté : 18 juil. 2005, 16:40
par raptor
stockes plutot nom et prenom dans deux variables de session differentes, et fait ta requete en testant nom et prenom séparemments, plutot que de t'embeter avec un concat()
Posté : 18 juil. 2005, 16:49
par Justone
J'aurais bien voulu savoir d'ou venait mon erreur...
Personne ne sait?
Posté : 18 juil. 2005, 16:53
par raptor
$query = "UPDATE messagerie SET statut='".$_POST['statut']."' WHERE CONCAT(nom,' ',prenom)='".$_SESSION['id']."'";
@++