Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1308 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Créer fichier TXT

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Créer fichier TXT

n°1395262
fourniey
Rendre au prochain
Posté le 26-06-2006 à 20:05:34  profilanswer
 

Mon but étant de modifier un fichier TXT si le mot de passe est bon.
 
Je reçois une erreur après avoir vérifier si le mot de passe est présent et qu'il est ok.
 
Je voulais mettre les lignes pour écrire mon fichier txt là où ça plante.
 
Voici mon code:
 
<?php
///-------------- début -----------------///
 
//$messtxt=fopen("message.txt", "r" );
$messtxt=file_get_contents("message.txt", False);
//mettre le mot de passe ici
$motdepasse="35;bleus";
 
///--------------  fin ----------------///
 
 
// ------ Afficher  le formulaire----- //
?>
<form ENCTYPE="multipart/form-data" method="post" name="upload">  
 <br>
 <table align="center" bgcolor="#FFA07A" bordercolorlight border="2" width="80%" cellpadding="10">
  <caption><h3><center><strong>Mise à jour du message personnalisé de votre page</strong></center></h3></caption>
  <tr><td><input type="hidden" name="MAX_FILE_SIZE" value="9999999" /><strong>Mot de passe </strong><input name="mdp" type="password">&nbsp;Obligatoire</td></tr>
  <tr><td><strong>Message</strong></td></tr>
  <tr><td><textarea name="texte" cols="120" rows="7"> <?php echo $messtxt?></textarea></td></tr>
  <tr><td align="center"><input type="SUBMIT" VALUE="Envoyer sur le site">&nbsp;<input type="reset" name="Cancel " value="Annulé"></td></tr>
 </table>
</form>  
<?
 
 
 
if($motdepasse=="" ) die("Il faut inscrire le mot de passe pour transférer votre message sur le site!" );
 
if($mdp!=$motdepasse) die ("Le mot de passe est erroné" );
 
{
 echo "Transfert des données vers message.txt"
}
 
?>
 
 
Parse error: parse error, unexpected '}', expecting ',' or ';' in /var/www/vhosts/ats3r.org/httpdocs/2006/equipe/35bleus/transfert.php on line 34

mood
Publicité
Posté le 26-06-2006 à 20:05:34  profilanswer
 

n°1395265
nico168
Posté le 26-06-2006 à 20:07:51  profilanswer
 

ben t'as oublié un ; a la fin de ton dernier echo.
comme c'est ecrit dans le message d'erreur quoi

n°1395270
fourniey
Rendre au prochain
Posté le 26-06-2006 à 20:15:19  profilanswer
 

Oups!
 
Quand je pèse sur envoyer, il ne se passe rien, comment puis-je savoir où passe le programme.
 
Merci!

n°1395272
nico168
Posté le 26-06-2006 à 20:21:47  profilanswer
 

si tu as mis tout ca dans un meme fichier, j'ai l'impression qu'il te manques les bases
 
http://www.phpdebutant.org/article56.php

n°1395279
fourniey
Rendre au prochain
Posté le 26-06-2006 à 20:34:39  profilanswer
 

Si le mdp est bon, je veux transéfer le contenu de messtxt vers message.txt.


Message édité par fourniey le 26-06-2006 à 20:49:39
n°1395327
mIRROR
Chevreuillobolchévik
Posté le 26-06-2006 à 21:37:42  profilanswer
 

fourniey a écrit :

Oups!

 

Quand je pèse sur envoyer, il ne se passe rien, comment puis-je savoir où passe le programme.

 

Merci!


peut etre que ca irait mieux si tu demandais a php d ecrire dans le fichier non ?  [:petrus dei]

 
Code :
  1. {
  2. echo "Transfert des données vers message.txt"
  3. }
 


les accolades servent a rien tu as du effacer une ligne
et ce code va juste ecrire sur la page "Transfert des données vers message.txt"
mais il va pas le faire

n°1396753
fourniey
Rendre au prochain
Posté le 28-06-2006 à 17:44:08  profilanswer
 

Le contenu du fichier message.txt ne s'affiche pas dans le textarea et je ne trouve pas pourquoi ?
 
Merci de me guider!
 
Code:
 
<?php
///--------------  configuration  -----------------///
 
$messtxt=file_get_contents("message.txt", False);  
//$messtxt=fopen("message.txt", "r" );  
 
//mettre le mot de passe ici
$motdepasse="test";
 
//option pour afficher ou non le formulaire d'upload (1:oui, 0:non)
$formulaire_upload=1;
 
//si vous voulez rajouter des variables aux urls:
$variable_url='';
 
// Haut de la page
function tete($title)
{
 echo '<html><head><title>'.$title.'</title></head><body>';
}
 
// Bas de la page  
function pied()
{
 echo '</body></html>';
}
 
///--------------  fin configuration ----------------///
 
 
if($motdepasse=="" ) die("Il faut inscrire le mot de passe pour transférer un fichier sur le site!" );
 
 
//nom du dossier
$dirname=pathinfo($_SERVER['PHP_SELF'],PATHINFO_DIRNAME);
 
//chemin du dossier
$path=".".$dirname;
 
//chemin depuis la racine du serveur
$chemin=$_SERVER['DOCUMENT_ROOT'];
 
//nom de la page
$nom_page=$_SERVER['SCRIPT_NAME'];
 
//$dossier=urldecode($dossier);
$path=rawurlencode($path);
$path=str_replace('%2F','/',$path);
 
//$dossier=rawurlencode($dossier);
$dossier=str_replace('%2F','/',$dossier);
$dossier=str_replace(".","",$dossier);
$chemin_entier=$chemin.$dirname."/".$dossier;
 
/**
 * echo "<br /><b>\$path:</b> $path ";
echo "<br /><b>\$chemin</b>: $chemin ";
echo "<br /><b>\$dossier</b>: $dossier";  
echo "<br /><b>\$chemin_entier</b>: $chemin_entier<br />";
 */
 
// correction Francois
$act=$_POST['act'];
 
switch($act)
{
 case "upload":
  // correction Francois
  if($_POST['mdp']!=$motdepasse) die ("Le mot de passe est erroné" );
  upload();
  break;
  default :
  tete($title);
  if($formulaire_upload==1){ afficher_formulaire_upload(); }
   break;
}
 
 
///-------------------- liste des fonctions ----------------------////
 
function alert($message)
{
 echo "<br /><table align=\"center\" style=\"border:1px solid #C0c0c0;\"><tr><td><h4>$message</h4></td></tr></table>";
}
 
 
function afficher_formulaire_upload()
{
 
?>
<form ENCTYPE="multipart/form-data" method="post" name="upload">  
 <br>
 <table align="center" bgcolor="#FFA07A" bordercolorlight border="2" width="80%" cellpadding="10">
  <caption><h3><center><strong>Mise à jour du message personnalisé de votre page</strong></center></h3></caption>
  <tr><td><input type="hidden" name="MAX_FILE_SIZE" value="9999999" /><strong>Mot de passe </strong><input name="mdp" type="password">&nbsp;Obligatoire</td></tr>
  <tr><td><strong>Message</strong></td></tr>
  <tr><td><textarea name="texte" cols="120" rows="7"> <?php echo $messtxt?></textarea></td></tr>
  <tr><td align="center"><input type="SUBMIT" VALUE="Envoyer sur le site">&nbsp;<input type="reset" name="Cancel " value="Annulé"></td></tr>
 </table>
</form>  
<?  
 
  }
 
function upload()
{
 global $HTTP_HOST,$REQUEST_URI,$_FILES,$chemin,$dossier,$chemin_entier;
  if(move_uploaded_file($_FILES["NomFichier"]["tmp_name"],$chemin_entier.'/'.$_FILES["NomFichier"]["name"]))
  {
   $path=pathinfo($_SERVER['PHP_SELF'],PATHINFO_DIRNAME);
   echo '<h3>"'.$_FILES['NomFichier']['name'].'" a été envoyé sur le serveur avec succès</h3>';
   echo '<p><a href="?dossier='.$dossier.$variable_url.'">Retourner à ma page</a><br /></p>';
  }  
}
 
?>

n°1396757
mIRROR
Chevreuillobolchévik
Posté le 28-06-2006 à 17:49:59  profilanswer
 

manque pas un ";" apres ton $messtxt ?
sinon j aime bien que mes fonctions soient déclarées dès le debut du script mais si t as pas d erreur de ce coté la c est cool

n°1396760
fourniey
Rendre au prochain
Posté le 28-06-2006 à 17:53:35  profilanswer
 

Il n'y a pas d'erreur de déclaré! J'ai ajouté le ; même résultat.
 
J'ai mis echo $messtxt; tout de suite après mon file_gets...
 
et le contenu est bien dans la variable.


Message édité par fourniey le 28-06-2006 à 17:57:44
n°1396765
newneo2001
Posté le 28-06-2006 à 17:59:54  profilanswer
 

alors trace ta source pour voir à quel endroit elle disparait (tu dois sûrement l'effacer ou alors la remplacer)

mood
Publicité
Posté le 28-06-2006 à 17:59:54  profilanswer
 

n°1396770
Hermes le ​Messager
Breton Quiétiste
Posté le 28-06-2006 à 18:08:00  profilanswer
 

mIRROR a écrit :

manque pas un ";" apres ton $messtxt ?
sinon j aime bien que mes fonctions soient déclarées dès le debut du script mais si t as pas d erreur de ce coté la c est cool


 
Non, c'est pas cool justement.
 
On devrait interdire aux gens de commencer par le PHP, parce que déclarer une fonction avant de l'utiliser, c'est quand même la moindre des choses je trouve, d'autant qu'on retrouve la nécessité de cette habitude dans bcp d'autres langages.  :??:

n°1396783
mIRROR
Chevreuillobolchévik
Posté le 28-06-2006 à 18:18:53  profilanswer
 

Hermes le Messager a écrit :

Non, c'est pas cool justement.
 
On devrait interdire aux gens de commencer par le PHP, parce que déclarer une fonction avant de l'utiliser, c'est quand même la moindre des choses je trouve, d'autant qu'on retrouve la nécessité de cette habitude dans bcp d'autres langages.  :??:


 
bon je vais dire un truc qui ne va surement faire rire que moi mais bon
j aime bien ce coté intuitif de php
ca me rappelle mes debuts de webmaster avec ie
il m a fallu du temps avant de m habituer a la rigueur de firefox
bref on s en fout mais le parallele m amuse
 
mdrrrrr je suis trop bete j avais pas vu  :sweat:  
c est idiot tes pseudo fonctions html

Code :
  1. function afficher_formulaire_upload($messtext)

ca marche mieux comme ca peut etre :/


Message édité par mIRROR le 28-06-2006 à 18:19:30
n°1396873
fourniey
Rendre au prochain
Posté le 28-06-2006 à 20:52:35  profilanswer
 

Re-bonjour,
 
Je poursuis pour arriver à modifier mon fichier message.txt.  
 
Maintenant, quand je pèse sur le bouton terminé, il ne se passe rien à l'exception que le mot de passe se vide. Si je ne mets pas de mdp, aucun message!
 
 
<?php
//$messtxt=fopen("message.txt", "r" );
$messtxt=file_get_contents("message.txt", False);
 
//mettre le mot de passe ici
$motdepasse="test";
 
//si vous voulez rajouter des variables aux urls:
$variable_url='';
 
 
?>
<form ENCTYPE="multipart/form-data" method="post" name="upload">  
 <br>
 <table align="center" bgcolor="#FFA07A" bordercolorlight border="2" width="80%" cellpadding="10">
  <caption><h3><center><strong>Mise à jour du message de la page de votre équipe</strong></center></h3></caption>
  <tr><td><input type="hidden" name="MAX_FILE_SIZE" value="9999999" /><strong>Mot de passe </strong><input name="mdp" type="password">&nbsp;Obligatoire</td></tr>
  <tr><td><strong>Message</strong></td></tr>
  <tr><td><textarea name="texte" cols="120" rows="7"> <?php echo $messtxt?></textarea></td></tr>
  <tr><td align="center"><input type="SUBMIT" VALUE="Terminé">&nbsp;<input type="reset" name="Cancel " value="Annulé"></td></tr>
 </table>
</form>  
<?
 
 
 
if($motdepasse=="" ) die("Il faut inscrire le mot de passe pour transférer un fichier sur le site!" );
 
 //nom du dossier
 $dirname=pathinfo($_SERVER['PHP_SELF'],PATHINFO_DIRNAME);
 //chemin du dossier
 $path=".".$dirname;
 //chemin depuis la racine du serveur
 $chemin=$_SERVER['DOCUMENT_ROOT'];
 //nom de la page
 $nom_page=$_SERVER['SCRIPT_NAME'];
 //$dossier=urldecode($dossier);
 $path=rawurlencode($path);
 $path=str_replace('%2F','/',$path);
 //$dossier=rawurlencode($dossier);
 $dossier=str_replace('%2F','/',$dossier);
 $dossier=str_replace(".","",$dossier);
 $chemin_entier=$chemin.$dirname."/".$dossier;
 // correction
 $act=$_POST['act'];
 switch($act)
 {
  case "upload":
   // correction
   if($_POST['mdp']!=$motdepasse) die ("Le mot de passe est erroné" );
    upload();
    break;
    default :
    // tete($title);
    if($formulaire_upload==1){ afficher_formulaire_upload(); }
     break;
 }
 
///-------------------- liste des fonctions ----------------------////
 
function alert($message)
{
echo "<br /><table align=\"center\" style=\"border:1px solid #C0c0c0;\"><tr><td><h4>$message</h4></td></tr></table>";
}
 
 
function upload()
{
echo 'Test';
 global $HTTP_HOST,$REQUEST_URI,$_FILES,$chemin,$dossier,$chemin_entier;
  if(move_uploaded_file($_FILES["NomFichier"]["tmp_name"],$chemin_entier.'/'.$_FILES["NomFichier"]["name"]))
  {
   $path=pathinfo($_SERVER['PHP_SELF'],PATHINFO_DIRNAME);
   echo '<h3>"'.$_FILES['NomFichier']['name'].'" a été envoyé sur le serveur avec succès</h3>';
   echo '<p><a href="?dossier='.$dossier.$variable_url.'">Retourner à ma page</a><br /></p>';
  }
}
 
?>
 

n°1396874
mIRROR
Chevreuillobolchévik
Posté le 28-06-2006 à 20:56:16  profilanswer
 

un form sans action ca sert a rien maintenant va prendre des cours ca suffit :o

n°1396877
fourniey
Rendre au prochain
Posté le 28-06-2006 à 21:06:06  profilanswer
 

Mon cher mirror, je te verrais à ma place, je dois me débrouiller pour faire plaisir aux gens de l'association avec des choses que je ne connais pas mais dont je m'efforce de comprendre pour satisfaire les gens.
 
Et le pire dans tout ça, c'est du bénévolat; j'espère que tu connais ce mot! Mon travail n'est pas la programmation mais la gestion de projet.
 
Et dans tout ça, je récolte des insultes probablement méritées mais je dois plier sur mon orgueil parce que je veux que les gens soient contents et fiers de leur site.
 
Merci!

n°1396883
Hermes le ​Messager
Breton Quiétiste
Posté le 28-06-2006 à 21:14:04  profilanswer
 

fourniey a écrit :

Mon cher mirror, je te verrais à ma place, je dois me débrouiller pour faire plaisir aux gens de l'association avec des choses que je ne connais pas mais dont je m'efforce de comprendre pour satisfaire les gens.
 
Et le pire dans tout ça, c'est du bénévolat; j'espère que tu connais ce mot! Mon travail n'est pas la programmation mais la gestion de projet.
 
Et dans tout ça, je récolte des insultes probablement méritées mais je dois plier sur mon orgueil parce que je veux que les gens soient contents et fiers de leur site.
 
Merci!


 
Si tu n'as pas le niveau pour faire un site internet digne de ce nom, tu n'as pas le niveau. Point. On ne va pas envoyer non plus des médecins en Afrique qui n'ont pas étudier la médecine au préalable sous prétexte que c'est gratuit.  
Faire un site internet de qualité qui répond à un cahier des charges rigoureux, c'est pas donné à tout le monde. Ton assoc veut un site pourri, n'importe qui pourra sans doute le faire en utilisant un programme, en copiant collant des bouts de code par ci par là. Dans le cas contraire, il faudra payer. C'est pour tout pareil, l'informatique ne fait pas exception à la rêgle.

n°1396887
mIRROR
Chevreuillobolchévik
Posté le 28-06-2006 à 21:22:12  profilanswer
 

fourniey a écrit :

Mon cher mirror, je te verrais à ma place, je dois me débrouiller pour faire plaisir aux gens de l'association avec des choses que je ne connais pas mais dont je m'efforce de comprendre pour satisfaire les gens.
 
Et le pire dans tout ça, c'est du bénévolat; j'espère que tu connais ce mot! Mon travail n'est pas la programmation mais la gestion de projet.
 
Et dans tout ça, je récolte des insultes probablement méritées mais je dois plier sur mon orgueil parce que je veux que les gens soient contents et fiers de leur site.
 
Merci!


 
j ai appris seul
sans poser 20 questions a la suite parce que je n etais pas capable de resoudre un probleme auquel la documentation sur le net repond au moins 200 fois par jour
 
j aide les gens qui ont des problemes ici et c est aussi du benevolat
mais on n est pas ici pour faire le taf minimal a leur place c est a dire RTFM
 
pour finir je ne t ai pas insulté et je n y compte pas  
j ai dit "va prendre des cours"
ca par contre je le repete [:spamafote]

n°1396902
fourniey
Rendre au prochain
Posté le 28-06-2006 à 21:41:27  profilanswer
 

Si je pouvais, sois assuré que je suivrais des cours mais comme mon travail est aussi exigeant, et bien, je manque de temps. Par contre, je lis et j'apprends.

n°1397354
guitou12
Dev php à mi-temps :D
Posté le 29-06-2006 à 17:32:32  profilanswer
 

Je vais essayer de t'éclairer un peu sur tes erreurs
 
Premiérement si tu pouvais utiliser les balises de code  (bouton C/C++) quand tu postes un message ça serait plus lisible pour nous ;)
 
Ensuite

Code :
  1. <form ENCTYPE="multipart/form-data" method="post" name="upload">


 
il manque un élément essentiel à la déclaration de ton formulaire à savoir l'action, cad ce qu'il va faire lorsque tu vas le submit (en cliquant sur ton bouton dans ton cas)
Donc là il faut rajouter l'option action="monfichier.php" comme ci dessous

Code :
  1. <form ENCTYPE="multipart/form-data" method="post" name="upload" action="monfichier.php">


 
Une fois ceci corrigé tu pouras retrouver le contenu de ta zone de texte à l'aide de $_POST['texte'] texte étant le nom de ta textarea
 
Désolé de ne pas répondre plus longuement mais j'espére que ça va te débloquer un peu (et puis la c'est l'heure de rentrer à la maison)  :sol:  

n°1398356
fourniey
Rendre au prochain
Posté le 30-06-2006 à 22:13:21  profilanswer
 

est-ce que je dois faire le contrôle du mot de passe dans le premier php ou dans monfichier.php ?

n°1398359
supermofo
Hello World !
Posté le 30-06-2006 à 22:18:28  profilanswer
 

nico168 a écrit :

si tu as mis tout ca dans un meme fichier, j'ai l'impression qu'il te manques les bases
 
http://www.phpdebutant.org/article56.php


 
 
Ah bon et pourquoi ?

n°1398361
fourniey
Rendre au prochain
Posté le 30-06-2006 à 22:28:22  profilanswer
 

j'ai deux fichiers, un pour le formulaire (mot de passe et message) et un pour les réponses.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Créer fichier TXT

 

Sujets relatifs
Problème d&#8217;écriture dans un fichier avec Java (Applet)Exploitation d'un fichier binaire...
Connection à base de donnée via fichier DSNcopier une plage d'un fichier Excel non ouvert vers la feuille en cour
Mettre un fichier en downloadRécupérer nom du fichier Excel en ouverture
Reformater le contenu d'un fichier txt en html [RESOLU]Créer des classes à la demande
Stocker des données dans un fichierVB6 Creer un fichier TXT sur le disque dur
Plus de sujets relatifs à : Créer fichier TXT


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR