kizsbendo Posted September 29, 2006 Posted September 29, 2006 Hello mindenkinek! Már van egy hírlevélre feliratkozó php-m ami txt-ben tárolja az adatokat. Ehhez kapcsolódóan van egy hirlevel_szerkeszto.php admin felületén lehet megírni a hírlevelet és ezt a txt-ben tárolt címekre elküldeni. A hirlevel_szerkeszto.php-ba sikerült beillesztenem a Tiny mce szövegszerkesztõt és azt is sikerült megoldani ( hála mezofinek!)hogy a formázott htm szöveget is elküldje. A gond az, hogy a képbeszúrást nem tudom megoldani pedig sokat próbálkoztam, hiába ír: . Valaki tudna segíteni? <?php if(isset($_POST["szoveg"])){ $szoveg=$_POST["szoveg"]; //Email tartalom $targy = "Hírlevél"; /* HTML levél küldése a Content-type fejléc megadásával */ $fejlec = "MIME-Version: 1.0\n"; $fejlec .= "Content-type: text/html; charset=iso-8859-2\n"; /* további fejlécek Itt beállithatod mit írjon feladónak */ $fejlec .= "From: Tolem neked>\n"; /* üzenet */ $uzenet= '<html><head><TITLE>Hírlevél</TITLE> <STYLE type=text/css> body { font-family: Arial, Verdana, Tahoma; font-size: 13px; text-align: justify; margin-left: 20px; padding: 10px 0 10px 0; .center{ vertical-align:top; } } </STYLE> <META http-equiv=Content-Type content="text/html; charset=iso-8859-2"> <META content="MSHTML 6.00.2600.0" name=GENERATOR> </head> <body>'; } ?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="css/screen.css" rel="stylesheet" type="text/css" /> <script language="javascript" type="text/javascript" src="tiny_mce/tiny_mce.js"></script> <script language="javascript" type="text/javascript"> tinyMCE.init({ mode : "textareas", theme : "advanced", plugins : "table,save,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,zoom,flash,searchreplace,print,contextmenu", theme_advanced_buttons1_add_before : "save,separator", theme_advanced_buttons1_add : "fontselect,fontsizeselect", theme_advanced_buttons2_add : "separator,insertdate,inserttime,preview,zoom,separator,forecolor,backcolor", theme_advanced_buttons2_add_before: "cut,copy,paste,separator,search,replace,separator", theme_advanced_buttons3_add_before : "tablecontrols,separator", theme_advanced_buttons3_add : "emotions,iespell,flash,advhr,separator,print", theme_advanced_toolbar_location : "top", theme_advanced_toolbar_align : "left", theme_advanced_path_location : "bottom", plugin_insertdate_dateFormat : "%Y-%m-%d", plugin_insertdate_timeFormat : "%H:%M:%S", extended_valid_elements : "a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]", external_link_list_url : "example_data/example_link_list.js", external_image_list_url : "example_data/example_image_list.js", flash_external_list_url : "example_data/example_flash_list.js" }); </script> </head> <body><?php if(!isset($_POST["szoveg"])){?> <form name="form1" method="post" action="hirlevel_szerkeszto.php"> <p> </p> <textarea name="szoveg" cols="85" rows="15" id="szoveg">T</textarea> <td><input type="submit" name="Submit" value="Elküld"></td> </tr> </table> </form><?php } else{ //Kiolvassuk az email címeket. $b = fopen ("email.txt", 'r') or die ("Nuku file !:]"); while (!feof($b)) { $sorok[] = fgets ($b, 1024); } fclose($b); $darab=count($sorok); print_r($sor); //Feltöltjük a szöveget $szoveg=str_replace("\r\n","\n",$szoveg); for($i=0;$i < ($darab-1);$i++){ $email=$sorok["$i"]."\r\n"; $bov_uzenet=$uzenet.$szoveg; $bov_uzenet.="</body></html>"; @mail($email,$targy,$bov_uzenet,$fejlec); $mennyi=$mennyi+1; } print($mennyi." hírlevelet küldtem el!"); } ?> </body> </html>
Mezofi Posted September 29, 2006 Posted September 29, 2006 A következőt kellene megoldanod. A kép vagy képek egy nekik fenntartott mappába legyenek rakva. Amikor a levél elküldésre kerül, egy speckon átalakított függvényt kellene használnod, ami az <img src="kep_neve" .... /> szöveget kicseréli, így: <img src="http://www.site.hu/mappa_neve/kep_neve".../> -re. Ezzel azt éred le, hogy amikor ezt a szöveget találja a küldendőben, hogy img src=" Akkor a link elé fűzi a http://... -ot. Így egy korrekt kép címet kap a címzett. A függvény pedig a str_replace() Bővebben a függvényről. Azt még tedd meg nekem, hogy ezt a sort: $fejlec .= "From: Tolem neked>\n"; Kicseréled nekem erre: $fejlec .= "From: Tolem <neked@neked.hu>\n"; Köszi. Múlt héten már javítottam a letölthető állományban is.
kizsbendo Posted October 2, 2006 Author Posted October 2, 2006 A sort kicseréltem, köszönöm . A képbeszúrás nem igazán sikerül, teljesen kezdõ vagyok, ezzel próbálkoztam: //Feltöltjük a szöveget $szoveg=str_replace("\r\n","\n",$szoveg); $szoveg=str_replace("img src="","img src="http://takachi.bitmax.hu/hirlevel1/kep/",$szoveg); Tudom az img src-nél a " miatt biztos nem lehet jó, mert ekkor ha beírom hibaüzenetet kapok, ha nem írom be, akkor viszont nincs kép. Hogyan tovább, egyáltalán jó irányba indultam el?
Mezofi Posted October 2, 2006 Posted October 2, 2006 $szoveg=str_replace("img src="","img src="http://takachi.bitmax.hu/hirlevel1/kep/",$szoveg); Helyett $szoveg=str_replace('img src="','img src="http://takachi.bitmax.hu/hirlevel1/kep/',$szoveg); Ja, szerintem így próbáld.
Mezofi Posted October 2, 2006 Posted October 2, 2006 Persze, mert a progi levédi \ jelekkel az egész szöveget. ezért mi kivesszük belőle. $szoveg = stripslashes($_POST["szoveg"]); $szoveg=str_replace('img src="','img src="http://takachi.bitmax.hu/hirlevel1/kep/',$szoveg ); Nekem jött a kép! El vagyok magamtól dőlve.
kizsbendo Posted October 3, 2006 Author Posted October 3, 2006 Igen, mûködik Leborulok a nagyságod elõtt:istenvagy: Köszönöm a segítséget!
Mezofi Posted October 3, 2006 Posted October 3, 2006 Azért az túlzás, de szívesen. Én is gondolkoztam már rajta, hogy megcsinálom a sajátomat. De a magam számára lusta voltam gondolkodni.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now