passage de parametres. pb avec WHERE.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : passage de parametres. pb avec WHERE.

par raptor » 18 juil. 2005, 16:53

$query = "UPDATE messagerie SET statut='".$_POST['statut']."' WHERE CONCAT(nom,' ',prenom)='".$_SESSION['id']."'";
@++

par Justone » 18 juil. 2005, 16:49

J'aurais bien voulu savoir d'ou venait mon erreur...

Personne ne sait?

par raptor » 18 juil. 2005, 16:40

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()

par Justone » 18 juil. 2005, 16:38

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...

par raptor » 18 juil. 2005, 15:26

pour mettre 'nom' dans 'id' ?
t'as pas peur de t'embrouiller ? :lol:
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 :)

par ouckileou » 18 juil. 2005, 15:20

pourquoi mettre 'nom' dans 'id' ?
t'as pas peur de t'embrouiller ? :lol:

pour concaténer, tu fais comme avec n'importe qu'elle variable :
$_SESSION['nom'] = $_POST['prenom']." ".$_POST['nom'];

par Justone » 18 juil. 2005, 15:16

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

par raptor » 18 juil. 2005, 14:55

tout a fait, il va falloir utiliser les sessions, ou les champs hidden dans les formulaires, mais cette dernière solution fait plutot bricolage :)

par ouckileou » 18 juil. 2005, 14:52

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)

par Justone » 18 juil. 2005, 14:50

Oups!! Oui tu as raison :lol:

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?

par ouckileou » 18 juil. 2005, 14:46

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...

passage de parametres. pb avec WHERE.

par Justone » 18 juil. 2005, 14:43

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