IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[PHP-JS] Apostrophe qui devient / via textaera form


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 67
    Par défaut [PHP-JS] Apostrophe qui devient / via textaera form
    Bonjour à tous, j'ai un petit script en php pour lire un fichier text, ce fichier text est modifié par un formulaire qui post via un textaera sur un fichier php.
    Malheureusement La page qui affiche le texte affiche des / lorsqu'il y a des apostrophes, bien sur il y a la fonction stripslashes, mais je n'arrive pas à l'utiliser correctement bien sût c'est la débrouille, je ne maitrise pas bien le php, voici mon code php pour lire mon fichier text, ensuite il y a aussi la fonction htmlspecialchars que j'ai utiliser et bien sûr ça ne fonctionne pas, quelqu'un peut-il m'aidez SVP?
    Voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    //Définir le fichier qui nous intéresse
     $Fnm = "last_info.txt";
    
    //Ensuite soit lire tout le fichier d'un coup dans un tableau
     $tableau = file($Fnm);
    
    //Puis afficher ce tableau
     while(list($cle,$val) = each($tableau)) {
       {{echo $val.htmlspecialchars(stripslashes($val), ENT_QUOTES))}} ."<br>";
    }
    ?>

  2. #2
    Membre chevronné
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Par défaut
    Bizarre ce que tu dis.

    Je suppose que tu parlais d'antislash \ et non de slash /

    On peut voir un extrait du fichier ?

    Le ENT_QUOTES n'est pas utile dans htmlspecialchars, a moins que la valeur s'affiche dans un value ou autre d'une balise, c'est mieux d'utiliser ENT_NOQUOTES

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 67
    Par défaut suite \ au lieu de '
    voici le résultat "c\'est pas bon" ce texte est posté via ce formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <?php
     
    // Formulaire pour modifier un fichier texte
     
    $chemin = 'last_info.txt'; // le chemin de votre fichier
     
    //                                                                 //
    //   RECUPERATION DES VARIABLES POST   //
    //                                                                 //
     
    $modifier = isset($_POST['modifier']) ? $_POST['modifier'] : '';
    $texte = isset($_POST['texte']) ? $_POST['texte'] : '';
     
    // Modification du fichier
    if ($modifier == 1) {
        $f = fopen($chemin, "w+");  //montre le texte existant et permet de le modifier
        fputs($f, $texte); //enregistre le nouveau texte
        fclose($f);  //ferme le fichier
     
    }
    // lit le contenu du fichier
    $f = fopen($chemin, "r");
    $contenu = fread($f, filesize($chemin));
    fclose($f);
     
    ?>
     
     
    <!--HTML Formulaire-->
    <head>
    <p align="center"><u><font size="5" color="#FF0000">Entrez ou modifiez le texte ci-dessous</font></u></p>
     </head>
     
    <body bgcolor="#CCFFFF">
    <form action="formulaire_modifie_texte.php" method="POST">
    <input type="hidden" name="modifier" value="1">
    <p align="center">
    <table cellspacing="0" cellpadding="5" border="0" align="center">
    <tr><td</td></tr></table>
    <textarea cols="70" rows="15" name="texte"><? echo $contenu; ?> </textarea>
    <br><input type="submit" value=" Cliquez ici pour envoyer la modification ">
    </td></tr></table>

  4. #4
    Membre chevronné
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Par défaut
    C'est sûrement les guillemets magiques qui sont activés sur ton serveur.

    Tu devrais supprimer les échappements avec stripslashes avant l'enregistrement dans ton fichier.

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 67
    Par défaut merci xunil mais ou placer stripslashes
    merci xunil mais ou placer stripslashes dans le code du formulaire? j'ai essayé de placer stripslashes dans le fichier de lecture du fichier txt écrit aussi en php et ça ne fonctionne pas.

  6. #6
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 67
    Par défaut
    voilà Xunil, regarde ci-dessous où j'ai placé le stripslash dans le code du formulaire avant enregistrement du fichier txt mais ça ne fonctionne pas non plus, aurais tu une idée?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <?php
     
    // Formulaire pour modifier un fichier texte
     
    $chemin = 'last_info.txt'; // le chemin du fichier
     
    //                                                                 //
    //   RECUPERATION DES VARIABLES POST   //
    //                                                                 //
     
    $modifier = isset($_POST['modifier']) ? $_POST['modifier'] : '';
    $texte = isset($_POST['texte']) ? $_POST['texte'] : '';
     
    // Modification du fichier
    if ($modifier == 1) {
        $f = fopen($chemin, "w+");  //montre le texte existant et permet de le modifier
        StripSlashes($f); // met les '  correctement
        StripSlashes($texte); //  met les '  correctement
        fputs($f, $texte); //enregistre le nouveau texte
        fclose($f);  //ferme le fichier
     
    }
    // lit le contenu du fichier
    $f = fopen($chemin, "r");
    $contenu = fread($f, filesize($chemin));
    fclose($f);
     
    ?>
     
     
    <!--HTML Formulaire-->
    <head>
    <p align="center"><u><font size="5" color="#FF0000">Entrez ou modifiez le texte ci-dessous</font></u></p>
     </head>
     
    <body bgcolor="#CCFFFF">
    <form action="formulaire_modifie_texte.php" method="POST">
    <input type="hidden" name="modifier" value="1">
    <p align="center">
    <table cellspacing="0" cellpadding="5" border="0" align="center">
    <tr><td</td></tr></table>
    <textarea cols="70" rows="15" name="texte"><? echo $contenu; ?> </textarea>
    <br><input type="submit" value=" Cliquez ici pour envoyer la modification ">
    </td></tr></table>

  7. #7
    Membre chevronné
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Par défaut
    Pourquoi tu utilise un stripslashes sur $f ?
    Ca sert à rien, fopen retourne une ressource

    Et c'est normal que ça ne fonctionne pas, puisque tu ne réaffectes pas le contenu soumis à stripslashes à ta variable.

    Transformes comme ceci :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // Modification du fichier
    if ($modifier == 1) {
        $f = fopen($chemin, "w+");  //montre le texte existant et permet de le modifier
        fputs($f, stripslashes($texte)); //enregistre le nouveau texte
        fclose($f);  //ferme le fichier
    }

    Normalement, ça devrait-être bon.

  8. #8
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 67
    Par défaut
    Super merci Xunil, ça fonctionne très bien.
    si j'ose, je vais te demander autre chose, tout fonctionne correctement mais lorsque l'on clique sur le bouton envoyer du formlaire j'aimerai aussi qu'une autre page s'ouvre automatiquement mais pas la page qui reçoit le post (page.php) mais bien une autre page, j'ai bien essyé via le HTML de placer un lien hypertext sur le texte du bouton mais ça ne fonctionne pas, j'ai trouvé des infos sur le web pour pouvoir le faire en java script, mais j'aurai mieux aimer de rester en php et j'ai été consulter le site que tu m'as envoyé mais rien, enfin c'est un site très vaste et il est fort possible que je sois passer "à côté de la montre en or" comme on dit, mais bon si tu crois que c'e n'est pas possible je te remercie déjà pour l'antislash.
    Merci Xunil

  9. #9
    Membre chevronné
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Par défaut
    En php, ce n'est pas possible.

    Il faut t'orienter du côté du js, mais la comme je suis pas très copain avec lui, je ne saurais t'aider.

    Regarde dans la FAQ javascript, peut-être que tu auras un début de piste, ou sinon, refais un post dans le forum JS

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/04/2007, 11h07
  2. [PHP-JS] pasteHTML qui transforme le code
    Par jibouze dans le forum Langage
    Réponses: 1
    Dernier message: 28/10/2005, 17h36
  3. [VB.NET] une chaine de caractère qui devient une propriete
    Par lucie.houel dans le forum ASP.NET
    Réponses: 8
    Dernier message: 20/09/2005, 14h10
  4. Problème simple d'apostrophe qui m'ennerve !
    Par beletteroi dans le forum Requêtes
    Réponses: 1
    Dernier message: 10/09/2005, 21h58
  5. Réponses: 5
    Dernier message: 16/12/2004, 22h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo