Problème d'écriture dans un fichier texte !

Résolu
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 - 26 juil. 2008 à 11:37
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 - 27 juil. 2008 à 12:17
Salut,

J'essai d'écrire dans un fichier texte qui est vide sauf que ça ne marche pas...

Je n'ai aucune erreur...

mon code :

                Divers :

                    <form action="#" method="POST" name="options">
                        Activer le BBcode : <label for="bbcode1">Oui</label><label for="bbcode2">Non</label>

                        Activer les smileys : <label for="smileys1">Oui</label><label for="smileys2">Non</label>
                       
<hr/>
                    </form>
                    <?php
                    $texte = '';
                   
                    if(isset($_POST['bbcode[]']) || isset($_POST['smileys[]'])) {
                        if(isset($_POST['bbcode[]'])) {
                            $texte .= 'BBcode : '.$_POST['bbcode[]'].'  ';
                        }
                        if(isset($_POST['smileys[]'])) {
                            $texte .= 'Smileys : '.$_POST['smileys[]'].'  ';
                        }
                        $chemin = 'preferences.txt';
                        $fichier = fopen($chemin, 'w');
                        fwrite($fichier, $texte);
                        fclose($fichier);
                    }
                    ?>
                Design :

                    <form action="#" method="POST" name="mise_en_page">
                        Couleur de fond : <label for="noir">Noir</label><label for="rouge">Rouge</label><label for="jaune">Jaune</label><label for="rose">Rose</label><label for="vert">Vert</label><label for="blanc">Blanc</label>

                       

                    </form>
                    <?php
                    if(isset($_POST['couleur[]'])) {
                        $chemin = 'preferences.txt';
                        $texte .= 'Couleur : '.$_POST['couleur[]'].'  ';
                        $fichier = fopen($chemin, 'w');
                        fwrite($fichier, $texte);
                        fclose($fichier);
                    }
                    ?>
       

Merci de votre aide futur !

a++

Si la réponse vous convient, pensez : Réponse acceptée !

12 réponses

codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
26 juil. 2008 à 21:38
var_dump ($_POST['couleur']); devrait te dire array ();

pour ton probleme de fichier : w efface le fichier (met sa taille à 0). Si tu veux écrire à la fin sans perdre les données, utilise a+

http://www.ReFlectiv.Net
3
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
27 juil. 2008 à 09:18
Salut codefalse,

En fait je mettait des crochets a mon nom d'input alors que ce n'était pas un array, j'ai enlevé les crochets et tout est rentré dans l'ordre...

Sauf que je ne sais pas comment faire pour ne remplacer que la ligne concerné (en l'occurence ce n'est pas une ligne, les valeurs sont séparés par deux espaces)

a++

Si la réponse vous convient, pensez : Réponse acceptée !
3
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
27 juil. 2008 à 11:00
Oui il faut mettre des crochets pour le checkbox uniquement, je n'avais pas assez regardé ton code et vu que c'était des radios. C'est quoi ta dernière question ? je n'ai pas compris.
3
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
27 juil. 2008 à 12:13
Dans ce cas stocke tes données dans un fichier xml et utilise simplexml.

Ou alors mets ça dans un fichier .ini, c'est peut-être plus propre si c'est un fichier de config ton truc. Et pour parser un .ini, ben tu te fais une fonction maison avec file( ) ou fgets( ).

à+
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
26 juil. 2008 à 16:58
Salut,

il serait temps que tu apprennes à débuguer tes scripts, il suffit de procéder avec méthode.

Est-ce que le fichier existe et est-ce qu'on arrive à l'ouvrir pour y écrire ?
-> oui puisque c'est fopen w, et il n'y a pas de message d'erreur.

Ce qui implique que c'est la variable que tu mets dedans qui est vide.

En effet, couleur[] ne peut pas être une chaîne alors c'est mal parti...
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
26 juil. 2008 à 18:17
Salut Evangun,

En effet il me reste baucoup a apprendre, je ne suis qu'un débutant donc il me manque de l'expèrience...

Pourquoi $_POST['couleur[]'] ne peut pas être une chaine ?

a++

PS : merci de la réponse !

Si la réponse vous convient, pensez : Réponse acceptée !
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
26 juil. 2008 à 18:50
Mais parce que c'est un tableau :)
0
Evangun Messages postés 1980 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 24 septembre 2012 4
26 juil. 2008 à 18:57
Au passage, un simple echo $_POST['couleur[]'] t'aurait donné la réponse à ton problème dès le début. Quand un problème survient (et même avant), il faut réfléchir méthodiquement, sinon tu n'y arriveras pas.
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
26 juil. 2008 à 19:27
ok, merci !

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
26 juil. 2008 à 19:51
J'ai essayé de faire un echo et ça n'a rien affiché...

J'ai essayé de faire un print_r()  sauf que ça n'a rien affiché non plus...

J'ai essayé de faire un var_dump() et ça m'a affiché 3 NULL (1 par tableau)

Ma question est donc :

Comment faire pour que mon $_POST[] prenne la valeur de la case radio coché ?

Merci de ton aide !

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
27 juil. 2008 à 11:07
Ma dernière question c'est :

Comment faire pour ne remplacer que le texte concerné par le nouveau texte dans mon fichier ?

Explication :

J'ai deux formulaires, l'un sert a activer ou désactiver les smileys et le BBcode, l'autre sert a choisir la couleur de fond de la page...

Comment faire pour n'effacer que la partie qui concerne le formulaire dans le fichier texte ?

Au pire je regrouperai tout dans un formulaire et je metterai un mode plus approprié (effacer tout avant de réécrire, je n'ai pas encore cherché car j'aimerai conserver mes deux formulaires)...

Merci de votre aide !

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
27 juil. 2008 à 12:17
ok,

Merci de ton aide,

Je crois que pour un fichier de configuration le .ini c'est mieux, j'ai déja fait un chat avec du xml alors je vais m'essayer avec un fichier .ini !

a++

Si la réponse vous convient, pensez : Réponse acceptée !
0
Rejoignez-nous