L'éditeur JavaScript
Visiteur non-identifié | Identifiez-vous | Devenir membre
Code perdu ? | Combien de visiteurs sur votre site ?
Rechercher :
Page d'accueil
     Home Page

JavaScript
     Tous les scripts
     Proposer un script
     Recherche de script
     AJAX
     Cours de JavaScript
     Liste de discussion
     Forums

Services :
     CountUs
     myCircle
     ClickInText
     XooIt

Trucs et astuces :
     HTML / CSS
     PHP / MySQL
     Réferencement
     Graph / Présentation
     Toutes les astuces
     Ajouter un article

MailingList :
122630 abonnés

Annuaire webmaster :      Hebergement web
     Referencement
     Sites webmasters
     XHTML - CSS2
     PHP
     Affiliation - Pub
     FAI

     Annuaire webmaster

Ressources pour webmasters :
     Kit graphique
     Foire aux questions
     Les membres
     Devenir annonceur
     Faire un lien
     Contact

Partenaire :
     Compteur live
     Créer un forum
     Le PHP facile
     Comscripts
     Liens sponsorisés
     Blog
     Page Rank
     Poésie et cita...
     Gifs animés, f...
     Easy-script.com
     Azote.org - no...
     Web creation ...
     K i s s design
     Outils de créa...
     Electroniq...
     Je crée mon site
     Créer son site...
     Les autres
     Votre site ici ?


Le forum ] [ Préférences ] [ Nouveau sujet ] [ Répondre ] [ Recherche ] [ Vos sujets ] [ Tous lus ] [ Flux RSS ]


[ Forums >> JavaScript >> Problèmes sur les cours de JavaScript >> Problème Guillemets pour Ecriture Fichier Texte ]

> Problème Guillemets pour Ecriture Fichier Texte
[ Posté par TrevorReznik ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 14-01-2009 à 09:42 | 2 messages ]

Alors, j'ai fait un formulaire sur une page qui contient une seule balise, la balise <textarea></textarea> pour récupérer une phrase.

Au moment de sa validation par clic sur un bouton, j'exécute une fonction JavaScript contenu en entête qui vérifie si le champ est vide. Si c'est le cas, il y a un message d'erreur et on reste sur la même page.

Si les conditions sont remplies, une nouvelle page est chargée, dans laquelle j'attribue à une variable le contenu de mon "textarea" (dicton), pour ensuite écrire dans un fichier texte son contenu avec ça :

<?php
$nouveau_dicton = $_POST['dicton'];
$nom_du_fichier = "dicton.txt";
$ressource = fopen($nom_du_fichier, "w");
fseek ($ressource, 0);
fwrite ($ressource, $nouveau_dicton);
fclose ($ressource);
?>

Lorsque je regarde le contenu du fichier "dicton.txt" je m'aperçois que ce dernier n'a pas exactement enregistrée les même caractères qu'il y avait dans la balise "textarea".

En effet, à chaque fois qu'une apostrophe est utilisée dans le champ d'un formulaire, et bien dans mon fichier texte elle est remplacée par « \' ». Exemple, quand l'utilisateur tape « L'hubac » j'ai dans mon fichier texte « L\'hubac ».

Je pense, qu'il faudrait donc tester le contenu de la chaîne de caractère avant de la mettre dans le fichier texte, un peu comme quand on veut vérifier si un champ email contient un email du type contact@doamine.com

On fait des tests sur le caractère "@" et éventuellement sur le point.

J'ai pu trouver plein de script qui vérifie les champs, mais c'est des scripts en PHP. Il est préférable, normalement, de tester tout ça côté client, en javaScript il me semble...

Après je me dis qu'en entête de mon deuxième fichier, j'ai du code PHP pour écrire mon fichier texte alors je pourrais peut être le faire à ce moment là.... ?!? Il faudrait supprimer les caractères "/" dans la chaine avant l'apostrophe, non ?... et donc faire un boucle qui la teste.

PHP ou JavaScript ??? Je commence à tout mélanger...

Merci d'un petit coup de pouce !




[ Posté par v1nce ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 14-01-2009 à 12:34 | 4024 messages ]

Je pense qu'il ajoute des quotes parce que la protection magic_quotes est activée.
Pour récupérer le contenu d'origine (et pas la version protégée) il faudrait que tu fasses un stripslashes la chaine retournée par ton $_POST

J'ai pu trouver plein de script qui vérifie les champs, mais c'est des scripts en PHP. Il est préférable, normalement, de tester tout ça côté client, en javaScript il me semble...


on garantit d'abord l'intégrité des données en testant le contenu côté serveur (avec du php donc) puis on peut éventuellement améliorer l'"expérience utilisateur" en faisant des tests côté client avec du javascript.


________________
V1nce
Si je les ai oubliés les bonjour, merci et au revoir sont implicites

Brevets logiciels : dites NON !
http://petition.eurolinux.org/index.html
http://swpat.ffii.org/index.fr.html

[ Posté par TrevorReznik ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 14-01-2009 à 16:12 | 2 messages ]

La fonction stripslashes me provoquait des erreurs quand je l'utilisais comme suit :
<?php
$nouveau_dicton = $_POST['dicton'];
$nouveau_dicton = stripslashes($nouveau_dicton);

Bablabla

?>

J'ai juste rajouté une ligne de code et maintenant ça fonctionne très bien...

Voilà... J'ai mis des commentaires au cas où si quelqu'un qui galère comme moi veut comprendre... J'ai fait comme ça :

<?php

// Attribution du contenu de mon champs <input name="dicton" ...> à la variable $nouveau_dicton
$nouveau_dicton = $_POST['dicton'];
// J'ai pensais à faire ça comme s'il fallait convertir le contenu en chaîne de caractère... sans, ça ne fonctionne pas, ça me renvoi une erreur !!!
$str = "".$nouveau_dicton;
// Je vire mes "\" de la chaîne de caractère
$str = stripslashes($str);
// Nom du fichier à écrire dans une variable
$nom_du_fichier = "dicton.txt";
// ouverture du fichier en écriture avec effacement de ce dernier
$ressource = fopen($nom_du_fichier, "w");
// on se place au début
fseek ($ressource, 0);
// on écrit le contenu de la variable $str dans le fichier
fwrite ($ressource, $str);
// on ferme le fichier
fclose ($ressource);
?>
<html>
<head>




Services email :

Vous devez vous identifier pour profiter des services par email du forum.
Le forum ] [ Préférences ] [ Nouveau sujet ] [ Répondre ] [ Recherche ] [ Vos sujets ] [ Tous lus ] [ Flux RSS ]






compteur gratuit
actuellement en ligne

    PUBLICITE



     ANNUAIRE WEBMAST.
Néo Domaine
Enregistrement, Tansfert et Gestion de nom de domaine Internet Parking DNS + redirection web + redirection mail INCLUS ! Transfert de Registrar GRATUIT !
http://www.neodomaine.com/
Cat : Nom de domaine
Voir l'annuaire webmaster


     LES SCRIPTS :
78 à éditer
68 à copier/coller
247 des membres
2580 sur le web
>> Tous les scripts

     LES MEMBRES :
65980 membres
4655 comptes CountUs
1842 comptes myCircle

     LES FORUMS :
14 forums
40362 topics
191691 messages
>> Les forums

    SONDAGE

Vous avez un blog ou site classique ?
Un blog
Un site classique
Les deux !
La mini-astuce "Divers" du jour par mirage
Simplifiez-vous les forums : http://update.mozilla.org/extensions/moreinfo.php?id=128&vid=196&category=Miscellaneous ! Avec ce petit menu ajouté à vos options du clic droit, vous avez toutes les balises BBCode ! Très pratique pour le forum de l'EJS ;)
Proposer votre mini-astuce | Archives des mini-astuces
© 1999-2012 EJS - Tous droits réservés | CNIL N° 844440 | 13/02/2012 03:04:43 | Design by | Gen. en 0.485 sec.