-
Ciao, avendo bisogno ge gestire una mailing list, ma volendo farlo con un mio programma, vorrei permettere liscrizione all ml tramite linserimento del propio indirizzo di posta tramite un form che facesse al caso mio.
cioè vorrei ke salvasse tutti gli indirizzi email uno in un file .txt e dopo ogni indirizzo andasse a capo.
cioè il primo untente mette la sua mail: ccc(at)ciao.it
poi il secondo la sua bbb(at)ciao.it poi ancora
il terzo fff(at)ciao.it e cosi via. il file poi dovrebbe essere:
ccc(at)ciao.it
bbb(at)ciao.it
fff(at)ciao.it
magari inplementando un controllo sulla sintassi del indirizzo immesso (magari!!) cioe che se non è qualkekosa(at)qualkekosa.kualkekosa
mi desse errore e da ripetere limmissione.
SI puo? Grazie mIlle mi spiegate come ?
Garzie!!
-
ti consiglio di usare il db mysql :wink:
-
Si forse sarebbe meglio ma io ho la necessita di creare propio un file txt e propio in quel modo...
Grazie Ciao
-
ecco un esempio:
1) apri il file (se non esiste lo crea) puntando all'ultima riga
[code:1:ab8e9729e1]$fp = fopen ("nomefile.txt", "a");[/code:1:ab8e9729e1]
2) scrivi quello che vuoi (ricordati di mandare a capo con \n)
[code:1:ab8e9729e1]$stringa = "".$stringa."\n";
fwrite($fp, $stringa);[/code:1:ab8e9729e1]
3) chiudi il file.
[code:1:ab8e9729e1]fclose($fp);[/code:1:ab8e9729e1]
:wink:
-
Evcz, spero che ti arrivi la notifica in email di qst tread.. che adesso mi servirebbe... ma nn ci capisco piu una mazza per colpa del cambio forum...
-
ecco quello che piu o meno da solo sono riucito a fare...
file uno.htm
Codice HTML:
<html>
<body>
<center>
<form method=get action="verifica.php">
<br>Inserisci la tue email
<input type="text" name="email" size="20">
<br>
<br>
<input type="submit" value="Invia">
<input type="reset" value="Cancella">
</form>
</body>
</html>
file verifica.php
Codice PHP:
<?php
echo "<center>";
echo "Ciao ecco i risultati del tuo inserimento:";
echo " <br>";
echo "Inserimento riuscito";
#controllo che il file sia accessibile
if (!$apri = fopen ("file.txt","a+")) {
$errore=true;
echo "non posso aprire il file";
}else{
$apriw = fopen ("file.txt","a+");
# e sul file scrivo nome e vado a capo,il recapito e vado a capo
# l'oggetto e vado a capo e la linea ti separazione
fputs($apriw,"$email\n");
#chiudo il file
fclose($apriw);
}
#se c'e l'errore mi dice di inserirli di nuovo altrimenti mi fa leggere gli annunci
if($errore){
echo"<br> Riinseriscili perfavore<br>";
}
else{
echo "<br> <a href=\"uno.htm\">Torna Indietro</a>";
}
?>
il tutto funziona egregimente ma vorrei implementare il controllo che quella messa sia la sintassi di un email valida....
de tipo qlkosa@qlkosa.qlkosa e che altrmenti dia un mess di erroe...
si puo? certo che si puo ma mi date una mano?
-
Ciao Posco!
Il modo migliore per validare l'indirizzo e-mail mi sa che è spedire una mail di convalida, che contiene un codice casuale. Se il codice spedito e quello che è stato rimandato dall'utente combaciano allora la mail è valida ed appartiene all'utente!
-
si ma e me servirebbe propio quella cosa li.... che controlli solo la sintassi dell indirizzo.... immagino si faccia in php ma nn ne sono capace..
-
Un semplice controllore di sintassi non basta.
In ogni caso dovresti verificare che ella stringa c'é una sola @ e che non sia né all'inizio né alla fine della stringa e che comunque il . sia la terzultima o quartultima lettera.
Anche se la cosa migliore sarebbe quello di mandare all'indirizzo specificato una mail d'attivazione, in tal modo sei sicuro che l'indirizzo esiste...
-
dovresti risolvere parzialmente con l'uso delle espressioni regolari: non è detto che l'indirizzo email sia valido,ma per verificare la presenza del @ e del punto dovrebbe essere sufficiente!
-
si lo so grazie a tutti della risposta... ma io ho solamente bisogno del controllo sintassi.... per il resto mi interessa per ora.....
-
prova cosi' (ho cambiato un pajo di cose nel tuo codice e ho aggiunto la regexp che uso io per controllare le mail (le @ prima dei nomi di funz servono a evitare che mostrino i msg di errore predefiniti in caso di problemi):
Codice PHP:
<?php
echo "<p style=\"text-align: center\">"; //meglio usare un p del deprecato center
echo "Ciao ecco i risultati del tuo inserimento:</p>";
echo "<p style=\"text-align: center\">";
//questa e' la regexp che uso io per il controllo della mail, mi pare funzi bene
if (!preg_match ("/^[\w_\.-]+?@[\w_-]+?\.[\w\._-]{2,}$/", $email)) {
echo "inserisci un indirizzo email valido.</p>";
} else {
//controllo che il file sia accessibile -> con questa linea apre anche il file, qnd quella di dopo non serve
if (!$apri = @fopen ("file.txt","a+")) {
//usare la variabile di errore e' inutile, si puo' fare direttamente
echo "C'e' stato un errore nell'aprire il file.</p>";
echo "<p style=\"text-align: center\">Riinseriscili per favore</p>";
}else{
# sul file scrivo nome e vado a capo,il recapito e vado a capo
@fputs($apri,"$email\n");
#chiudo il file
@fclose($apri);
echo "tutto ok. <a href=\"uno.htm\">Torna Indietro</a></p>";
}
}
?>
-
Bello Grazie dxblade.. adesso la provo..
Grazie