begin process at 2012 05 31 05:10:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

Pb de guillemets en cascade...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Pb de guillemets en cascade...

dimanche 17 juillet 2005 à 20:43:39 | Pb de guillemets en cascade...

cyberappz

Bonjour,

j'ai un problème qui me fait tourner en rond depuis plusieurs jours.
J'ai un fichier qui écrit des instructions "str_replace" dans un autre fichier grâce à "fwrite"...
Mon problème se situe au niveau des guillemets qui se trouvent dans des guillemets qui se trouvent dans des apostrophes etc. Et le problème se situe plus précisément au niveau de ce que l'utilisateur entre comme valeur parce que si les variables ne contenaient aucun caractère spécial comme les guillemets ou autres, il n'y aurait aucun problème... J'ai testé en mettant leur code html à la place mais en vain. Le gros problème se situe dans les apostrophes de la fonction javascript popup, il interprète le code comme la fin de sa variable. En clair: popup('blablabla'blabla'); il croit que c'est 'blablabla' la valeur fournie à la fonction...


Fichier qui écrit les requêtes "str_replace" (il écrit dans un fichier qui est include en fait):

.... (déclaration de la variable fp, etc. aucun prob jusque là) ... puis ...
fwrite($fp, "<? \$var = str_replace(\"$var1\", \"<a href=\\\"$var2\\\" onclick=\\\"popup('nom de fichier contenant des apostrophes');\\\">$var1</a>\", \$var); ?>\n");
PS: Non, ce n'est pas une erreur (au cas où), j'ai bien voulu ne pas interpréter la variable "var" contrairement aux autres. Le but étant d'écrire un code dans un fichier qui sera inclut dans un autre (grâce à include).


Fichier de résultat:
<? $var = str_replace("nom de fichier avec des ' ... (se trouvant dans var1 donc)", "<a href=\"lien cliquable contenant aussi des apostrophes\" onclick=\"popup('nom de fichier avec des apostrophes aussi');\">var1</a>", $var); ?>


Donc, il me faut obtenir comme résultat le contenu du fichier de résultat ci-dessus mais avec la gestion des ' ou encore des " (le problème se pose tant au niveau des guillemets que des apostrophes) dans les variables envoyées par l'utilisateur depuis mon formulaire...


Svp, aidez-moi, j'éspère que quelqu'un sera éclairer ma lanterne car j'ai pas arrêté de chercher non-stop....en vain... Comment faire si même les codes html ne marche pas Je dois sûrement m'y prendre mal...


Un TRES TRES grand merci à celui qui sera m'aider...




:D -=[ Nicolas - http://redhatpower.free.fr ]=- 8)
dimanche 17 juillet 2005 à 21:00:43 | Re : Pb de guillemets en cascade...

Anthomicro

Salut,

essaie ça :
fwrite($fp,'<?php $var = str_replace("'.$var1.'","<a href="'.$var2.'" onclick="popup(\'nom de fichier contenant des apostrophes\');">'.$var1.'</a>",'.$var.'); ?>'."\n");



    dimanche 17 juillet 2005 à 21:18:32 | Re : Pb de guillemets en cascade...

    cyberappz

    Oua! Ca c'est de la réponse rapide ! Un grand merci de m'avoir répondu tout d'abord. Malheureusement, "parse error, unexpected T_CONSTANT_ENCAPSED_STRING" à cette ligne mais j'ai juste modifié un truc qui a peut-être fait malgré que je ne pense pas (c'est ce qui est en dessous mais avec ta version)...

    En reprenant ma version, je te montre juste la différence qu'il me faudrait en plus.

    Avant:
    fwrite($fp, "<? $var = str_replace("$var1\", \"<a href=\\\"$var2\\\" onclick=\\\"popup('nom de fichier contenant des apostrophes');\\\">$var1</a>\", \$var); ?>\n");

    Après:
    $param = onclick=\\\"popup('nom de fichier contenant des apostrophes');\\\"   (je ne mets pas de guillemets supplémentaires ni ; lol c déjà assez complexe comme ca c pour toi voir le principe que j'aimerais).
    fwrite($fp, "<? $var = str_replace("$var1\", \"<a href=\\\"$var2\\\" $param>$var1</a>\", \$var); ?>\n");


    Car cette variable (param) n'affiche le paramètre OnClick que sous certaines conditions (ca ya no soucis).
    J'éspère que trouveras. En attente de ta réponse, je vais vite manger et je reviens.


    :D -=[ Nicolas - http://redhatpower.free.fr ]=- 8)
    dimanche 17 juillet 2005 à 21:21:38 | Re : Pb de guillemets en cascade...

    Anthomicro

    Heu...

    tu voudrais pas poster un exemple de ce que ça doit donner sans le code php, en html, et ensuite mettre les variables qui seront modifiées, etc... (le code php quoi)


      dimanche 17 juillet 2005 à 21:35:06 | Re : Pb de guillemets en cascade...

      cyberappz

      Ben le reste ca a pour la plupart rien à voir, c'est vraiment juste un problème dans la syntaxe avec les guillemets c'est le seul truc quoi...
      Le reste c'est juste quelques champs, un bouton submit, et à chaque fois qu'il recoit les valeurs var1 etc. ben il l'écrit dans le fichier...

      Le but c'est d'écrire du code php dans un fichier (donc faut l'écrire sans qu'il soit interprété) et transformer une phrase du genre "il fait beau"
      en lien cliquable (adresse du lien fourni par le formulaire) + le paramètre onclick qui, au lieu, d'être mis dans la balise, est remplacé par une variable (param)
      et suffit de déclarer $param="onclick=blabla"; dans un cas, sinon variable vide (ce qui donne juste un a href sans onclick). C'est assez simple en fait, d'ailleurs j'ai tout bon sauf dans la syntaxe, ce qui fait que les variables ne peuvent PAS contenir de guillemets ou apostrophes.

      Voilà, @++ et merci encore.


      :D -=[ Nicolas - http://redhatpower.free.fr ]=- 8)
      dimanche 17 juillet 2005 à 21:36:00 | Re : Pb de guillemets en cascade...

      cyberappz

      Je vais manger et j'arrive juste après. +


      :D -=[ Nicolas - http://redhatpower.free.fr ]=- 8)
      dimanche 17 juillet 2005 à 21:44:42 | Re : Pb de guillemets en cascade...

      malalam

      Administrateur CodeS-SourceS
      Hello,

      moi ce que je fais quand je mélange plusieurs fonctions prenant une chaine, voire avec du javascript, c'est que je crée d'abord la chaine,
      normale, en php, puis je la transfère a mes fonctions. ca marche bien et ca évite de se prendre la tete avec les échappements.

      dimanche 17 juillet 2005 à 22:08:14 | Re : Pb de guillemets en cascade...

      cyberappz

      Comment ca? Donc au lieu d'appeller tes variables  tu appelles ta fonction ($variable); ?

      Comment ferais-tu pour ceci qui est quand même assez complexe?

      if(condition) {

          $param = onclick=\\\"popup('nom de fichier contenant des apostrophes');\\\"     (je ne remets pas de guillemets pour ne pas embrouiller plus la chose)
      }

      fwrite($fp, "<? $var = str_replace("$var1\", \"<a href=\\\"$var2\\\" $param>$var1</a>\", \$var); ?>\n");


      Comme ca, si la condition n'est pas remplie, la partie onclick n'est pas affichée.
      Je cherche à faire ca comme ca mais en version correct sans 1000 backslashes et avec des variables POUVANT contenir des ' ou des ".


      Merci.


      :D -=[ Nicolas - http://redhatpower.free.fr ]=- 8)
      dimanche 17 juillet 2005 à 22:20:42 | Re : Pb de guillemets en cascade...

      Anthomicro

      il manque des guillements sur le pourtour de ta variable


        dimanche 17 juillet 2005 à 22:31:33 | Re : Pb de guillemets en cascade...

        cyberappz

        Je sais g bien précisé :

        (je ne remets pas de guillemets pour ne pas embrouiller plus la chose)


        Dans mon code, je les ai mis mais ici j'ai voulu faire comprendre ce que je voulais faire sans justement embrouiller le truc vu que le prob c'est les fameux " et '.
        Tu n'as pas une idée alors?

        ton :
        fwrite($fp,'<?php $var = str_replace("'.$var1.'","<a href="'.$var2.'" onclick="popup(\'nom de fichier contenant des apostrophes\');">'.$var1.'</a>",'.$var.'); ?>'."\n");

        semblait déjà beaucoup mieux...

        Une autre idée? Ca doit bien être faisable quand même lol. Je galère depuis des jours et c'est pas la joie quoi pfff.

        Au passage, les autres n'hésitez pas à donner vos idées au passage...




        :D -=[ Nicolas - http://redhatpower.free.fr ]=- 8)

        1 2

        Cette discussion est classée dans : fichier, problème, guillemets, var, apostrophes


        Répondre à ce message

        Sujets en rapport avec ce message

        Problème d'ajout de guillemets dans fichier csv avec la fonction fputcsv [ par TOULOUSELAUTREC69 ] Bonjour,Je génère un fichier csv sur mon site web qui contient la liste de mes clients du jour.Ensuite j'importe ce fichier dans mon logiciel de factu Tester un fichier : problème d'autorisations [ par pyrrah ] Bonjour, Je me retrouve confronter au problème suivant : Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/va Problème d'affichage d'un fichier texte sur une page web. [ par guimat123 ] Bonjour. Dans mon code PHP je souhaite afficher un texte enregistré en .txt J'ai découvert la balise qui permet de conserver le formatage du texte. Problème de header [ par mike1310 ] Bonjour à tous,je suis en train de me battre avec IE (pour ne pas changer) sur le téléchargement d'un fichier csv.J'explique le truc :J'ai un site qui problème nom du fichier compressé [ par petercrouch ] Bonjour,j'arrive à compresser un fichier en utilisant la bibliothèque zip de phpMyAdmin.Le problème c'est pour les fichiers dont le nom porte des acce Problème au téléchargement d'un fichier (download) [ par beth2611 ] Bonjour, Je rencontre un problème handicapant, sur un site en php, je liste les fichiers dans une balise select, l'utilisateur selectionne un fichier Problème import fichier LOAD DATA... [ par Youss22 ] Bonjour à tous, Je me retourne vers vous concernant un problème d'importation de fichier csv dans une table, après avoir retourné le problème dans le Encodage fichier XML [ par edyed ] Bonjour à tous, Je suis sur un projet dans lequelle je dois créer un fichier XML avec DOM à la suite d'information entré par l'utilisateur via une in fonction file_exists qui ne fonctionne pas [ par sly456328971 ] Bonjour, dans un fichier php 'fichier1.php' j'ai une variable $var qui contient [code=php]$var= '/var/www/dossier/coco.txt[/code]. A l'aide d'un inc problème PHP=>JAVASCRIPT=>HTML [ par zuddap ] Bonjour a tous voila mon problème peut paraitre facile a résoudre pour certain d'entre vous mais moi sa fait 4jours que je suis dessus et je trouve pa


        Nos sponsors


        Sondage...

        CalendriCode

        Mai 2012
        LMMJVSD
         123456
        78910111213
        14151617181920
        21222324252627
        28293031   

        Consulter la suite du CalendriCode

        Photothèque

        A découvrir



         
        Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
        CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
        CodeS-SourceS.com© est une marque déposée tous droits réservés

        Google Coop CodeS-SourceS Google Coop CodeS-SourceS
        Temps d'éxécution de la page : 0,390 sec (3)

        Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales