HTML-PHP : pb tout bête sur passage de valeur

Welscotch -  
 Welscotch -
bonjour ts le monde :)

voilà mon pb :

j'ai 2 feuilles : a.php et b.php
le but est de faire passer du texte de A vers B et de retourner ce texte de B vers A.

le truc parait donc très simple, mais j'ai un souci que j'arrive pas à régler : le texte passe mal s'il contient
une côte '
une double côte "
un espace


donc c'est le pti défi du jour :

voici le code de a.php :

<html>

<form method="post" action="b.php">
Texte :
<?
$texte = stripslashes($texte);
echo "<input type='text' name='texte' value=".$texte.">";
?>
<input type="submit" name="apercu" value="Aperçu">
</form>

</html>


voici le code de b.php :

<html>

<? $texte = stripslashes($texte); ?>
Texte reçu : <?php echo $texte; ?><br><br>

<form method="post" action="a.php">
<input type='hidden' name='texte' value=<?echo $texte;?> >
<input type="submit" name="retour" value="retour">
</form>

</html>


et il faut réussir à faire passer cette chaîne de caractères :
< aaa'aaa"aaa aaa >

avec le code fournit, çà marche presque, de A vers B çà passe nickel, mais au retour de B vers A la chaîne est coupée au premier espace rencontré.

çà vient probablement de l'encadrement de la variable $texte. j'ai deja essayer de tourner çà dans tout les sens, ya toujours quelquechose qui ne vas pas, soit c'est à la cote simple que çà coupe la chaîne, ou là la côte double, ou à l'espace.


voilà j'espère que j'ai pas été trop compliqué dans mes explications, et j'espère vivement qu'on pourra trouver une solution.

(çà vient sûrement d'un truc tout bête et jvais sûrement passer pour un con mais bon tant pis ... :p )
A voir également:

6 réponses

Utilisateur anonyme
 
Salut,

Compilé, testé et approuvé... :)

a.php

<html> 

<?php
echo $texte;
?>
<form method="post" action="b.php">
Texte :
<?
//$texte = stripslashes($texte);
$texte = htmlentities($texte);
$texte = stripslashes($texte);
echo "<input type='text' name='texte' value=\"$texte\">";
?>
<input type="submit" value="Aperçu">
</form>

</html>


b.php

<html> 


<? //$texte = stripslashes($texte);
$texte = htmlentities($texte);
$texte = stripslashes($texte);
?>
Texte reçu : <?php echo "$texte"; ?><br><br>

<form method="post" action="a.php">
<?php
echo "
<input type='hidden' name='texte' value=\"$texte\">
";
?>
<input type="submit" value="retour">
</form>

</html>




Kalamit,
o(^_^)o
0
Jean-François Pillou Messages postés 19261 Date d'inscription   Statut Webmaster Dernière intervention   63 277
 
Dis Kala, tu m'apprendras à compiler du PHP ? :-))
0
Reivax > Jean-François Pillou Messages postés 19261 Date d'inscription   Statut Webmaster Dernière intervention  
 
Pour info les dernières version de php SONT compilées :)
Mais ça se passe de façon transparente pour l'utilisateur ^^
0
Utilisateur anonyme > Jean-François Pillou Messages postés 19261 Date d'inscription   Statut Webmaster Dernière intervention  
 
Heu bah non, Jeff a raison... C'est pas compilé mais interpreté ! Si il faut compiler a chaque fois avant d'executer, t'attendra le lendemain matin pour voir ta page s'afficher ! :o))

Kalamit,
o(^_^)o
0
Utilisateur anonyme
 
Alors ? J'ai bon ?

Kalamit,
o(^_^)o
0
Welscotch
 
yes çà marche !! :)

il fallait donc utiliser la fonction htmlentities()

merci du coup de main Kalamit ;)



:D
0
Welscotch
 
aaaarggg !!!

snif en fait il ya un problème avec ton astuce :(

il faut que je puisse passer du code html, par exemple :

<img src="http://www.commentcamarche.net/images/logotop.gif">


et sur b.php l'image doit s'afficher. mais là avec la fonction htmlentities çà marche po :'(
0
Utilisateur anonyme
 
Bon attends, je reprends le truc...

Kalamit,
o(^_^)o
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
a.php

<html> 

<form method="post" action="b.php">
Texte :
<?
$texte = htmlentities($texte);
$texte = stripslashes($texte);
echo "<input type='text' name='texte' value=\"$texte\">";
?>
<input type="submit" value="Aperçu">
</form>

</html>


b.php

<html> 


<?
$texte = stripslashes($texte);
?>
Texte reçu : <?php echo "$texte"; ?><br><br>

<form method="post" action="a.php">
<?php
$texte = htmlentities($texte);
echo "
<input type='hidden' name='texte' value=\"$texte\">
";
?>
<input type="submit" value="retour">
</form>

</html>


Et hop ! :o)

Kalamit,
o(^_^)o
0
Welscotch
 
trankil !! cette fois-ci çà marche impecable !!! :) :) :D


merci bcp pour ton aide :)



@+
0