Variable remplit mais vide dans une requete

Howely
Invité n'ayant pas de compte PHPfrance

02 sept. 2008, 13:07

Bonjour à tous,

alors j'ai un problème assez bizarre !


je récupère 4 variables venant d'un formulaire comme ci

Code : Tout sélectionner

$refdossier = $_POST['refdossier']; $reclam = $_POST['reclam']; $listeA = $_POST['listeA']; $listeB = $_POST['listeB'];
la dessus, je remplis une variable avec ma récupération:

Code : Tout sélectionner

$reclamation = ''.$listeA.' | '.$listeB.' | '.$reclam.'';
juste derrière je fais un update:

Code : Tout sélectionner

$req5 = "UPDATE OMENTREPRISE SET ARTRECLAM='$reclamation',ARTDOSSIER='$refdossier' WHERE ID='$IDMAX'"; $resultreq5 = mysql_query($req5) or die (mysql_error());
et la c'est le drame lol:
les variables reclamation et refdossier sont vides!
si je fais un echo de reclamation et refdossier elles apparaissent bien remplit sur la page mais dans la requête elles sont vides
la table se met bien à jour mais refdossier n'est pas remplit et reclamation a pour valeur : | |

quelqu'un a une idée? (la même requête fonctionne sur une autre page)

ps: je précise bien qu'entre la déclaration des variables et la requête, rien ne les modifie)

merci !

ViPHP
AB
ViPHP | 5818 Messages

02 sept. 2008, 14:02

Sans doute que ta requête est mal écrite. Que donne echo $req5 ?

Howely
Invité n'ayant pas de compte PHPfrance

02 sept. 2008, 14:13

hello

la requête donne :

Code : Tout sélectionner

UPDATE OMENTREPRISE SET ARTRECLAM='test1 | test2 | test3',ARTDOSSIER='ref dossier' WHERE ID='27'
donc dans la requête, mes variables apparaissent bien sauf que....... dans la table pour ARTRECLAM j'ai | | et dans ARTDOSSIER j'ai rien, à croire que les lettres sont pas prises en compte

ViPHP
AB
ViPHP | 5818 Messages

02 sept. 2008, 14:40

Les champs de ta table sont bien compatibles avec le type de données que tu rentre ? type varchar ou text etc ?

Si tu ne trouve pas la solution poste nous le schéma de ta table pour que l'on puisse tester. http://www.phpfrance.com/forums/voir_sujet-34456.php

Howely
Invité n'ayant pas de compte PHPfrance

02 sept. 2008, 14:51

en gros voila comment ça fonctionne:

j'ai un formulaire avec 2 directions possibles

la 1ere va sur une 2e page qui valide l'update

la 2e est la page du formulaire avec le code php au dessus qui traite l'update

j'ai donc exactement la même méthode de fonctionnement pour ma requête, les mêmes champs récupérés, la même requête mais pas le même résultat

la 1ere page update bien, la 2e non

donc je pense qu'au niveau compatibilité il n'y a pas de problème !

Howely
Invité n'ayant pas de compte PHPfrance

02 sept. 2008, 15:01

ah petite information:

si je fais :

Code : Tout sélectionner

$reclamation = 'TEST | TEST | TEST';
au lieu de

Code : Tout sélectionner

$reclamation = ''.$listeA.' | '.$listeB.' | '.$reclam.'';

le texte est bien importé, étrange (je rappelle au cas ou que les variables sont bien visibles dans la requête)

ViPHP
AB
ViPHP | 5818 Messages

02 sept. 2008, 15:14

Bon c'est résolu alors ?

Howely
Invité n'ayant pas de compte PHPfrance

02 sept. 2008, 15:37

non du tout, si je définis les variables manuellement, ça fonctionne

si je récupère les variables, elles sont pas implantées dans la table et pourtant elles sont pleines

Eléphant du PHP | 174 Messages

02 sept. 2008, 17:08

Et si tu remplaces

Code : Tout sélectionner

$req5 = "UPDATE OMENTREPRISE SET ARTRECLAM='$reclamation',ARTDOSSIER='$refdossier' WHERE ID='$IDMAX'";
par :

Code : Tout sélectionner

$req5 = "UPDATE OMENTREPRISE SET ARTRECLAM='".$reclamation."',ARTDOSSIER='".$refdossier."' WHERE ID='".$IDMAX."'";
ça marche ?
"Il vaut mieux avoir du luxe dans ses sentiments que sur ses habits, je ne crains, moi, le mépris de personne" Honoré De Balzac.
"On s'étonne trop de ce que l'on voit rarement et trop peu de ce que l'on voit chaque jour" Mme de Genlis
"L'absence diminue les médiocres passions et augmente les grandes comme le vent éteint les bougies et allume le feu" La RocheFoucauld
"People have hope because they can't see Death standing behind them" (anonymous)
"Of all the things I've lost, I miss my brain the most" (from a fanfic)

Howely
Invité n'ayant pas de compte PHPfrance

02 sept. 2008, 17:27

non plus :(

ma requête ignore les variables sauf l ID

Howely
Invité n'ayant pas de compte PHPfrance

02 sept. 2008, 18:32

j'ai fais un test, si j'écris dans un fichier mes variables, rien n'est écrit

donc à chaque fois que mes variables doivent être inscrite, elles sont vides mais si je veux seulement les afficher (echo) elles sont remplit

Eléphant du PHP | 174 Messages

03 sept. 2008, 11:42

dans ce cas est-ce que tu peux copier/coller tout le code stp ? y compris le formulaire depuis lequel les données sont envoyées
"Il vaut mieux avoir du luxe dans ses sentiments que sur ses habits, je ne crains, moi, le mépris de personne" Honoré De Balzac.
"On s'étonne trop de ce que l'on voit rarement et trop peu de ce que l'on voit chaque jour" Mme de Genlis
"L'absence diminue les médiocres passions et augmente les grandes comme le vent éteint les bougies et allume le feu" La RocheFoucauld
"People have hope because they can't see Death standing behind them" (anonymous)
"Of all the things I've lost, I miss my brain the most" (from a fanfic)

Howely
Invité n'ayant pas de compte PHPfrance

03 sept. 2008, 13:12

finalement j'ai abandonné l'idée, j'ai fais autre chose

ça m'embête de pas avoir trouvé de solution mais bon :( j'ai un délais à respecter

merci pour votre aide quand même

(bizarre quand même qu'une requête ne prenne pas le contenu d'une variable qui existe bien et qui est remplit !)