Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. tavrotto
    3. Discussioni
    T

    tavrotto

    @tavrotto

    • Profilo
    • Chi segue 0
    • Da chi è seguito 0
    • Discussioni 2
    • Post 8
    • Migliore 0
    • Gruppi 0
    Iscrizione Ultimo Accesso
    0
    Reputazione
    8
    Post
    0
    Visite al profilo
    0
    Da chi è seguito
    0
    Chi segue
    User Newbie

    badges

    0
    Bookmarks
    0
    Voti
    0
    Ringraziamenti
    0
    Miglior risposte
    Inizia una nuova discussione
    di cosa vuoi parlare?

    Discussioni create da tavrotto

    • Topic
      Post
      View
      Votazioni
      Post
      Attività
    • T

      Invio e-mail tramite Swift e Internal Server Error
      Coding • • tavrotto  

      9
      1480
      Visualizzazioni
      0
      Votazioni
      9
      Post

      T

      OK, PROVO A POSTARE IL CODICE
      Chiedo umilmente scusa a tutti per lo spaghetti code qui sotto...
      Purtroppo la mancanza di tempo, le continue modifiche e test e la compressione del tutto per raggrupparlo in un unico file da incollare qui sul forum, hanno contribuito a peggiorare notevolmente lo script... grazie

      <?php
      require 'testa.php';

      ##########################################

      /* * Classe che prende indirizzi e-mail da un database MySQL, * li suddivide in blocchi (20 di default) e invia una e-mail personalizzata * ad ognuno di questi destinatari. */ $met = '900'; $fdd = '20'; $anteprima = stripslashes($_POST['anteprima_seria']);

      // includo le librerie necessarie alla connnessione al database
      require_once "lib/Swift.php";
      require_once "lib/Swift/Connection/SMTP.php";
      include "mdb-database/config.inc.php";

      $swift =& new Swift(new Swift_Connection_SMTP("smtp.aruba.it", 25));

      // estendo il max_execution_time a TOT minuti per ogni invio in blocco
      ini_set('max_execution_time', $met);
      ini_set('display_errors', 'Off');

      // id newsletter
      $id_nl = htmlspecialchars($_POST['id']);

      // OGGETTO DELLA NEWSLETTER $path = 'h t t p : / / w w w . m i o s i t o . i t /'; // TESTO DELLA NEWSLETTER $testo = ''; $testo .= '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv=Content-Type content="text/html; charset=UTF-8" /><title>Newsletter</title>'; $testo .= '<META http-equiv="Content-Type" content="text/html; charset=UTF-8">'; $testo .= '<link rel="stylesheet" type="text/css" href="'.$path.'style.css" />'; $testo .= '</head><body>'; // CONTENT $testo .= $_POST['anteprima_seria']; $testo .= '</body></html>'; // IMPOSTO LA NEWSLETTER COME "INVIATA" $sql_nl_inviata = 'UPDATE archivio SET inviata="1", data_invio="'.date("Y-m-d").'" WHERE id="'.$id_nl.'"'; @mysql_query($sql_nl_inviata, $conn); // PREPARO ED ESEGUO L'INVIO // calcolo il numero di blocchi da considerare $sql_count_indirizzi = 'SELECT COUNT(*) FROM newsletter'; $res_count = mysql_query($sql_count_indirizzi, $conn) or die(mysql_error()); // controllo se il numero di indirizzi è maggiore del numero di // indirizzi per blocco $numero_iscritti_tmp = mysql_fetch_row($res_count); $numero_iscritti = $numero_iscritti_tmp[0]; if($numero_iscritti>$fdd){ // divido il numero di iscritti totali per il numero di blocchi desiderato $n_blocchi = ($numero_iscritti/$fdd); // arrotondo il risultato ad un intero if(is_float($n_blocchi)) $n_blocchi = (int)$n_blocchi+1; else $n_blocchi = (int)$n_blocchi; } else $n_blocchi = 1; // per ogni blocco effettuo una query chiedendo un preciso range // di indirizzi for($i = 0; $i < $n_blocchi; $i++){ // controllo se il blocco è il primo (parte da 0) o uno dei // successivi if(($i+1) <= $n_blocchi){ // selezioni il range di record da mostrare $da = ($fdd * $i); $limit = ' LIMIT '.$da.', '.$fdd; } else $limit = ' LIMIT 0, '.$fdd; // eseguo la query che restituisce il blocco di indirizzi interessato $sql_blocco_indirizzi = 'SELECT email FROM newsletter '.$limit; $res_blocco = mysql_query($sql_blocco_indirizzi, $conn) or die(header('Location: '.$_SERVER['PHP_SELF'])); $numero = mysql_num_rows($res_blocco); while($numero>0){ echo '<span style="display: none"> </span>'; --$numero; $val = mysql_fetch_row($res_blocco); $message =& new Swift_Message($_POST['oggetto'], $testo, "text/html"); if (!($swift->send($message, trim($val[0]), "[email protected]"))){ echo "Si è verificato un errore durante l'invio dell'indirizzo ".$val[0]; exit(); } else echo $val[0].' fatto!<br />'; } } //$swift->disconnect(); //header('Location: esito.php?confirm=newsletter');

      ##########################################

      ob_end_clean(); ob_flush(); flush(); echo '<meta http-equiv="refresh" content="0;URL=esito.php?confirm=newsletter">'; echo '<div>'; echo '<table class="list" style="font-size: small">'; echo '<tr><td colspan="2">'; echo '<div class="conferma" style="font-size: small" id="esito">L\'invio è stato effettuato con successo!</div>'; echo '<br />'; $op= 'gestisci_email.php'; echo '<div>'; echo '<a href="'.$op.'">&laquo; TORNA ALLA LISTA DELLE E-MAIL</a>'; echo '</div>'; echo '</td></tr>'; echo '</table>'; echo '</div>'; // includo la coda require 'coda.php';

      ?>

    • T

      PHP: Problema legatura caratteri (per es fi)
      Coding • • tavrotto  

      3
      405
      Visualizzazioni
      0
      Votazioni
      3
      Post

      T

      Chiedo scusa se rispondo solamente ora a distanza di tempo dal consiglio.

      Infatti, sono riuscito a risolvere finalmente il problema!

      La soluzione è quella consigliata da Thedarkita cioè l'utilizzo della funzione htmlentities.

      Prima di memorizzare sul database i dati inviati tramite il POST della form ho eseguito semplicemente

      $testo = htmlentities($testo);

      Per l'anteprima del testo sul sito e per l'invio vero e proprio ho semplicemente riconvertito il tutto usando

      $testo = html_entity_decode($testo);

      e sembra funzionare proprio come volevo!!

      Grazie per l'auito,
      spero questo post possa, prima o poi, tornare utile a chi, come me, si è imbattuto nelle legature dei caratteri.

      Grazie