Impossible d'écrire dans un doc .txt

Fermé
Utilisateur anonyme - Modifié par Ind6x le 17/11/2015 à 20:51
totoyo47 Messages postés 260 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 30 mars 2020 - 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 lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
18 nov. 2015 à 10:56
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
Bonjour !

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

Merci

Ind6x
0
Utilisateur anonyme
22 nov. 2015 à 17:02
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 lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
23 nov. 2015 à 11:08
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
25 nov. 2015 à 18:40
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 contact.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 contact.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 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
Modifié par jordane45 le 25/11/2015 à 19:00
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
25 nov. 2015 à 22:42
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 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
25 nov. 2015 à 23:25
Donc oui je confirme. .. sans serveur php (wamp ou autre...) c'est impossible
0
Utilisateur anonyme
26 nov. 2015 à 12:21
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 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > Utilisateur anonyme
26 nov. 2015 à 12:45
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
26 nov. 2015 à 12:20
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 vendredi 10 juillet 2009 Statut Membre Dernière intervention 30 mars 2020 133
30 nov. 2015 à 22:11
Oups, j'ai lu trop rapidement. Je supprime mon message pour éviter d'autres confusions.
0
Utilisateur anonyme
26 nov. 2015 à 22:52
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