Récupérer les données d'un formulaire PHP

Bonjour,

Je voudrais créer un petit formulaire PHP où la personne inscrirait son e-mail et cliquerait sur OK. Je voudrais que les données (la liste des adresses e-mail) soient stockées dans un fichiers texte.
J'ai essayé le script "SimpleList" mais il ne marche pas !!

Comment faire ?!
Configuration: Windows XP
Safari 530.19.1

12 réponses

  1. bonjour,

    essaye :
    <?php
    
    	if(isset($_POST['mail'])) {
    		$f = fopen('./fichier.txt','a');
    		fwrite($f,htmlentities($_POST['mail']."\r"));
    		fclose($f);
    	}
    
    ?>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
    <head>
    	<title>MAIL</title>
    
    </head>
    <body>
    
    	<form action="" method="post">
    	<p>Mail : <input type="text" name="mail" />
    	<input type="submit" value="OK" /></p>
    	</form>
    
    </body>
    </html>
    1
    1. le fichier texte reste désépérément vide...
      0
  2. Avez-vous pensé à mettre les permissions à 777 ?
    Dans filezilla, il me semble que c'est "Permission du fichier".
    0
    1. j'ai essayé en mettant les permissions 777 et ca ne marche toujours pas...
      0
    2. @94uaehdQuestion stupide: avez-vous bien mis ces permissions sur le fichier texte ? Il ne faut pas mettre de telles permissions sur le fichier php.
      0
  3. Quel est l'hébergeur du site ?

    Et de plus est ce que le "path" du fichier texte est au bon endroit par rapport au script ?
    0
    1. C'est u7n (umbreon.net) et les deux fichiers sont dans le meme repertoire (public_html).
      0
  4. Essayes :
    $f = fopen('fichier.txt','a');

    Et si ca marche pas, as tu un message d'erreur ?
    0
    1. ce ne marche toujours pas et il n'y a pas de message d'erreur.
      0
  5. regarde a la racine du disque je me souviens avoir eu ce problème au début que j'utilisais ces fonctions...
    0
    1. la racine du disque ? peut tu me dire comment faire (je suis novice) ?
      0
  6. tu fais ça en local?

    essaye avec cette fonction :

    function modifier($adr,$name,$contenu,$droits='a') {
    		if ($adr == '') $adr = '.';
    		$getcwd = getcwd();
    		chdir($adr);
    		$path = getcwd().'/'.$name;
    		$file = fopen($path,$droits);
    		$write = fwrite($file,$contenu);
    		fclose($file);
    		chdir($getcwd);
    		return $write;
    	}
    0
    1. 1. non je ne fais pas ca en local

      2. ca ne marche toujours pas, merci quand meme !
      0
      1. Ok crées une page test.php au meme endroit que ta page qui doit écrire dans le fichier texte et mets :

        <?php

        if ( is_file('fichier.txt') )
        echo 'fichier trouvé';

        ?>

        Au moins on verras si c'est au bon endroit.
        0
        1. "fichier trouvé"
          0
      2. Ok alors maintenant :

        echo fileperms('fichier.txt');
        0
        1. "fichier trouvé33152"
          0
      3. Ok vires tout dans test php et mets :

        <?php
        $perms = fileperms('fichier.txt');

        if (($perms & 0xC000) == 0xC000) {
        // Socket
        $info = 's';
        } elseif (($perms & 0xA000) == 0xA000) {
        // Lien symbolique
        $info = 'l';
        } elseif (($perms & 0x8000) == 0x8000) {
        // Régulier
        $info = '-';
        } elseif (($perms & 0x6000) == 0x6000) {
        // Block spécial
        $info = 'b';
        } elseif (($perms & 0x4000) == 0x4000) {
        // Dossier
        $info = 'd';
        } elseif (($perms & 0x2000) == 0x2000) {
        // Caractère spécial
        $info = 'c';
        } elseif (($perms & 0x1000) == 0x1000) {
        // FIFO pipe
        $info = 'p';
        } else {
        // Inconnu
        $info = 'u';
        }

        // Propriétaire
        $info .= (($perms & 0x0100) ? 'r' : '-');
        $info .= (($perms & 0x0080) ? 'w' : '-');
        $info .= (($perms & 0x0040) ?
        (($perms & 0x0800) ? 's' : 'x' ) :
        (($perms & 0x0800) ? 'S' : '-'));

        // Groupe
        $info .= (($perms & 0x0020) ? 'r' : '-');
        $info .= (($perms & 0x0010) ? 'w' : '-');
        $info .= (($perms & 0x0008) ?
        (($perms & 0x0400) ? 's' : 'x' ) :
        (($perms & 0x0400) ? 'S' : '-'));

        // Tous
        $info .= (($perms & 0x0004) ? 'r' : '-');
        $info .= (($perms & 0x0002) ? 'w' : '-');
        $info .= (($perms & 0x0001) ?
        (($perms & 0x0200) ? 't' : 'x' ) :
        (($perms & 0x0200) ? 'T' : '-'));

        echo $info;
        ?>

        0
        1. c'est fait: il y a marqué "-rw-------"
          0
      4. Ok tu as fait quoi comme manip pour faire le chmod sur ton fichier.txt ?

        On dirait que ton chmod actuel n'est pas bon (pas en écriture).
        0
        1. c'est quoi le chmod ?
          0