مشکل در تمپلیت ارسال ایمیل

ahmad_m1234

Active Member
با سلام دوستان
من برای ارسال تمپلیت ایمیل از ویرایشگر متن tinymce استفاره کرده ام . حالا می خواهم تمپلیت ساخته ارسال کنم اما در هنگام ارسال تگ های که دابل کوتیشن می باشند تگ ها ارسال نمی شوند

کد:
$message = "<html>
<head>
<title>title</title>
</head>
<body>"
.$_POST["txt_template"].
"</body>
</html>";

کد های html ساخته شده توسط tinymce

کد:
<table style="background-color: #f0f8ff; border-width: 1px; border-color: #778899; width: 491px; height: 40px;" border="1" align="center">
<tbody>
<tr>
<td>Name :</td>
<td>ahmad</td>
</tr>
<tr>
<td>ID :</td>
<td>1234</td>
</tr>
</tbody>
</table>

عکس تمپلیت ساخته شده :

yohjo7oor7gumlciwxf.png


عکس تمپلیت ارسال شده :

lgkx10z4lbnuhspii00.png


آیا می شود تو کد های جاوااسکریپ ویرایشگر متن دستکاری که به جای دابل کوتیشن از تک کوتیشن بسازد
آیا با کد php می شود
 
آخرین ویرایش:

Domanjiri

Well-Known Member
سلام

کد زیر رو ببینید:
PHP:
$test = '<a href="here.html" id="next" >salam'.$_POST["txt_template"].'</a>';//از سینگل کوتیشن استفاده کنید

در مورد عکس آخر هم به نظر می رسه که اطلاعات در تیبل (منظورم تگ table هست!) قرار دارند و مشکل از css هست که با استفاده از سینگل کوت (همینی که در کد بالا عرض کردم) حل میشه.

در ضمن بهتره که سوال های مربوط به ویرایشگر و نحوه ی نمایش قالب و.. رو در قسمت برنامه نویسی client side مطرح کنید.

موفق باشید
 
آخرین ویرایش:

ahmad_m1234

Active Member
ببینید من کد های شما امتحان کردم اما باز هم مشکل داره

40l8njrih9r8cqe2gej5.png


که در کد های عکس شده می بینید که باز هم مشکل داره پیغام می دهد اگر هم مثل پایین باشد خود جمله $_POST["txt_template"] را ارسال می کند

کد:
$message = '<html>
<head>
<title>titlei</title>
</head>
<body>
.$_POST["txt_template"].
</body>
</html>';
 

Domanjiri

Well-Known Member
درود بر شما

دوست من، این تصویری که شما گذاشتید نشون میده که بصورت دستی کد تیبل رو در فایل PHP جاگذاری کردین! این راهش نیست و چیزی رو نشون نمیده، شما باید کد رو اجرا کنید

در هر حال راه دیگه اینه که :
PHP:
$var = htmlspecialchars( $_POST["txt_template"]);
$message = '<html>
<head>
<title>titlei</title>
</head>
<body id="test">'.$var.'</body>
</html>';

این راه بهتره.

موفق باشید
 
آخرین ویرایش:

Domanjiri

Well-Known Member
(من یه متنی رو ابتدا برای شما نوشتم، بعد متوجه شدم که اشتباه کردم و وقتی داشتم ویرایش می کردمش ، شما داشتید این صفحه رو مشاهده می کردین، لطف کنید ارسال قبلی من رو دوباره ببینید!)

شما سورس خروجی رو بزارید اینجا بهتره (در صفحه مرورگر راست کلیک کنید و ..) از تصاویر چیز زیادی نمیشه بدست آورد

موفق باشید
 
آخرین ویرایش:

ahmad_m1234

Active Member
کد:
$to = $_POST['mnu_receive'];

$subject = $_POST['txt_subject'];
$var = htmlspecialchars($_POST["txt_template"]);
$message = '<html>
<head>
<title>title</title>
</head>
<body>'
.$var.
'</body>
</html>';

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";

$headers .= 'From: <'.$_POST['mnu_send'].'>' . "\r\n";

mail($to,$subject,$message,$headers);

جوابی که واسم اومد اینجوری شد :

کد:
<table style=\"background-color: #f0f8ff; width: 503px; height: 40px; border-width: 1px; border-color: #778899;\" border=\"1\" align=\"center\"> <tbody> <tr> <td>Name :</td> <td>ahmad nemati</td> </tr> <tr> <td>ID :</td> <td>1234</td> </tr> </tbody> </table>
یعنی بصورت کد شد
 

Domanjiri

Well-Known Member
درود بر شما

من این کد رو اجرا کردم و با خروجیش براتون گذاشتم:
PHP:
<?php
// test.php
$text= '<table style="background-color: #f0f8ff; border-width: 1px; border-color: #778899; width: 491px; height: 40px;" border="1" align="center">
<tbody>
<tr>
<td>Name :</td>
<td>ahmad</td>
</tr>
<tr>
<td>ID :</td>
<td>1234</td>
</tr>
</tbody>
</table>';

$message = '<html>
<head>
<title>title</title>
</head>
<body>'
.$text.
'</body>
</html>';
echo $message;
و خروجی:
کد:
<html>
<head>
<title>title</title>
</head>
<body><table style="background-color: #f0f8ff; border-width: 1px; border-color: #778899; width: 491px; height: 40px;" border="1" align="center">
<tbody>
<tr>
<td>Name :</td>
<td>ahmad</td>
</tr>
<tr>
<td>ID :</td>
<td>1234</td>

</tr>
</tbody>
</table></body>
</html>

کد زیر دیگه آخرین تیر خشاب منه :)green:!)

این کد تمام دابل کوت های داخل متغیر رو با سینگل کوت عوض می کنه:
PHP:
$pattern = '/"((.)*?)"/i'; 
$text = preg_replace($pattern,"'\\1'",stripslashes($text));

امیدوارم به مطلوبتون برسید

موفق باشین
 

جدیدترین ارسال ها

بالا