Impossible d'écrire dans un doc .txt

Utilisateur anonyme -  
totoyo47 Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   - 30 nov. 2015 à 22:11
Bonjour,

J'essai depuis plusieurs jours d'écrire dans un document nommé msg.txt en PHP...
Mais ça ne fonctionne pas !

Voici mon code PHP:

<?php

$name = $_POST["nom"];

$fichiermsg = fopen("msg.txt", "w");
fwrite($fichiermsg, "test");

fclose($fichiermsg);

?>


La variable "nom" provient d'une page html avec :

<table border="0" class="tb2">
<form method="post" action="sendmessage.php">
         <tr>
              <td><h4>Nom</h4><td>
         </tr>
         <tr>   
             <td><input type="text" name="nom"></td>
         </tr>
         <tr>
             <td><input type="submit" name="valider"></td>
         </tr>
</table>


Pour l'instant je n'ai essayer qu'en local...

Merci de votre aide :)

Ind6x
A voir également:

7 réponses

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   526
 
Salut,

Ajoutes ces deux lignes au début de ton code php et dis nous si tu as des erreurs :
<?php
ini_set('display_errors', true);
error_reporting(E_ALL);


Bonne journée
0
Utilisateur anonyme
 
Bonjour !

Merci pour votre réponse, je test dès que j aurai remonter mon ordi ! ;)

Merci

Ind6x
0
Utilisateur anonyme
 
Bonjour,

J'ai essayer de rajouter ses lignes de code, cependant, rien se se produit, j'ai une page blanche qui s'affiche, comme avant...

Merci

Ind6x
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   526
 
Essaye ce code et dis nous quel retour tu obtiens. Si le traitement n'arrive pas à créer le fichier msg.txt, il s'agit surement d'un problème de droit sur le dossier et/ou fichier.

<?php
ini_set('display_errors', true);
error_reporting(E_ALL);

$fichiermsg = fopen("msg.txt", "w");

if ($fichiermsg === false) {
    echo 'Impossible de créer ou d\écrire dans le fichier msg.txt';
} else {
    fwrite($fichiermsg, "test");
    fclose($fichiermsg);
    echo 'Ecriture dans le fichier msg.txt effectuée';
}
0
Utilisateur anonyme
 
Bonjour et merci de vos réponses,

en mettant :

<?php

ini_set('display_errors', true);
error_reporting(E_ALL);

$fichiermsg = fopen("msg.txt", "w");

if ($fichiermsg === false) {
    echo 'Impossible de créer ou d\écrire dans le fichier msg.txt';
} else {
    fwrite($fichiermsg, "test");
    fclose($fichiermsg);
    echo 'Ecriture dans le fichier msg.txt effectuée';
}

?>


j'obtient une page blanche. En mettant la même chose avec w+ j'obtient aussi une page blanche et rien dans mon document.

Je précise que msg.txt est déjà crée. Peut-être que le problème vient de la...
Aussi je travaille en local. Je résume :

Mon doc html .html comprend:

<table border="0" class="tb2">
		 <form method="post" action="sendmessage.php">
         <tr>
		     <td><h4>Nom</h4><td>
		 </tr>
         <tr>		 
             <td><input type="text" name="nom"></td>
		 </tr>
         <tr>
		     <td><h4>Prénom</h4></td>
	     </tr>
		 <tr>
             <td><input type="text" name="prenom"></td>
         </tr>
		 <tr>
		     <td><h4>Email</h4><td>
		 </tr>
         <tr>		 
             <td><input type="text" name="email"></td>
		 </tr>
		 <tr>
		     <td><h4>Message</h4></td>
		 </tr>	 
             <td><textarea rows="5" cols="25" type="text" name="message"></textarea></td>
         </tr>
		 <tr>
             <td><input type="submit" name="valider"></td>
         </tr>
	  </table>	 


et c'est un document nommé sendmessage.php situé dans le même dossier qui ne comprend que :

<?php

ini_set('display_errors', true);
error_reporting(E_ALL);

$fichiermsg = fopen("msg.txt", "w+");

if ($fichiermsg === false) {
    echo 'Impossible de créer ou d\écrire dans le fichier msg.txt';
} else {
    fwrite($fichiermsg, "test");
    fclose($fichiermsg);
    echo 'Ecriture dans le fichier msg.txt effectuée';
}

?>


lorsque je clique sur "submit" sur .html, un une page blanche s'affiche mais ctrl+u m'indique bien le code php, écrit en vert...

Merci ;)

Ind6x
0
jordane45 Messages postés 38473 Date d'inscription   Statut Modérateur Dernière intervention   4 744
 
Bonjour,
mais ctrl+u m'indique bien le code php, écrit en vert..


=> Le code PHP étant un code INTERPRÉTÉ cote serveur... il ne doit pas apparaitre dans le code source de ta page...

Donc :

Tu as quoi dans ta barre d'adresse comme url ?
Tu bosses en local... ok.. mais tu utilises bien un logiciel tel que WAMP ou EASYPHP ?
0

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

Posez votre question
Utilisateur anonyme
 
Bonjour,

J'ai sa comme URL : file:///K:/gwillerm/technologie-informatique/programmation/Programmes/HTML%20&%20Web/Web-HTML/IND6X/Ind6x[V.HTML]/sendmessage.php

Cependant, je n'utilise ni WAMP ni EASYPHP #pastaper :) . Je me suis dit dès le début que mon problème venait sans doute de la mais j'ai aussi aussi essayer sur un hébergeur qui accepte php et ca na pas marché non plus... Mais effectivement mon pb doit venir de la, mais si c'est le cas, pk ca na pas non plus fonctionner sur mon hébergeur ?

Merci :)

Ind6x
0
jordane45 Messages postés 38473 Date d'inscription   Statut Modérateur Dernière intervention   4 744
 
Donc oui je confirme. .. sans serveur php (wamp ou autre...) c'est impossible
0
Utilisateur anonyme
 
mais mon hébergeur possède php pourtant. donc ok, c'est normal qu en local sa ne fonctionne pas, mais pas sur mon hébergeur...

Ind6x
0
jordane45 Messages postés 38473 Date d'inscription   Statut Modérateur Dernière intervention   4 744 > Utilisateur anonyme
 
Ce code :
<?php

ini_set('display_errors', true);
error_reporting(E_ALL);

$fichiermsg = fopen("msg.txt", "w+");

if ($fichiermsg === false) {
    echo 'Impossible de créer ou d\écrire dans le fichier msg.txt';
} else {
    fwrite($fichiermsg, "test");
    fclose($fichiermsg);
    echo 'Ecriture dans le fichier msg.txt effectuée';
}

?>

Fonctionne parfaitement.

Pour ce qui est de ton Hébergeur... aucune idée.
Essayes éventuellement de placer ce code dans une page dans un Sous-répertoire au lieu de le mettre à la racine...

Pour ce qui est du "LOCAL" , tant que tu n'utiliseras pas un serveur apache php ( WAMP, XAMPP, EASYPHP...) tu ne pourras JAMAIS exécuter de code PHP.
0
Utilisateur anonyme
 
Salut,

moi je lis:

" 'w' Ouvre en écriture seule ;"
et " 'w+' Ouvre en lecture et écriture ;

ce qui signifie que même w permet d'écrire.
de plus j'ai déjà essayer les deux et aucun ne fonctionne...

Mais comme dit plus haut c'est un probleme de wamp ou easyphp.

Merci

Ind6x
0
totoyo47 Messages postés 260 Date d'inscription   Statut Membre Dernière intervention   134
 
Oups, j'ai lu trop rapidement. Je supprime mon message pour éviter d'autres confusions.
0
Utilisateur anonyme
 
Bonjour,

Je vous remercie encore de votre soutient,

Je récapitule:

J'ai compris pourquoi cela ne fonctionnait pas en local, et c'est normal.

En revanche, sur mon serveur, le "submit" ne me renvoi pas une page blanche comme en local, mais me renvoi sur le site de l'hébergeur pour m'indique une erreur 404.

Merci de votre aide.

Ind6x
0