AIUTO!
Devo consegnare un sito entro l'una e non mi funziona la mailing list!
Ho scaricato lo script 4_mail_list e modificato leggermente i file, principalmente ho messo il testo in italiano.
Nella mia cartella ho 3 files:
- mailinglist.php
- subscribe.php
- emails.txt (file di testo che memorizza gli indirizzi)
codice:Il codice di mailinglist.php è: <? // Some variables; // Your emails list file; $filelist = "emails.txt"; // Email headers that subscribed users see // when you send them an email; $adminmail = "leslie@caricia.com"; $emailheaders = "Da: " . $adminmail . "\nRispondi a: " . $adminmail; // By default we display entries; if (!isset($mode)) $mode = "unknown"; // Since all administration is in one file, // we choose what to to do now; switch ($mode) { case "create": createList(); break; case "display": displayEntries($filelist); break; case "add": addEntry($email); break; case "edit": displayEditForm($id); break; case "doEdit": editEntry($email, $oldvalue); break; case "delete": deleteEntry($id); break; case "send": sendNews($subject, $message); break; default: if (file_exists($filelist)) { displayEntries(); displayAddEntryForm(); } } /* THIS IS THE PART WHERE WE CREATE A MAILING LIST FILE AUTOMATICALLY */ /* IGNORE IT IF YOU HAVE CREATED IT MANUALLY (NOTHING WILL BE DISPLAYED */ if (!file_exists($filelist)) { echo "<form name=createFile action=mailinglist.php method=post>"; echo "<input type=submit name=mode value=Crea file mailing list>"; echo "</form>"; exit; } function createList() { $fp = fopen($GLOBALS["filelist"], "w"); if ($fp) { echo "<h2>Mailing list file creata con successo!</h2>"; echo "" . $GLOBALS["filelist"] . ""; echo "<meta http-equiv='Refresh' content='1; URL=mailinglist.php'>"; exit; } else echo "Errore!"; } /**************************************************************************/ // Sends news to subscribers; function sendNews($subject, $message) { $filecontents = file($GLOBALS["filelist"]); for ($i=0;$i<sizeof($filecontents);$i++) { $a = mail($filecontents[$i], $subject, stripslashes($message), $GLOBALS["emailheaders"]); if (!$a) exit; } echo "Spam inviato! ;)"; echo "<meta http-equiv='Refresh' content='1; URL=mailinglist.php'>"; exit; } // Displays the form to add emails to list; function displayAddEntryForm() { echo "<h2>Aggiungi email alla lista:</h2>"; echo "<form name=addEntry action=mailinglist.php method=get>"; echo "<input type=text name=email>"; echo "<input type=hidden name=mode value=add>"; echo "<input type=submit name=submit value=aggiungi>"; echo "</form>"; } // Adds emails to list; function addEntry($email) { $fp = fopen($GLOBALS["filelist"], "a"); $emailsize = strlen($email . "\n"); $fw = fwrite($fp, $email . "\n", $emailsize); if ($fw) { echo "<h2><div align=center>Entry aggiunta!</div></h2>"; echo "<meta http-equiv='Refresh' content='1; URL=mailing.php'>"; exit; } else echo "Error!"; } // Displays emails from list; // by default it display last 10 emails; function displayEntries() { echo " Mostra ultime <a href=mailinglist.php?limit=10>10 emails</a> || <a href=mailinglist.php?limit=20>20 emails</a> || <a href=mailinglist.php?limit=50>50 emails</a> || <a href=mailinglist.php?showall=>Mostra tutte</a> "; $filecontents = file($GLOBALS["filelist"]); if (isset($GLOBALS["limit"])) $limit = $GLOBALS["limit"]; if ((!isset($GLOBALS["limit"])) and (!isset($GLOBALS["showall"]))) $limit=10; if (isset($GLOBALS["showall"])) { for ($i=sizeof($filecontents)-1;$i>=0;$i--) { echo $filecontents[$i] . " <a href=mailinglist.php?mode=edit&id=" . $filecontents[$i] . ">Modifica</a> || <a href=mailinglist.php?mode=delete&id=" . $filecontents[$i] . ">Elimina</a> "; } } elseif (isset($limit)) { $count = 1; for ($i=sizeof($filecontents)-1;$count<=$limit;$i--) { echo $filecontents[$i] . " <a href=mailinglist.php?mode=edit&id=" . $filecontents[$i] . ">Modifica</a> || <a href=mailinglist.php?mode=delete&id=" . $filecontents[$i] . ">Elimina</a> "; $count++; } } } // Displays the form to edit an email; function displayEditForm($id) { echo "<h1>Modifica email:</h1>"; echo "<form name=editForm action=mailinglist.php method=get>"; echo "<input type=text name=email value=" . $id . ">"; echo "<input type=hidden name=oldvalue value=" . $id . ">"; echo "<input type=hidden name=mode value=Modifica>"; echo "<input type=submit name=submit value=Aggiorna>"; echo "</form>"; exit; } // Edits an email and writes the updated file; function editEntry($email, $oldvalue) { $filecontents = file($GLOBALS["filelist"]); for ($i=0;$i<sizeof($filecontents);$i++) { if (chop($filecontents[$i]) == $oldvalue) { $filecontents[$i] = $email . "\n"; $fp = fopen($GLOBALS["filelist"], "w+"); for ($a=0;$a<sizeof($filecontents);$a++) { $emailsize = strlen($filecontents[$a] . "\n"); $fw = fwrite($fp, $filecontents[$a], $emailsize); } echo "<h2><div align=center>Entry modificata!</div></h2>"; echo "<meta http-equiv='Refresh' content='1; URL=mailinglist.php'>"; exit; } } } // Deletes an email and writes an updated file; function deleteEntry($id) { $filecontents = file($GLOBALS["filelist"]); for ($i=0;$i<sizeof($filecontents);$i++) { if (chop($filecontents[$i]) == $id) { $filecontents[$i] = ""; $fp = fopen($GLOBALS["filelist"], "w+"); for ($a=0;$a<sizeof($filecontents);$a++) { $emailsize = strlen($filecontents[$a]); $fw = fwrite($fp, $filecontents[$a], $emailsize); } echo "<h2><div align=center>Entry eliminata!</div></h2>"; echo "<meta http-equiv='Refresh' content='1; URL=mailinglist.php'>"; exit; } } } ?> <h2>Inserire qui il messaggio da inviare a tutti gli iscritti alla mailing list</h2> <form name=sendEmail action=mailinglist.php method=post> Oggetto: <input type=text name=subject> Messaggio: <textarea name=message rows=10 cols=50></textarea> <input type=submit name=mode value=Invia> </form>Vi prego datemi una mano!!!codice:Il codice di subscribe.php è: <? $filelist = "emails.txt"; if (isset($email)) { addEntry($email); } function displayAddEntryForm() { echo "Inserisci email:"; echo "<form name=addEntry action=subscribe.php method=post>"; echo "<input type=text name=email>"; echo "<input type=submit name=submit value=inserisci>"; echo "</form>"; } // Adds emails to list; function addEntry($email) { $fp = fopen($GLOBALS["filelist"], "a"); $emailsize = strlen($email . "\n"); $fw = fwrite($fp, $email . "\n", $emailsize); if ($fw) echo "<h2><div align=center>Sei stato correttamente inserito nella mailing list!</div></h2>"; else echo "Errore!"; } displayAddEntryForm(); ?>

Rispondi quotando