- Home
- Categorie
- Coding e Sistemistica
- PHP
- phpmailer e fckeditor
-
A cosa ti serve un refresh con redirect nel codice:
header("Refresh: 2; URL=link");
Su link c'è l'url della pagina di ritorno.
Se questo avviene al primo invio dell'email esce dallo script e non salva nulla nel db, inoltre invia solo un'email, cioè la prima che ricava dalla query.
Modifica in questo modo:... $mail = new PHPMailer(); while ($row=@mysql_fetch_array ($query)) { $mail->AddBCC($row['EMAIL']); } $mail->From = "[email protected]"; $mail->FromName = "newsletter"; ... $mail->AddAttachment($_FILES['allegato3']['tmp_name'],$_FILES['allegato3']['name']); $db2 = @mysql_select_db($database_email,$email); ... $risultato = mysql_query($messaggio); $msg_a = "Mail inviata con successo<br />"; $msg_b = "Si e' verificato un errore nell'invio della mail<br />"; header("Refresh: 5; URL=link"); if(!$mail->Send()) echo $msg_b; else echo $msg_a;
Ora dovrebbe funzionare.
Inoltre fa attenzione ad utilizzare header dopo aver fatto echo di qualche cosa, perchè genera errore.
-
Le tue considerazioni sono giuste e ti ringrazio ma il problema persiste..
cioè se scrivo in mex o mex2 del testo a mano la mail arriva e salva tutto nel db, se copio incollo dell'html esterno la mail arriva ma il db rimane vuoto..
A questo punto posso provare a cambiare WYSIWYG Editor, giusto per curiosità, e vedere se il problema persiste..
altro "esperimento" potrebbe essere quello di cambiare server (ormai mi appiglio a tutto :))..
-
Hai provato ad utilizzare un altro browser?
-
Si certo il problema lo da sia con IE che con Firefox
-
Prova a fare un echo di tutte le variabili, compresa la query che per inserire il messaggio nel db, poi posta il risultato.
Forse c'è qualche errore sql con determinati dati contenenti caratteri speciali.
-
Prova a fare un echo di tutte le variabili, compresa la query che per inserire il messaggio nel db, poi posta il risultato.
Forse c'è qualche errore sql con determinati dati contenenti caratteri speciali.
-
Mail inviata con successo
Ecco il testo incollato:
"ROMA, 2 settembre 2010 - "Annamo a vince". Ecco parte del messaggio che Daniele De Rossi ha spedito a Marco Borriello e che ha contribuito a spostare l'attenzione dell'attaccante da Torino a Roma. Nella conferenza stampa di presentazione, al termine del suo primo allenamento con Ranieri, l'ultimo acquisto giallorosso spiega così la sua scelta: "Rosella Sensi mi ha convinto, ho sentito la passione nelle sue parole. Poi De Rossi mi ha mandato quell'sms bellissimo, ho ancora la pelle d'oca. Mi ha scritto che sarà il miglior momento della mia vita e carriera. Si chiudeva con un annamo a vince"."
02-09-2010 14:17:59INSERT INTO lista_messaggi(data,oggetto,intestazione,messaggio,messaggio_secondario,messaggio_completo,img1,img2,img3,img4,img5,img6,link1,link2,link3,link4,link5,link6,allegato1,allegato2,allegato3) VALUES('02-09-2010 14:17:59','','','Ecco il testo incollato:
"ROMA, 2 settembre 2010 - "Annamo a vince". Ecco parte del messaggio che Daniele De Rossi ha spedito a Marco Borriello e che ha contribuito a spostare l'attenzione dell'attaccante da Torino a Roma. Nella conferenza stampa di presentazione, al termine del suo primo allenamento con Ranieri, l'ultimo acquisto giallorosso spiega così la sua scelta: "Rosella Sensi mi ha convinto, ho sentito la passione nelle sue parole. Poi De Rossi mi ha mandato quell'sms bellissimo, ho ancora la pelle d'oca. Mi ha scritto che sarà il miglior momento della mia vita e carriera. Si chiudeva con un annamo a vince"."
','','qui ho tolto la mail formattata in html
[CENTER]
[/CENTER]
','images/vuoto.jpg','images/vuoto.jpg','images/vuoto.jpg','images/vuoto.jpg','images/vuoto.jpg','images/vuoto.jpg','','','','','','','upload/','upload/','upload/')
-
Aggiungi questo è vedi se da errore:
... $risultato = mysql_query($messaggio); if(!$risultato) { die("ERRORE: " . mysql_error()); }
-
Aggiungi questo è vedi se da errore:
... $risultato = mysql_query($messaggio); if(!$risultato) { die("ERRORE: " . mysql_error()); }
-
Effettivamente da errore:
ERRORE: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'venuto il momento che l'Italia si dia una seria politica indust
e questo quello che ho incollato:
E' venuto il momento che l'Italia ecc. ecc.
-
Immaginavo, usa stripslashes() oppure addslashes() sul messaggio che inserisci nel db.
-
Lo avevo già inserito nel codice se vedi prima:
$mex = stripslashes($_POST['messaggio']);
$mex2 = stripslashes($_POST['messaggio_secondario']);
-
Errore mio, ho riletto la documentazione di PHP.
Devi usare solo addslashes() perche aggiunge lo slashe all'apice, mentre stripslashes() fa il contrario, lo rimuove.
Quindi nel tuo codice, ogni volta che nella stringa c'è l'apice, viene rimosso l'eventuale slashe generando errore SQL.
-
Errore mio, ho riletto la documentazione di PHP.
Devi usare solo addslashes() perche aggiunge lo slashe all'apice, mentre stripslashes() fa il contrario, lo rimuove.
Quindi nel tuo codice, ogni volta che nella stringa c'è l'apice, viene rimosso l'eventuale slashe generando errore SQL.
-
Effettivamente con addslashes risolve il problema però per motivi di integrazione con fck editor devo usare lo stripslashes prima del $_POST['messaggio'] poiché quando inserisco un url, fckeditor mi inserisce degli escape che non mi fanno funzionare l'href se non li elimino ..
in realtà dovrei usare sia stripslashes per eliminare gli escape di fck ma allo stesso tempo usare addslashes per risolvere il problema dei caratteri speciali pena il mancato inserimento nel db..
La struttura cui sto pensando sarebbe questa..
in $mailBody memorizzo la mail formattata usando stripslashes($_POST['messaggio'])poi spedita la mail provvedo a inserire i dati nel db stavolta con addslashes($_POST['messaggio'])..
cosa ne pensi?
-
Si va bene come idea.
-
Infatti ora funziona tutto perfettamente..
grazie tante sups per il supporto e la pazienza e se mi dici come fare provvedo a mettere a disposizione di tutti questa newsletter avanzata..
-
Bene, se vuoi pubblicarlo puoi mettere il codice direttamente qui, oppure in un altro post dove fai vedere il codice che installarlo e configurarlo.
Ciao!
-
Bene, se vuoi pubblicarlo puoi mettere il codice direttamente qui, oppure in un altro post dove fai vedere il codice che installarlo e configurarlo.
Ciao!