Newsgroup: it.comp.www.php
Titolo: Aiuto fputs

Come mai questo script mi dice "impossibile scrivere nel file" ?
<?
 /* Script che si occupa di inserire gli indirizzi
 e-mail inviati da un form in un file di testo*/
 //Apertura file
  $file = fopen("list.txt", "a+") or die("Impossibile aprire il file");
 //Scrittura
  fputs($file, $mail) or die("Impossibile scrivere nel file");
 //Chiusura
  fclose($file);
?>
Come posso fare in modo che metta un vakore per riga nel file txt?
Ah, l' invio dei dati avviene attraverso questo form:
<html>
<head>
<title>Mail</title>
</head>
<body>
<form action="mail1.php" method="get">
<input type="text" name="mail"> <br>
<input type="submit" name="invia" value="Invia">
</form>
</body>
</html>
Grazie 1000 a tutti per l' aiuto.

probabilmente devi controllare i permessi in scrittura sul  file (o
controllare se esiste- Se non esiste controllare che tu abbia i permessi in
scrittura nella cartella)


I permessi di scrittura li abilito quando apro il file con il valore "a+" i
permesi sulla cartella come li setto? (Sono su win98+apache)
Comunque il file esiste.
Altri suggerimenti?
Ciao
P.S.- A casa lo stesso script mi funziona ma non capisco perche'!!!:((((

 ha scritto nel messaggio
news:QMVE6.3151$QK.9...@news1.tin.it...


hai provato ad usare il metodo post anzichč get nel form ??
bye bye glassman
<form action="mail1.php" method="POST">


glassman ha scritto nel messaggio ...

Stesso risultato! Com' e' possibile che non funzioni?

Ho poca esperienza con php su windows (non è che sia proprio il massimo)
quindi non so dirti molto
comunque i permessi in scrittura non sono quelli che setti con a+  !!!!!!!!!
Con a+ provi ad accedere al file in scrittura (e lettura), ma non è detto
che ti sia consentito! =)
Prova a vedere le proprietà del file (tasto destro)
LAMASE


l'errore allora è qui:
fputs($file, $mail) or die("Impossibile scrivere nel file");
mancano i doppi apici alla $mail , usa anche il medoto post cosi':
fputs($file," $mail") or die("Impossibile scrivere nel file");
bye bye glassman

mancano i doppi apici alla $mail , usa anche il medoto post cosi':
E' del tutto irrilevante.
Io ho piuttosto un dubbio: che $file, in quel punto, non sia piu'
un descrittore di file, ma qualcos'altro. Qualcosa che assomiglia
in modo preoccupante a un valore logico.
Proverei quindi a sostituire
[A]	$file = fopen(...) or die(...);
con
[B]	if (!($file = fopen(...)) die(...);
e vedere cosa succede.
Almeno qui da me, funziona (la scrittura A ottiene l'errore detto
da Danilo, la scrittura B lavora correttamente).
Leonardo
-- 
".signature": bad command or file name

qui da me è il contrario la scrittura A funz, la scrittura B ottiene
l'errore.
bye bye glassman


IMHO, č probabile che il problema sia molto piů semplice,
dovuto al fatto che molti pc hanno problemi con il modo '+' .
Quindi prova ad usare il modo di sola scrittura 'a'  e se poi hai bisogno di
lettura usi 'r'.
Alla fine diventa cosi':
<?
 /* Script che si occupa di inserire gli indirizzi
 e-mail inviati da un form in un file di testo*/
 //Apertura file
  $file = fopen("list.txt", "a") or die("Impossibile aprire il file");
 //Scrittura
  fputs($file, $mail) or die("Impossibile scrivere nel file");
 //Chiusura
  fclose($file);
?>


?>
La cosa che mi fa impazzire e' che a casa funziona perfettamente!!!
FAro' delle prove e vi faccio sapere.
Grazie mille a tutti.
Danilo

> [B] if (!($file = fopen(...)) die(...);
                              ^ )))
