• User

    Problema newsletter

    Salve a tutti,
    ho un problema con una variabile per l'invio di una newsletter in html. Ecco il codice:

    if (isset($_GET["action"]) && $_GET["action"]=="nledit") {
    //=========================================================================
    //= NEWSLETTER EDITOR
    //=========================================================================
    echo "<h3>>><a href="newsletter.php">newsletter</a> >><b>edita newsletter</b></h3>\n";
    if (isset($_POST["Submit"]) && $_POST["Submit"]=="SALVA") {
    $error = "";
    trim($_POST["titolo_nl"]);
    $titolo_nl = checkField($_POST["titolo_nl"],"TITOLO",1,255,$error,"it");
    trim($_POST["testo_nl"]);
    $testo_nl = checkMemoField($_POST["testo_nl"],"TESTO",1,10000,0,$error,"it");
    trim($_POST["titolo_nl_due"]);
    $titolo_nl_due = checkField($_POST["titolo_nl_due"],"TITOLO2",1,255,$error,"it");
    trim($_POST["testo_nl_due"]);
    $testo_nl_due = checkMemoField($_POST["testo_nl_due"],"TESTO2",1,10000,0,$error,"it");
    $data_nl = date("YmdHis");
    //carico la foto se allegata
    trim($_FILES["immagine"]["name"]);
    if (isset ($_FILES["immagine"]["name"]) && $FILES["immagine"]["name"] != "") {
    //nome asseganto al file immagine
    $nome = "immagine";
    $nome_imm = "IM".date("YmdHis")."
    ".stripslashes($_FILES["immagine"]["name"]);
    print_r ($nome_imm);
    //directory di storage delle immagini inviate tramite newsletter
    $path_big = "../img/newsletter/foto/";
    $path_small = "";
    //larghezza massima immagine da includere al messaggio
    $max_size = 500;
    $tumb_size= 0;
    if ($carica = immagineLoad($nome,$nome_imm,$path_big,$path_small,$max_size,$tumb_size)) {
    $immagine_si = "s";
    echo "<div align="center" class="messageOK">Immagine caricata. L'immagine verrà inclusa nel messaggio.</div>";
    } else {
    $immagine_si = "s";
    echo "<div align="center" class="messageKO">Errore nel caricamento immagine. L'immagine non verrà inclusa nel messaggio.</div>";
    }
    } else {
    $immagine_si = "n";
    }

    Fino a qui tutto bene, l'immagine vien caricata nel db.

    Quando richiamo la variabile $nome_imm per leggere la newsletter salvata ( e pronta per l'invio) non mi riconosce più questa variabile.

    Ecco il codice per la lettura della newsletter:

    //=========================================================================
    //= LEGGI NEWSLETTER
    //=========================================================================
    $id_nl=(int)$_GET["id_nl"];
    $p = (int)$_GET["p"];
    $db = @connect_mysql();
    $newsletter = new newsletter($tb_n_i,$tb_n_arc,$tb_n_inv,$db);
    $leggi = $newsletter->nlSel($id_nl);
    if ($leggi != FALSE) {
    if ($leggi["invio_ok"]==1) {
    $semaforo=$semaforo_verde;
    echo "<table align="center" border="0" class="cornice">\n<tr>\n<td>STATO INVIO OK <img src="".$semaforo."" border="0" alt="" /></td>\n</tr>\n</table>\n";
    } else {
    $semaforo=$semaforo_giallo;
    echo "<table align="center" border="0" class="cornice">\n<tr>\n<td>STATO INVIO NON COMPLETO <img src="".$semaforo."" border="0" alt="" /> </td></tr>\n<tr><td align="center"><form name="invia_nl" method="post" action="newsletter.php?action=nlsend&p=".$p."&id_nl=".$id_nl.""><br><input type="submit" name="invia" value="INVIA" /></form></td>\n</tr>\n</table>\n";
    }
    echo "<table width="100%" border="5">\n";
    echo "<tr bgcolor="#dddddd"><td width="20%">NEWSLETTER DEL ".substr($leggi["data_nl"],8,2)."/".substr($leggi["data_nl"],5,2)."/".substr($leggi["data_nl"],0,4)." - ".substr($leggi["data_nl"],11,8)."</td></tr>\n";
    echo "<tr bgcolor="#f3f3f3"><td><b>".stripslashes($leggi["titolo_nl"])."</b></td></tr>\n";
    echo "<tr bgcolor="#dddddd"><td>".stripslashes($leggi["testo_nl"])."</td></tr>\n";
    echo "<tr bgcolor="#f3f3f3"><td><b>".stripslashes($leggi["titolo_nl_due"])."</b></td></tr>\n";
    echo "<tr bgcolor="#dddddd"><td>".stripslashes($leggi["testo_nl_due"])."</td></tr>\n";

    //VARIABILE NON RICONOSCIUTA

    echo "<tr bgcolor=\"#dddddd\"><td align=\"center\"><br><img src=\"../images/newsletter/foto/".stripslashes($nome_imm)."\" border=\"0\" ></td></tr>";
    
    
    	echo "</table>\n";
    } else {
    	echo "<p class=\"messaggiKO\"><br><br>Attenzione, si &egrave; verificato un errore nella lettura del database</p><p align=\"center\"><br><br>[<a href=\"newsletter.php?action=nllist&amp;p=".$p."\">OK</a>]<br><br></p>\n";
    }
    

    Non riesco proprio a capire....grazie a tutti


  • User

    Così a colpo d'occhio non viene inizializzata da nessuna parte. Non la devi recuperare dall'array (immagino...) $carica, invece di chiamarla direttamente?

    Ciao.
    Mel


  • User

    grazie per la risposta, viene inizilaizzata mediante queste righe:
    $nome_imm = "IM".date("YmdHis")."_".stripslashes($_FILES["immagine"]["name"]);
    print_r ($nome_imm);

    infatti con il print_r ($nome_imm); mi passa correttamente il valore e me lo scrive. Nel db viene caricata e viene copiata nella cartella che gli ho indicato (img/newsletter/foto)...

    dopo però non la riconosce più....


  • User

    Scusa, non avevo capito che i due spezzoni di codice che hai postato fossero sulla stessa pagina.

    L'unica cosa che mi viene in mente è che la variabile $nome_imm possa essere modificata nell'oggetto $newsletter, ma questo io non lo posso verificare.

    Cerca di capire la mia difficoltà nel riuscire a vedere un'immagine osservando un solo tassello del mosaico... 😉

    Ciao.