Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
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 24/02/2011, 19h05   #1
Invité de passage
 
Inscription : février 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 2
Points : 0
Points : 0
Par défaut Aide modifier .txt en ligne

Alors voila,
J'ai coder un "livre d'or", mais le problème c'est que par exemple pour modifier, ce qu'une personne a marquer, je doit extraire le fichier "message.txt" de mon site, pour ensuite le remettre dedans.
Donc j'aimerai

-Crée une page protéger par un mot de passe [déjà fait]
-Dans cette page pouvoir modifier le fichier .txt

voila la page de mon livre d'or si besoin
http://omega-online-leguide.fr/consultezlo.php

Si vous avez besoin des code de mon livre d'or demander moi.

En vous remerciant de l'aide que vous m'apporterez
Fushiida est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 19h37   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 014
Points : 5 014
Hello

Pour charger le livre d'or dans un champ de formulaire tu peux faire:
Code :
1
2
3
4
5
6
7
8
 
<form action="save_messages.php">
<textarea name="content">
<?=file_get_contents("/mon/fichier/message.txt")?>
</textarea>
<input type="submit" name="action" value="save" />
<input type="submit" name="action" value="cancel" />
</form>
et dans la page qui reçoit ça (save_messages.php par exemple):
Code :
1
2
3
4
5
6
7
8
9
10
 
<?php
if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'save') {
  $content = isset($_REQUEST['content']) ? $_REQUEST['content'] : "";
  echo file_put_contents('/mon/fichier/message.txt', $content) !== false ?
     "File written" : "Could not write file";
}
else {
  echo "Action canceled";
}
Ce sont là des exemples de code très très basique, tu pourrais largement l'améliorer en ajoutant des sécurités ou un formattage particulier pour ton fichier.

A toi de jouer.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2011, 20h29   #3
Invité de passage
 
Inscription : février 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 2
Points : 0
Points : 0
Tout d'abord merci pour cette réponse rapide.
Donc, si j'ai bien compris.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
			<?php
// Pour contrer les spams, on va faire une petite regex
if(preg_match("!http|/|www|\.[A-Za-z]{2,4}!is",@$_POST['message']))
{
   echo "<blockquote><h1>Anti-Spams</h1>
      <p><em>Les URL et les slashs sont interdits.
                Pensez aussi à mettre un espace après un point.</em></p>
                </blockquote>\n";
   exit();
}
 
 
 
// Mettons le (future) fichier dans une variable
$commentaires="messages.txt";
 
// assignons nos 2 variables du formulaire et on en profite pour les protégers des balises HTML
$pseudo=htmlspecialchars($_POST['pseudo']);
$message=htmlspecialchars($_POST['message']);
 
// Pensons au retour à la ligne et au stripslashes pour la variable $message
$message=stripslashes(nl2br($message));
 
// On met en place quelques conditions pour les cellules (nom et message)
// On vérifie avant tout si le fichier existe si ce n'est pas le cas on le crée
if(!is_file($commentaires))
{
        $verif=@fopen($commentaires,"w+");
}
 
// On vérifie que le login ou le message ne soient pas vide
elseif (trim($message)=="" || trim($pseudo)=="")
{
        echo "Vous devez remplir tous les champs ! <a href=\"livredor.php\">Retour sur le livre d'or</a>";
 
        // On sort du script !
        exit;
}
 
// Après ces quelques vérification d'usage on passe  à l'exécution de ce formulaire
 
 
        // Si ok on ouvre en écirture-enregistrement du fichier message.txt
        $verif=@fopen($commentaires,"r+");
 
        // On analyse les anciennes données et on les stocks
        $stock=@fread($verif,filesize($commentaires));
 
        // On met la date dans une varialbe
        $date=date ("d/m/Y à H:i");
 
        // On paramère le tout dans la variable $opinion
        $opinion="<b>".$pseudo."</b> a écrit le : ".$date."<br />\n".$message."<br />\n<hr />";
 
        // On remet le curseur du fichier en début de ligne
        rewind($verif);
 
        // On insère le nouveau commentaire
        fputs($verif,$opinion." \n".$stock);
 
        // On clore le fichier
        fclose($verif);
 
        // On affiche le tout
        readfile($commentaires);
 
 
?>
Je copie le PHP que tu ma envoyer la dedans?
Et le html dans ma page qui est protéger avec un code?


MAJ:
Donc j'ai mi les page, pour le moment tout va bien, une fois le texte à modifier par exemple, j'appuie sur ok, mais rien ne ce passe sa m'envoie sur ma page mais le texte n'est pas modifier

Voila mon code, qui je pence a un problème

Code :
1
2
3
4
5
6
7
	<form action="consultezlo.php">
		<textarea cols="66" rows="6" name="content">
		<?=file_get_contents("messages.txt")?>
		</textarea>
		<input type="submit" name="action" value="Enregistrer" />
		<input type="submit" name="action" value="Fermer" />
		</form>
Fushiida est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h47.


 
 
 
 
Partenaires

Hébergement Web