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

Fermé
Welscotch - 30 juil. 2003 à 10:35
 Welscotch - 30 juil. 2003 à 13:15
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
30 juil. 2003 à 11:17
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 18707 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023 63 273
30 juil. 2003 à 12:03
Dis Kala, tu m'apprendras à compiler du PHP ? :-))
0
Reivax > Jean-François Pillou Messages postés 18707 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023
30 juil. 2003 à 12:20
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 18707 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023
30 juil. 2003 à 12:48
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
30 juil. 2003 à 11:53
Alors ? J'ai bon ?

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

il fallait donc utiliser la fonction htmlentities()

merci du coup de main Kalamit ;)



:D
0
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
30 juil. 2003 à 12:51
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
30 juil. 2003 à 12:57
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
trankil !! cette fois-ci çà marche impecable !!! :) :) :D


merci bcp pour ton aide :)



@+
0