Votre question

[Résolu]mon programme me double les antislash

Tags :
  • Programme
  • Programmation
Dernière réponse : dans Programmation
24 Juillet 2007 10:40:05

salut !!
j'ai un probleme dans mon programma php/html, je lui donne des liens avec des antislash et lui il me les double:
en sachant que ma page s'appelle modification.php et que je post vers la meme page
  1. <html>
  2.  
  3. <?
  4. if($_POST["Ajouter"] && !isset($_POST['Application'])){
  5. echo "Ajout d'une application ou d'un produit";
  6. ?>
  7. <FORM method=post action="modification.php">
  8. <TABLE BORDER=0>
  9. <TR><br/>
  10. <TD>Nom de l'application</TD>
  11. <TD><INPUT type=text name="Application"></TD>
  12. </TR>
  13. <TR>
  14. <TD>Répertoire de livraison</TD>
  15. <TD><INPUT type=text name="Repertoire_de_livraison"></TD>
  16. </TR>
  17. <TR>
  18. <TD align="center"><br/><br/><INPUT type="submit" name="Ajouter" value="Ajouter"></TD>
  19. </TR>
  20. </TABLE>
  21. </FORM>
  22. <? } echo $_POST['Repertoire_de_livraison'];?>

si par exemple mon repertoire est \\serveur\document
lui il me repond \\\\serveur\\document.
si vous voyez d'ou ça vient, parceque je ne vois pas dutout.
Merci,
Emma.

Autres pages sur : resolu programme double antislash

24 Juillet 2007 10:48:02

essaye la fonction stripslashes()
Anonyme
24 Juillet 2007 10:50:34

En php (comme dans pas mal de langages) le caractere antislash \ correspond à un caractere d'echapement permetant de créer des caractères spéciaux.

Par exemple :

  1. $text = ' Je t\'appelle demain !';


Et en l'occurence pour ajouter un antislash à une chaine de caractère, il faut utiliser la combinaison '\\'.

Cela peut expliquer ton problème.
Contenus similaires
24 Juillet 2007 11:38:07

ça marche pas, parceque la fonction stripslashes() m'enleve tous le '\'.
et ce qui est bizarre, si j'enleve
" if($_POST["Ajouter"] && !isset($_POST['Application'])){
echo "Ajout d'une application ou d'un produit"; " et que je poste vers une autre page, ça ne double pas les "\" ??
24 Juillet 2007 12:29:53

regarde du coter de magic_quote, sa peut peut etre venir de sa.
24 Juillet 2007 14:02:05

oui c'est ce que j'ai fait !!
mais je ne comprend pas trop !!
24 Juillet 2007 14:06:44

Ok, en faite, les magic_quote, c'est un systeme php qui te protege tes données automatiquement en rajoutant des backslash devant tes guillement par exemple.

Donc si tu les reproteges pardessus, sa double la doses de backslash pour rien.

Regarde ce lien, y'a un exemple pour expliquer comment sa marche (la fonction peu etre utile d'ailleur):
http://fr2.php.net/manual/fr/function.mysql-real-escape-string.php
24 Juillet 2007 14:43:46

  1. if ( get_magic_quotes_gpc() ) {
  2.  
  3. function stripslashes_deep( $value ) {
  4.  
  5. return ( is_array($value) )
  6. ? array_map('stripslashes_deep', $value)
  7. : stripslashes($value);
  8.  
  9. } // end of 'stripslashes_deep()'
  10.  
  11. $_GET = array_map('stripslashes_deep', $_GET);
  12. $_POST = array_map('stripslashes_deep', $_POST);
  13. $_COOKIE = array_map('stripslashes_deep', $_COOKIE);


bon voila ce que j'ai fait, ça marche mais c'est un peu brut!!
24 Juillet 2007 15:03:38

Je suis d'accord que c'est un peu gore ^^
24 Juillet 2007 15:13:04

bon ben je vais laisser ça comme ça pour le moment (c'est une application interne donc normalement j'aurai pas de probleme).
Merci tout le monde.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS