Champ caché et enregistrement dans base de données

Eléphant du PHP | 119 Messages

15 mai 2006, 14:37

Bonjour a PhpFrance.com

j'ai un petit probleme avec mon php5.

j'ai une base de données ou j'enregistre des informations.

Code : Tout sélectionner

... $Uvil = $_POST['ville']; $Uport = $_POST['port']; $Uciv = $_POST['civilite']; $rsociale = $_POST['raisonsociale']; $Uent = $_POST['Entid'];
et un champ caché qui recupere les resultats d'une requete sql qui me sert a recuperer un Id.
$Eid etant la variable qui recupere la valeur

Code : Tout sélectionner

echo '<input type="hidden" name="Entid" value="$Eid" />';
Le probleme vient quand je valide mon formulaire, en effet dans l'erreur de sql il me met le nom de la variable dans la base de données et non la valeur alors que lorsque je fais un echo de la variable $Eid il m'affiche bien la valeur.

Du coup de comprend rien

si quelqu'un avait une petite solution pour moi

ca serait gentil !! :wink: :wink:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

15 mai 2006, 14:44

En php, quand tu entoures une chaine avec des ", il interprete les variables qui sont dans la chaine. Mais quand tu utilises des ', ça ne les interprete pas ... ta chaine est donc récupérée telle qu'elle, sans avoir remplacé $Eid par son contenu.

C'est pour cette raison que je conseille de toujours extraitre les variables des chaines
echo '<input type="hidden" name="Entid" value="'.$Eid.'" />';
Ensuite, j'avoue que je n'aime pas générer du code HTML mais j'utilise plutôt
<input type="hidden" name="Entid" value="<?= $Eid ?>" />
Mais là, ça n'engage que moi ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 119 Messages

15 mai 2006, 14:48

En php, quand tu entoures une chaine avec des ", il interprete les variables qui sont dans la chaine. Mais quand tu utilises des ', ça ne les interprete pas ... ta chaine est donc récupérée telle qu'elle, sans avoir remplacé $Eid par son contenu.

C'est pour cette raison que je conseille de toujours extraitre les variables des chaines
echo '<input type="hidden" name="Entid" value="'.$Eid.'" />';
Ensuite, j'avoue que je n'aime pas générer du code HTML mais j'utilise plutôt
<input type="hidden" name="Entid" value="<?= $Eid ?>" />
Mais là, ça n'engage que moi ;)
Merci Beaucoup zeus c'etais vraiment pas grand chose comme erreur mais merci beaucoup du conseil.

Au plaisir,

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

15 mai 2006, 14:59

Ce fut un plaisir ;)

@1DC4
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer