Page 1 sur 1

Variable remplit mais vide dans une requete

Posté : 02 sept. 2008, 13:07
par Howely
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 !

Posté : 02 sept. 2008, 14:02
par AB
Sans doute que ta requête est mal écrite. Que donne echo $req5 ?

Posté : 02 sept. 2008, 14:13
par Howely
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

Posté : 02 sept. 2008, 14:40
par AB
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

Posté : 02 sept. 2008, 14:51
par Howely
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 !

Posté : 02 sept. 2008, 15:01
par Howely
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)

Posté : 02 sept. 2008, 15:14
par AB
Bon c'est résolu alors ?

Posté : 02 sept. 2008, 15:37
par Howely
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

Posté : 02 sept. 2008, 17:08
par animithra
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 ?

Posté : 02 sept. 2008, 17:27
par Howely
non plus :(

ma requête ignore les variables sauf l ID

Posté : 02 sept. 2008, 18:32
par Howely
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

Posté : 03 sept. 2008, 11:42
par animithra
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

Posté : 03 sept. 2008, 13:12
par Howely
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 !)