Sauvegarder sans Base de Données

Résolu
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011 - 17 oct. 2005 à 18:16
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011 - 20 oct. 2005 à 10:01
Bonsoir !!! J'aimerais sauvegarder des valeurs mais je ne sais
pas quoi utiliser comme fichier sachant que je ne peux pas me servir de
la base de données.



Ce que je veux faire :



J'ai un tableau qui doit se remplir selon le fichier de données. Dans
ce fichier, j'aurais "lenomdunetache" et la valeur de la tache "0 ou 1"
correspondant a faite ou pas !!!

Exemple :

tache1 = 1 (tache terminée)

tache2 = 0 (tache non faite)



Voila, si vous voulez plus de renseignement, je suis la :D



Merci

40 réponses

cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
18 oct. 2005 à 21:46
Pourquoi tu dis que c'est compliqué, je ne peux pas dire : "ecrire après le = ..."
Mais il me reussir a définir a quel emplacement il faut encore écrire !!!

Merci de m'éclaircir pour finir la méthode que j'ai commencé !!
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
18 oct. 2005 à 21:47
c'est exactement ce que je propose, mais avec la possibilité d'éditer le fichier via php, sans le faire à la main.

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
18 oct. 2005 à 21:53
Oui j'ai bien comprus Anthomicro, mais j'arrive pas a le faire. Tu dis qu'il faut utiliser preg_replace !!! Tu peux m'en dire un peu plus s'il te plait !!
Très sympa de ton aide !!
Bonne soirée
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
18 oct. 2005 à 22:03
Je t'ai collé un code parfaitement fonctionnel plus haut, je vois pas ce que je peux faire de plus :-(

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0

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

Posez votre question
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
19 oct. 2005 à 14:57
Bah excuse moi, mais je n'arrive pas a remplacer les valeurs existantes :'(
Tu dois te dire que je suis vraiment nul ...
Merci quand meme !
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
19 oct. 2005 à 15:59
salut, selon moi, c'est :

$fichier=preg_replace('/\$activer_logs=(0|1);/','\$activer_logs='.$valeur_logs.';',$fichier);


ton exp reg commence par / et finit aussi par /...



sinon, quel est le message d'erreur ?




In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
0
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
19 oct. 2005 à 16:19
Bon j'ai tout revu en me penchant du coté de parse_ini_file !!!!

<html>
<title>Liste des tâches</title>
<LINK REL="stylesheet" TYPE="text/css" HREF="style.css">
<?php
$fichier = "fichier.ini";

echo "Essai avec un fichier ini";
echo ", \";
echo \"\";
$tableauIni = parse_ini_file($fichier);
while (list($key, $val) = each($tableauIni)) {
echo \"----
\";
echo \" ";
echo "$key";
echo ", \";
echo \" ";
if(trim($val)=="1")
echo "<form action='' method='POST'></form>";
else
echo "<form action='' method='POST'></form>";
echo ", \";
echo \"\";
}
?>


Maintenant il me suffit de modifier l'intérieur du fichier !!

Merci
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
19 oct. 2005 à 17:51
y'a rien à remplacer dans l'expression régulière elle fonctionne
parfaitement. Pour le parse_ini_file j'ai pas matté, je verrai ça ce
soir :-)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
19 oct. 2005 à 17:51
y'a rien à remplacer dans l'expression régulière elle fonctionne
parfaitement. Pour le parse_ini_file j'ai pas matté, je verrai ça ce
soir :-)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
19 oct. 2005 à 18:05
j'crois que je craque ! Tu pourrais me montrer un code entier car je suis grave perdu !!! Je ne comprend plus rien. Tu serais super sympa

Cordialement, Vincent
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
19 oct. 2005 à 18:38
//-------------------------------------------------------------


//INSCRIT DANS LE FICHIER DE FONCTIONS LES
PARAMETRES DES LOGS



//-------------------------------------------------------------


if(isset($_POST['activer_logs']) AND
$_POST['activer_logs']=='O')

{

$valeur_logs=1;

}

else

{

$valeur_logs=0;

}





$fichier=lire_contenu_fichier('./classes/fonctions.inc.php');



$fichier=preg_replace('`\$activer_logs=(0|1);`','\$activer_logs='.$valeur_logs.';',$fichier);





if(!ecrire_fichier('w+','./classes/fonctions.inc.php',$fichier))

{



header('location:install.php?erreur=4');

exit;

}



la fonction lire_fichier() peut être remplacée par file_get_contents()



et la fonction ecrire_fichier() par un fopen en mode w+ suivi d'un fputs et d'un fclose.

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
19 oct. 2005 à 18:42
J'en suis la : j'arrive a récupérer le nom de la ligne a modifier :

<html>
<title>Liste des tâches</title>
<LINK REL="stylesheet" TYPE="text/css" HREF="style.css">
<?
if (isset($_POST['submit']))
{
echo "$_POST[ligne0]=$_POST[ligne1]
";
}

$forme = "class='tabnormal' onmouseover="this.className='tabover'" onmouseout="this.className='tabnormal'"";
$police = "";
$fichier=file('fichier.ini');
$i=0;
$nb=count($fichier);
echo "\";
echo \"----
";
while($i<$nb)
{
echo "----
";
$ligne=explode('=',$fichier[$i]);
echo ", $police $ligne[0]</td>";
if(trim($ligne[1])=="1")
echo "<form action='' method='POST'></form>";
else
echo "<form action='' method='POST'></form>";
echo ", \";
$i++;
echo \"\";
}
echo "
";
?>

Mais comment faire maintenant pour la modifier !!!

Merci
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
19 oct. 2005 à 18:49
le while est inutile, et la modif se fait dans le preg_replace.

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
19 oct. 2005 à 19:04
Le while est inutile ???? Comment je vais boucler sur mon fichier pour afficher ce qu'il y a dedans alors !!!

Moi la modification je dois la mettre dans la boucle
if (isset($_POST['submit']))
{
echo "$_POST[ligne0]=$_POST[ligne1]
";
}

Ici, pour le moment, j'affiche la valeur de la ligne que je recup !!!!
Je dois trouver comment mettre cette valeur dans le fichier a la place de l'autre
Merci
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
19 oct. 2005 à 19:15
tu fais un file_get_contents() pour récupérer tout le contenu de ton fichier.

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
19 oct. 2005 à 20:35
J'arrive enfin a écrire dans le fichier mais un nouveau problème se pose:
il doit y avoir un saut de ligne a chaque insertion !!

if (isset($_POST['submit']))
{
$fichier=file('fichier.ini');
$ouvre=fopen("fichier.ini","w+");
for($i=0;$i<sizeof($fichier);$i++)
{

list($droite,$gauche)=explode("=",$fichier[$i]);
if($droite==$_POST['ligne0'])
{

$val = $droite."=".$_POST['ligne1'];

}
else
{

$val = $droite."=".$gauche;

}
fwrite($ouvre,$val);
fwrite($ouvre,"\r\n");

}
fclose($ouvre);
}

Mais cela ne fonctionne pas !!! Il rajoute des ptits carrés !!!
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
19 oct. 2005 à 21:24
non c'est normal, dans windows le saut de ligne c'est \n, il faut
ouvrir ton document texte avec wordpad et pas le bloc-notes pour que ça
t'affiche le texte correctement. sinon place la valeur sizeof() de ton
fichier dans une variable pour l'enlever de la boucle, ça sera plus
rapide.

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
19 oct. 2005 à 21:32
Et comment j'ouvre avec wordpad plutot qu'avec le bloc note ? Cela se fait dans le code ? Merci
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
19 oct. 2005 à 21:42
tu cliques avec le bouton de droite sur ton fichier, et tu fais ouvrir avec...



Bon, sinon, franchement,

$f=fopen('monfichier','w');


$puts($f,'$mavariable='.$mavariable.';

');

fclose($f);



sincèrement, ça suffit !

Pour relire : include('monfichier');

et si t'as une chaine à enregistrer, alors tu fais un addslashes et tu ajoutes des quotes...


In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
19 oct. 2005 à 21:52
c'est pas mal l'histoire du fputs si t'as qu'une seule variable (ou
alors si tu veux à chaque fois calculer toutes les variables pour
réécrire le fichier pour remplacer une variable)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
Rejoignez-nous