Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/10/2006, 16h56   #1
Invité de passage
 
Inscription : septembre 2006
Messages : 2
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 2
Points : 1
Points : 1
Par défaut Probleme avec l'enregistrement dans un fichier et la reecriture

Bonjour,

INTRO


voila j'ai un probleme. Je souhaite créer un formulaire avec le champ value predefinie, enregistrer dans un fichier. Ce formulaire je voudrai qu'il serve a modifier cette variable(value). Autrement dit je voudrai que en remplissant le champ du fomulaire et en validant, la variable stocker dans un fichier soit modifier et que en cliquant par exemple sur precendent pour revenir au formulaire, le champs value soit maintenant la nouvelle variable.

Je m'explique plus clairement : par exemple, je me met sur la page d emon formulaire et je vois le champs input type="texte" preremplir avec ecrit dedans "nom". l'utilisateur du formualire modifier cela et le remplace par son nom. Donc en fesant precedent, et en reactualisant sa page il doit voir sur le champ du formulaire a la place de "nom" le nom qu'il a entrer.

Je precise je ne veut pas utiliser mysql.

Vou allez me dire c'est simple il suffit de mettre a 0 fichier ou est enregistrer le nom. Mais mon probleme c'est que je ne eput pas car dans ce fichier il doit y avoir plein de variables comme "nom".

J'ai fait trois page.01.php(formulaire), 02.php(validation), 03.php(enregistrement des variables).


01.PHP

Citation:
<?
include("03.php");
?>
<html>
<head>
<title>01</title>
</head>
<body>
<form action="02.php" method="get">
Nom<br><input type="text" value="<? print("$nom"); ?>"><br><br>
Prenom<br><input type="text" value="<? print("$prenom"); ?>"><br><br>
<input type="submit" value="enregistrer" name="enregistrer">
</form>
</body>
</html>
02.PHP
Citation:
<?php
$fichier = "03.php";
fopen($fichier,"a+");
str_replace("michel",$_GET["$nom"],$fichier);
?>
03.PHP
Citation:
<?php
$nom="michel";
$prenom="querty";
?>
Merci d'avance pout tous ceux qui voudrons bien essayer de m'aider.
cuakcuak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2006, 19h42   #2
Invité régulier
 
Inscription : avril 2006
Messages : 31
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 31
Points : 9
Points : 9
moi je palie ce problème avec des variables de session
c'est à dire que dans ton fichier 1, tu auras ,

<form action='fichier2' method='post'>
<input type='text' value='<? if (!isset($_SESSION['nom'])) {print($nom);} else{print($_SESSION['nom'];} ?>' name='nameuser' />
</form>
<? unset($_SESSION['nom']); ?>

dans ton fichier 2 :

avant les vérifications des champs genre empty, etc...
<? $_SESSION['nom'] = stripslashes($_POST['nameuser']); ?>

Voila le mécanisme simplifié, maintenant, à toi de voir ce qui te parait le plus simple, ce n'est peut etre pas la meilleure solution mais ca en est une !
Oublies pas le unset, sinon, il cherchera toujours la variables de session !

++
satyre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2006, 08h18   #3
Expert Confirmé
 
Avatar de Sub0
 
Homme
Inscription : décembre 2002
Messages : 3 468
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39

Informations forums :
Inscription : décembre 2002
Messages : 3 468
Points : 3 115
Points : 3 115
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
Salut!

Une solution est d'utiliser explode() pour transformer ton fichier source en tableau. Ainsi, chaque ligne du fichier correspondra à un élément du tableau. Ensuite, tu modifies l'enregistrement que tu veux, puis tu réenregistres le tableau dans un fichier. Cela pourrait ressembler à ceci (pas testé) :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// Charger le fichier dans un tableau
$fichier = 'nom_de_fichier.txt';
$contenu = file_get_contents($fichier);
$tab = explode("\n", $contenu);

// Affichage du tableau pour l'exemple
echo '<pre>';
print_r($tab);
echo '</pre>';

// Réenregistrer le fichier
$tmp = fopen($fichier, "w+");
$cnt = count($tab);
for ($x=0; $x<$cnt; $x++)
  fwrite($tmp, $tab[$x]."\n");
fclose($tmp);
?>
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2006, 09h14   #4
Membre régulier
 
Inscription : juin 2006
Messages : 209
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 209
Points : 77
Points : 77
Pour récupérer chaque ligne d'un fichier dans un tableau, il y a aussi :
Code :
$contenu_array = file($nomFichier);
Chaque ligne est mise dans une case du tablau ...
poopsinou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2006, 12h20   #5
Invité de passage
 
Inscription : septembre 2006
Messages : 2
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 2
Points : 1
Points : 1
Merci beaucoup a tous de votre participation qui a été des plus rapide.

Cependant je commence a papprendre les bases de donnés. je vais essayer de me debrouillez avec.

Merci encore a tous.
cuakcuak est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h12.


 
 
 
 
Partenaires

Hébergement Web