- Home
- Categorie
- Coding e Sistemistica
- PHP
- Problema newsletter
-
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 è verificato un errore nella lettura del database</p><p align=\"center\"><br><br>[<a href=\"newsletter.php?action=nllist&p=".$p."\">OK</a>]<br><br></p>\n"; }
Non riesco proprio a capire....grazie a tutti
-
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
-
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ù....
-
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.