Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Problema mailing list

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    43

    Problema mailing list

    Salve a tutti, io ho un problema con uno script in php per una mailing list, spiego meglio:
    questo file prende da un txt esterno una lista di email e permette di inviare a quest'ultime il necessario.

    il codice è il seguente:
    Codice PHP:
              <center>
    <?
    // Some variables;
    // Your emails list file;
    $filelist "testo.txt";
    // Email headers that subscribed users see
    // when you send them an email;
    $adminmail "nome@email.com";
    $emailheaders "From: " $adminmail "\nReply-To: " $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 
    "<h2>Please, make sure you have 777 permissions for current
       directory to create the mailing list file and click the button or
        create it manually and set 666 permissions on it</h2>"
    ;
        
       echo 
    "<form name=createFile action=adminemail.php method=post>";
       echo 
    "<input type=submit name=mode value=create mailing list file>";
       echo 
    "</form>";
       exit;
    }

    function 
    createList() {
             
    $fp fopen($GLOBALS["filelist"], "w");
             if (
    $fp) {
                echo 
    "<h2>Mailing list creata con successo!</h2>";
                echo 
    "[b]" $GLOBALS["filelist"] . "[/b]";
                echo 
    "<meta http-equiv='Refresh' content='1; URL=adminemail.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], $subjectstripslashes($message), $GLOBALS["emailheaders"]);
                 if (!
    $a)
                    exit;
             }
             echo 
    "Spam sent! ;)";
             echo 
    "<meta http-equiv='Refresh' content='1; URL=adminemail.php'>";
             exit;
    }

    // Displays the form to add emails to list;
    function displayAddEntryForm() {
             echo 
    "<h1>Aggiungi email alla mailing list:</h1>";
             echo 
    "<form name=addEntry action=adminemail.php method=get>";
             echo 
    "<input type=text name=email>";
             echo 
    "<input type=hidden name=mode value=add>";
             echo 
    "<input type=submit name=submit value=add>";
             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>Email aggiunta con successo!</div></h2>";
                echo 
    "<meta http-equiv='Refresh' content='1; URL=adminemail.php'>";
                exit;
             }
             else
                echo 
    "Errore!";
    }

    // Displays emails from list;
    // by default it display last 10 emails;
    function displayEntries() {
             echo 
    "Mostra le ultime emal della mailing list: <a href=adminemail.php?limit=10>10 emails</a> ||
             <a href=adminemail.php?limit=20>20 emails</a> ||
             <a href=adminemail.php?limit=50>50 emails</a> ||
             <a href=adminemail.php?showall=>Mostra tutto</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=adminemail.php?mode=edit&id=" .
                    
    $filecontents[$i] . ">Modifica</a> || <a href=adminemail.php?mode=delete&id=" .
                    
    $filecontents[$i] . ">Cancella</a>
    "
    ;
                }
             }
            elseif (isset(
    $limit)) {
                    
    $count 1;
                    for (
    $i=sizeof($filecontents)-1;$count<=$limit;$i--) {
                    echo 
    $filecontents[$i] . " <a href=adminemail.php?mode=edit&id=" .
                    
    $filecontents[$i] . ">Modifica</a> || <a href=adminemail.php?mode=delete&id=" .
                    
    $filecontents[$i] . ">Cancella</a>
    "
    ;
                    
    $count++;
                }
            }


    }

    // Displays the form to edit an email;
    function displayEditForm($id) {
             echo 
    "<h1>Modifica Email:</h1>";
             echo 
    "<form name=editForm action=adminemail.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=doEdit>";
             echo 
    "<input type=submit name=submit value=update>";
             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>Modifica avvenuta con successo!</div></h2>";
                    echo 
    "<meta http-equiv='Refresh' content='1; URL=adminemail.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>Cancellazione avvenuta con successo!</div></h2>";
                    echo 
    "<meta http-equiv='Refresh' content='1; URL=adminemail.php'>";
                    exit;
                    
                 }
             }
    }

    ?>
    <h2>Inserisci qui il testo che vuoi mandare a tutte le email:</h2>
    <form name=sendEmail action=adminemail.php method=post>
    Oggetto:
    <input type=text name=subject>

    Messaggio:
    <textarea name=message rows=10 cols=50></textarea>

    <input type=submit name=mode value=send>
    </form>
    [url="./index.html"]<h2>TORNA AL SITO</h2>[/url]
    </center>
    quando provo a cliccare su i vari file come modifica etc non mi entra nella pagina ma mi aggiunge a fine url semplicemente una roba di questo tipo: "blabla.php?mode=edit&id=email@gmail.com".

    Invece questo in un altro dominio (altervista) funziona perfettamente. Quindi ho pensato che fosse un problema di permessi, ma ho notato che la scrittura su file è abilitata in quanto una roba come questa:
    Codice PHP:
    <?php

    $stringa
    =$_POST['email']."\n";

    // Scrittura del file
    $scrivi_file=fopen("testo.txt","a+");
    fputs($scrivi_file,$stringa);
    fclose($scrivi_file);
    ?>
    Scrive tranquillamente su file.

    Non riesco a spiegarmi cosa può essere. Aiutatemi pls

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    43
    E' tutto il pomeriggio che provo a mettere a posto ma non riesco a fare un passo avanti. Sto impazzendo, per favore datemi una mano!

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    43
    so di essere assillante, ma devo finire questo lavoro e sto veramente impazzendo, nessuno mi può dare un aiuto, anche il più piccolo possibile , ma non so proprio dove sbattere la testa!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.