Page 1 sur 1

Petit problème d'affichage

Posté : 26 mars 2007, 10:15
par deborah
Bonjour à tous,

Voilà j'ai un léger soucis d'affichage, alors je fais appel à vos compétences.

Dans ma base, lorsque je souhaite modifier un champ dont le mot contient un ' du genre " Le Chalet d'Auron", je fais :
 
echo"<input name=nom_hotel type=text value='".stripslashes($tab_select['0']['Nom_Hotel'])."'></td>
</tr>
A l'affichage j'obtiens " Le Chalet d"

Pourriez-vous s'il vous plait m'aider!!

Merci d'avance Débo

Posté : 26 mars 2007, 10:26
par zeus
la fonction strislashes() enlève les \ qui servent à protéger les ' dans une chaine de caractères.

Dans ton cas, tu as visiblement un ' qui ferme ta chaine avant l'heure.

Essayes tout d'abord en enlevant le stripslashes() et, si ça ne fonctionne pas, remplace le par addslashes() qui ajoute des \ pour protéger les '

Posté : 26 mars 2007, 10:30
par deborah
Si j'enlève le stripslashes j'ai le même affichage et si je mets le addslashes a la place et bien à l'affichage j'ai " le chalet d\"

Posté : 26 mars 2007, 10:32
par Expreg
Pouet pouet !

Le problème vient de la syntaxe. Tu ne connais pas vraiment tes bases en HTML, ce qui est paradoxal si tu veux faire du site dynamqiue en php.
Il y a lieu de mettre des " autour des valeurs d'attributs des balises HTML.

Exemple :

Code : Tout sélectionner

<input type="text" name="pouet" value="machin">
Lorsque tu renvoie une valeur extraite de la base de données, dans un input, il faut aussi mettre ces quotes. de plus en PHP, il est préférable d'utiliser des ' pour l'affichage des chaines de caractères.
<?php
echo '<input name="nom_hotel" type="text" value="'.$tab_select['0']['Nom_Hotel'].'">';
?>
Avec cette syntaxe, ton problème de ' sera résolu.
Concernant ton stripslashes() il y a un peu trop à dire de manière simple.
Je te conseille de faire un tour dans la doc.

EDIT : merde zeus est là, il va dire que j'ai été trop long avec le débutant maintenant :P

Posté : 26 mars 2007, 10:34
par deborah
Merci bcp de ton aide

Posté : 26 mars 2007, 10:44
par zeus
EDIT : merde zeus est là, il va dire que j'ai été trop long avec le débutant maintenant :P
grrrr ... :langue:

Sinon, il reste toujours le soucis du " dans le mot :roll:

Posté : 26 mars 2007, 10:47
par deborah
nan, il n'y a plus de soucis, mais c'est vrai que d'habitude je mets toujours
<?php echo "$toto"; ?>
et j'ai pas pensé a mettre
<?php echo '$toto'; ?>

Posté : 26 mars 2007, 10:54
par Expreg
nan, il n'y a plus de soucis, mais c'est vrai que d'habitude je mets toujours
<?php echo "$toto"; ?>
et j'ai pas pensé a mettre
<?php echo '$toto'; ?>
TUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT !
Ah non, pas ça !
On ne met pas les variables entre quote ' ', surtout pas.
Entre double-quote " " non plus d'ailleurs !

echo $toto; rien d'autre.

Un petit tour sur Phpdebutant, les tutos sont sur la droite

Posté : 26 mars 2007, 10:57
par zeus
Attention :
<?php 

$toto = "Bonjour";

echo "$toto"; // Affiche "Bonjour"

echo '$toto'; //Affiche "$toto"

?>
Entre ' une variable PHP n'est pas interprétée.

D'une manière générale, il ne faut pas mettre une variable entre quote
echo $toto;
EDIT : bon bah grillé .... Comme ça, on pourra pas dire qu'on t'a pas averti :langue: