Créer fichier TXT - PHP - Programmation
Marsh Posté le 26-06-2006 à 20:07:51
ben t'as oublié un ; a la fin de ton dernier echo.
comme c'est ecrit dans le message d'erreur quoi
Marsh Posté le 26-06-2006 à 20:15:19
Oups!
Quand je pèse sur envoyer, il ne se passe rien, comment puis-je savoir où passe le programme.
Merci!
Marsh Posté le 26-06-2006 à 20:21:47
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
Marsh Posté le 26-06-2006 à 20:34:39
Si le mdp est bon, je veux transéfer le contenu de messtxt vers message.txt.
Marsh Posté le 26-06-2006 à 21:37:42
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 ?
Code :
|
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
Marsh Posté le 28-06-2006 à 17:44:08
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"> 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"> <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>';
}
}
?>
Marsh Posté le 28-06-2006 à 17:49:59
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
Marsh Posté le 28-06-2006 à 17:53:35
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.
Marsh Posté le 28-06-2006 à 17:59:54
alors trace ta source pour voir à quel endroit elle disparait (tu dois sûrement l'effacer ou alors la remplacer)
Marsh Posté le 28-06-2006 à 18:08:00
mIRROR a écrit : manque pas un ";" apres ton $messtxt ? |
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.
Marsh Posté le 28-06-2006 à 18:18:53
Hermes le Messager a écrit : Non, c'est pas cool justement. |
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
c est idiot tes pseudo fonctions html
Code :
|
ca marche mieux comme ca peut etre
Marsh Posté le 28-06-2006 à 20:52:35
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"> 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é"> <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>';
}
}
?>
Marsh Posté le 28-06-2006 à 20:56:16
un form sans action ca sert a rien maintenant va prendre des cours ca suffit
Marsh Posté le 28-06-2006 à 21:06:06
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!
Marsh Posté le 28-06-2006 à 21:14:04
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. |
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.
Marsh Posté le 28-06-2006 à 21:22:12
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. |
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
Marsh Posté le 28-06-2006 à 21:41:27
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.
Marsh Posté le 29-06-2006 à 17:32:32
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 :
|
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 :
|
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)
Marsh Posté le 30-06-2006 à 22:13:21
est-ce que je dois faire le contrôle du mot de passe dans le premier php ou dans monfichier.php ?
Marsh Posté le 30-06-2006 à 22:18:28
nico168 a écrit : si tu as mis tout ca dans un meme fichier, j'ai l'impression qu'il te manques les bases |
Ah bon et pourquoi ?
Marsh Posté le 30-06-2006 à 22:28:22
j'ai deux fichiers, un pour le formulaire (mot de passe et message) et un pour les réponses.
Marsh Posté le 26-06-2006 à 20:05:34
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"> 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"> <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