Ouverture de fichier

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Ouverture de fichier

par jojolapine » 03 févr. 2006, 21:46

Pourquoi ne pas faire unfile_get_contents() sur le fichier, plutôt ? (si tu veux juste lire les adresses...).
je croit que tu n'as pas très bien compris la marche de manoeuvre (c'est peut-être pas très clair dsl)
pour envoyer les mails (ce qui marche très bien), je fait un include('adresses.php'), je n'ai donc pas besoin de les lires, vu que les variables sont à ma disposition....
mais c'est lorsque je veu ajouter des adresses à la liste dans le fichier adresse.php, que j'ai besoin d'une part de lire ce fichier, pour pouvoir conserver le reste des adresses (je stock ça dans $chaine) ensuite, une fois les adresses que je veux ajouter récupérée, je le met à la suite de chaine, ce qui normalement devrait me donner pour les deux echo de $chaine:
***avant l'ajout des adresses***
<?php $nb_adress=2;$adress1="[email protected]";?>
après l'ajout:
<?php $nb_adress=2;$adress1="[email protected]";$adress2="[email protected]";?>
(ça donnerai pas tt à fait ça avec ce que j'ai mit au début, car j'ai pas remis "?>" à la fin, mais bon je devrait quand même avoir qqch... :cry: )
voila je m'en remet encore à vous...

par mere-teresa » 03 févr. 2006, 16:07

Pourquoi ne pas faire unfile_get_contents() sur le fichier, plutôt ? (si tu veux juste lire les adresses...).

Si tu restes avec fopen, et que tu souhaites juste lire, tu mets 'r' au lieu de 'r+b' pour voir si ça fonctionne. Si tu veux ajouter les adresses dans le mm programme, tu choisis 'a'.p

par jojolapine » 03 févr. 2006, 15:58

non non, lorsque je clique sur ajouter dans la page add_adress.html,
je me retrouve sur une page blanche, (j'en déduit donc que les chaines que j'ai affichées sont vides puisqu'il n'ya pas de message d'érreur)...

par DarkBlue » 03 févr. 2006, 15:56

LE premier echo marche ? (celui qui affiche le contenu du fichier) si oui le probleme ne vient pas de la lecture du fichier !

par jojolapine » 03 févr. 2006, 15:46

nan ça vient pas delà (j'avais lu je sais plus où que sur les systèmes différanciant les fichiers binaires des autres ...blablabla, y fallait mettre un b dans l'option, mais bon ça vient pas de là de toute façon :wink: )
ma chaine est déséspérément nulle (le 'echo' de la fin n'affiche rien) :(
que faire

par DarkBlue » 03 févr. 2006, 15:31

hello ,

surement de cette ligne :
$fichier=fopen('adresses.php','r+b');
Je connais pas l 'attribut r+b ( je peux me tromper) ce doit etre simplement r+

Ouverture de fichier

par jojolapine » 03 févr. 2006, 15:25

Bonjour à tous, j'ai essayer de faire un petit script pour envoyer une news letter:
voici les fichiers:
***news_letter.html***
<form action="news_letter.php" method="post">
	<p>Envoi de la news-letter:</p>
	<p>Titre du mail:<input type="text" name="titre" /></p>
	<textarea cols="20" rows="10" name="corp" >texte du message</textarea>
	<p><input type="submit" value="Envoyer" /></p>
</form>
<a href="add_adress.html">Ajouter des adresses</a>
***news_letter.php***
<?php
include('adresses.php');
$chaine="";
for ($i=1;$i<($nb_adress+1);$i++){
	${'err'.$i}=mail(${'adress'.$i},$_POST['titre'],$_POST['corp']);
	if (${'err'.$i}==FALSE){
		echo "Echec de l'envoi à l'adresse ".${'adress'.$i};
	}
}
?>
***adresses.php***
<?php $nb_adress=2;$adress1="[email protected]";$adress2="[email protected]";?>
cette partie là fonctionne, le mail est envoyé à toute les adresses..
ensuite j'ai essayer de faire un module pour ajouter des adresses dont voici les fichiers:
***add_adress.html***
<form action="add_adress.php" method="post">
	<p>Ajout d'adresses pour la news letter:</p>
	<p>Adresse1:<input type="text" name="adresse1" />Adresse11:<input type="text" name="adresse11" /></p>
	<p>Adresse2:<input type="text" name="adresse2" />Adresse12:<input type="text" name="adresse12" /></p>
	<p>Adresse3:<input type="text" name="adresse3" />Adresse13:<input type="text" name="adresse13" /></p>
	<p>Adresse4:<input type="text" name="adresse4" />Adresse14:<input type="text" name="adresse14" /></p>
	<p>Adresse5:<input type="text" name="adresse5" />Adresse15:<input type="text" name="adresse15" /></p>
	<p>Adresse6:<input type="text" name="adresse6" />Adresse16:<input type="text" name="adresse16" /></p>
	<p>Adresse7:<input type="text" name="adresse7" />Adresse17:<input type="text" name="adresse17" /></p>
	<p>Adresse8:<input type="text" name="adresse8" />Adresse18:<input type="text" name="adresse18" /></p>
	<p>Adresse9:<input type="text" name="adresse9" />Adresse19:<input type="text" name="adresse19" /></p>
	<p>Adresse10:<input type="text" name="adresse10" />Adresse20:<input type="text" name="adresse20" /></p>
	<p><input type="submit" value="Envoyer" /></p>
</form>
***add_adress.php***
<?php
$fichier=fopen('adresses.php','r+b');
$chaine=fread($fichier,20);
echo $chaine."<br>";
fseek($fichier,(strlen($chaine)-2));
$adresse1=$_POST['adresse1'];
$adresse2=$_POST['adresse2'];
$adresse3=$_POST['adresse3'];
$adresse4=$_POST['adresse4'];
$adresse5=$_POST['adresse5'];
$adresse6=$_POST['adresse6'];
$adresse7=$_POST['adresse7'];
$adresse8=$_POST['adresse8'];
$adresse9=$_POST['adresse1'];
$adresse10=$_POST['adresse10'];
$adresse11=$_POST['adresse11'];
$adresse12=$_POST['adresse12'];
$adresse13=$_POST['adresse13'];
$adresse14=$_POST['adresse14'];
$adresse15=$_POST['adresse15'];
$adresse16=$_POST['adresse16'];
$adresse17=$_POST['adresse17'];
$adresse18=$_POST['adresse18'];
$adresse19=$_POST['adresse19'];
$adresse20=$_POST['adresse20'];

for ($i=1;$i<21;$i++){
	if (${'adresse'.$i}!==""){
		$chaine=$chaine.${'adresse'.$i}.";";
	}
}
echo $chaine;
//le script n'est pas finit, je vais ensuite écrire $chaine dans le fichier adresses.php
?>
mon problème c'est que je n'arrive pas à lire le fichier adresses.php, la chaine qui est censée récupérer le contenu du fichier et vide...
je sais pas d'où vient l'erreur...
si vous pouviez m'aider...
merci d'avance