mojosi Posté 18 Mars 2005 Posté 18 Mars 2005 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
Phobos Posté 18 Mars 2005 Posté 18 Mars 2005 Salut, il faut faire un stripslashes() à la variable avant de l'envoyer
Portekoi Posté 18 Mars 2005 Posté 18 Mars 2005 Lu Non, il faut faire un addslashes à l'envoie et un stripslashes à l'affichage sinon tu auras des erreur Mysql ++ Portekoi
Phobos Posté 19 Mars 2005 Posté 19 Mars 2005 (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é 19 Mars 2005 par Phobos
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant