Aller au contenu

Sujets conseillés

Posté

Bonsoir,

J'ais un petit souci avec une ponctuation. Lorsque je transfère un texte sur un site il me mets systématiquement un antislash à une apostrophe.

Exemple:d\'architecture .

Voici le code que j'utilise

<?php 

function getextension($fichier) {
 $bouts = explode(".", $fichier);
 $extension = array_pop($bouts);
 return $extension;
}

if (!empty($_POST['fichier']) && isset($_POST['fichier']) && $_POST['fichier'] != ".htaccess") {
 if ($_POST['action'] == "modifier") {
   if (!empty($_POST['contenu']) && isset($_POST['contenu']) &&
       !empty($_POST['login']) && isset($_POST['login']) &&
       !empty($_POST['pass']) && isset($_POST['pass'])) {
     if ($_POST['login'] == "###" && $_POST['pass'] == "####") {
       if (getextension($_POST['fichier']) == "txt" && !ereg("\.\.", $_POST['fichier']) &&
           !ereg("/", $_POST['fichier']) && file_exists("./interact/" . $_POST['fichier'])) {
         $pointeur = fopen("./interact/" . $fichier, "w");
         fwrite($pointeur, $_POST['contenu']);
         fclose($pointeur);
       } else echo "Fichier non autorisé !\n";
     } else echo "Login ou mot de passe incorrect !\n";
   } else echo "Formulaire incomplet !\n";
 } else {
   if (getextension($_POST['fichier']) == "txt" && !ereg("\.\.", $_POST['fichier']) &&
       !ereg("/", $_POST['fichier']) && file_exists("./interact/" . $_POST['fichier'])) {
     echo "<form action='admin_texte.php' method='post'>\n";
     echo "<input type='hidden' name='action' value='modifier'>\n";
     echo "<input type='hidden' name='fichier' value='$fichier'>\n";
     echo "Contenu de $fichier :<br>\n";
     echo "<textarea name='contenu' cols='50' rows='12'>";
     $fichier = $_POST['fichier'];
     $pointeur = fopen("./interact/" . $fichier, "r");
     while (!feof($pointeur)) {
       $ligne=fgets($pointeur, 4096);
       echo "$ligne";
     }
     fclose($pointeur);
     echo "</textarea><br>\n";
     echo "Login : <input type='text' name='login' size='10'><br>\n";
     echo "Passe : <input type='password' name='pass' size='10'><br>\n";
     echo "<input type='submit' value='Enregistrer les modifications'>\n";
     echo "</form>\n";
   } else echo "Fichier non autorisé\n";
 }
} else {
 echo "<form action='admin_texte.php' method='post'>\n";
 echo "Choisissez :<br>\n";
 echo "<select name='fichier'>\n";
 echo "<option></option>\n";
 if ($pointeur = opendir("./interact/")) {
   while (($file = readdir($pointeur)) !== false) {
     if ($file != "" && $file != "." && $file != ".." && $file != ".htaccess") {
       echo "<option value='$file'>$file</option>\n";
     }
   }
   closedir($pointeur);
 } else echo "Erreur sur le serveur !\n";
 echo "</select>\n";
 echo "<input type='submit' value='Modifier ce fichier'>\n";
 echo "</form>\n";
}

?>

Comment régler ce problème

Merci d'avance

Posté

Salut, il faut faire un stripslashes() à la variable avant de l'envoyer ;)

Posté

Lu

Non, il faut faire un addslashes à l'envoie et un stripslashes à l'affichage sinon tu auras des erreur Mysql :)

++

Portekoi

Posté (modifié)

Pas la peine de faire un addslashes à l'envoi puisque c'est déjà fait automatiquement par son serveur ;)

là il n'y aura pas d'erreurs mysql sachant que ce script n'utilise pas mysql, il insère simplement une variable dans un fichier :)

Modifié par Phobos

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...