Masrour 0 ارسال شده در شهریور 94 گزارش بازنشر ارسال شده در شهریور 94 (ویرایش شده) سلام. من یه فایل txt دارم در هاست که در یک فیلد اسم و ایمیل و پیام رو میفرستم از طریف formولی وقتی فارسی فرم پر بشه در فایل تکست به صورت زیر نوشه میشه:در ضمن من فایل jdf.php رو اینکلود کردم در بالای صفحه به ضورت زیر و در فرم در یک اینپوت مخفی ارسال میکنم:چجوری کاراکتر هارو به صورت فارسی صحیح در فایل متنی دخیره کنیم؟<?phpinclude ('jdf.php');$day_number = jdate('j');$month_number = jdate('n');$year_number = jdate('y');$day_name = jdate('l');?>این فرم منه:<form name="MyForm" action="save-email.php" method="post" onsubmit="xmlhttpPost('save-email.php', 'MyForm', 'MyResult', '<img src=\'pleasewait.gif\'>'); return false;"><div id="subscribe"><input type="text" name="yourname" placeholder="نام و نام خانوادگی" id="in1"><br /><input type="text" name="email" placeholder="آدرس ایمیل" id="in3" required//><br /><input type="text" name="message" placeholder="پیام شما" id="in4" size="50" ><br /><input type="hidden" name="date" id="in5" value="<?php echo "$day_name-$day_number-$month_number-$year_number";?>"></div><div class="submit"><input type="submit" onclick="showresult()" id="sub1" value="به من اطلاع بده" /><br /><br /><div id="MyResult"></div></div></form>اینم کدهای فایل save-email.php<?php// write user data to file$name = $_POST["yourname"];$email = $_POST["email"];$message = $_POST["message"];$date = $_POST["date"];$ip = $_SERVER['REMOTE_ADDR'];$ref = $_SERVER['HTTP_REFERER'];$dtime = date('r');$entry_line = " Date: " . $date . "\r\n IP: " . $ip . "\r\n Name: " . $name . "\r\n Email: " . $email . "\r\n Message: " . $message . "\r\n==============================\r\n";$fp = fopen("logs.txt", "a+");fputs($fp, $entry_line);fclose($fp);$response = "اطلاعات شما ثبت شد، به شما اطلاع خواهیم داد." . "<br>";echo $response;?>اینم فایل تکست که تاریخ و فارسینوشته شده ها به صورت زیر هستن ویرایش شده شهریور 94 توسط Masrour نقل قول لینک به ارسال
sushyant 401 ارسال شده در شهریور 94 گزارش بازنشر ارسال شده در شهریور 94 encoding رو UTF8 بزنید 3 نقل قول لینک به ارسال
Masrour 0 ارسال شده در شهریور 94 مالک گزارش بازنشر ارسال شده در شهریور 94 encoding رو UTF8 بزنیداین تگ head منه:کجاش مشکل داره؟<!DOCTYPE html><html lang="fa"><head><meta charset="utf-8"><meta http-equiv="content-type" content="text/html;charset=utf-8"><title>MyWebsite</title><link type="text/css" rel="stylesheet" href="assets/css/visual.css" media="screen" /><script src="ajaxsbmt.js" type="text/javascript"></script></head> نقل قول لینک به ارسال
sushyant 401 ارسال شده در شهریور 94 گزارش بازنشر ارسال شده در شهریور 94 شما گفتی یه پرونده (فایل) txt داری. واسه همین گفتم اون پوشه رو باید utf8 بزنی. head بخشی از کد پوسته به شمار میاد . این ربطی به اون نداره نقل قول لینک به ارسال
Ehsaan 1865 ارسال شده در شهریور 94 گزارش بازنشر ارسال شده در شهریور 94 مشکل کد شما این هست که شما هدر شناسایی BOM رو اضافه نکردید، چون فایلاستریم PHP باینریسیف نیست، برای ذخیره صحیح کاراکترهای یونیکد، هدر BOM رو اضافه کنید.شما میتونید به جای fopen و fwrite از فانکشن زیر استفاده کنید.<?phpfunction writeStringToFile($file, $string){ $f=fopen($file, "wb"); $file="\xEF\xBB\xBF".$file; // this is what makes the magic fputs($f, $string); fclose($f);}?>منبعموفق باشید. 2 نقل قول لینک به ارسال
Masrour 0 ارسال شده در شهریور 94 مالک گزارش بازنشر ارسال شده در شهریور 94 مشکل کد شما این هست که شما هدر شناسایی BOM رو اضافه نکردید، چون فایلاستریم PHP باینریسیف نیست، برای ذخیره صحیح کاراکترهای یونیکد، هدر BOM رو اضافه کنید.شما میتونید به جای fopen و fwrite از فانکشن زیر استفاده کنید.<?phpfunction writeStringToFile($file, $string){$f=fopen($file, "wb");$file="\xEF\xBB\xBF".$file; // this is what makes the magicfputs($f, $string);fclose($f);}?>منبعموفق باشید.این به کدوم قسمت اضافه میشه؟ نقل قول لینک به ارسال
Ehsaan 1865 ارسال شده در شهریور 94 گزارش بازنشر ارسال شده در شهریور 94 این به کدوم قسمت اضافه میشه؟این رو بالای کدتون اضافه کنید (البته <?php و ؟> رو حذف کنید و بعد به جای استفاده از fopen و fputs از این تابع استفاده کنید.موفق باشید. 1 نقل قول لینک به ارسال
Masrour 0 ارسال شده در شهریور 94 مالک گزارش بازنشر ارسال شده در شهریور 94 این رو بالای کدتون اضافه کنید (البته <?php و ؟> رو حذف کنید و بعد به جای استفاده از fopen و fputs از این تابع استفاده کنید.موفق باشید.من نتونستم درست کنم من فایلهامو پیوست کردم لطفا یه نگاه بهش بندازید ببینید که در فایل index تگ فرم که مقادیر ارسال میشه مشکلی نداره؟ و اون فایل save-email کدهاشو نگاه کنید و این کدهایی که گفتید رو بزارید. ممنون.abbas.zip نقل قول لینک به ارسال
Masrour 0 ارسال شده در مهر 94 مالک گزارش بازنشر ارسال شده در مهر 94 من نتونستم درست کنم من فایلهامو پیوست کردم لطفا یه نگاه بهش بندازید ببینید که در فایل index تگ فرم که مقادیر ارسال میشه مشکلی نداره؟ و اون فایل save-email کدهاشو نگاه کنید و این کدهایی که گفتید رو بزارید. ممنون.up نقل قول لینک به ارسال
Masrour 0 ارسال شده در مهر 94 مالک گزارش بازنشر ارسال شده در مهر 94 دوستان من مشکل در نمایش مقادیر فارسی در فایل txt دارم. عکس زیر رو ببینید:این محتویات فایل index هست:<?phpinclude ('counter.php');include ('jdf.php');$day_number = jdate('j');$month_number = jdate('n');$year_number = jdate('y');$day_name = jdate('l');?><!DOCTYPE html><html lang="fa"><head><meta charset="utf-8"><meta http-equiv="content-type" content="text/html;charset=utf-8"><title>Website</title><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0" /><link type="text/css" rel="stylesheet" href="assets/css/visual.css" media="screen" /><script src="ajaxsbmt.js" type="text/javascript"></script></head><body><!-- Progress bar --><div id="progressbar" data-perc="45"><div class="bar"></div><div class="label"><span></span></div></div><!-- Wrap this content into a container that sets a default width. Progress is outside of this because it's width is 100%. --><div id="container"><!-- Logo text --><section id="logo"> <h1>طراحی و توسعه وب</h1></section><!-- Description text --><section id="tagline"> <p>در حال انجام تغییرات هستیم. بزودی باز میگردیم!</p></section><!-- Subscription form --><div id="form-sefaresh" class="main"> <form name="MyForm" action="save-email.php" method="post" onsubmit="xmlhttpPost('save-email.php', 'MyForm', 'MyResult', '<img src=\'pleasewait.gif\'>'); return false;"> <div id="subscribe"> <input type="text" name="yourname" placeholder="نام و نام خانوادگی" id="in1"><br /> <input type="text" name="email" placeholder="آدرس ایمیل" id="in3" required//><br /> <input type="text" name="message" placeholder="پیام شما" id="in4" size="50" ><br /> <input type="hidden" name="date" id="in5" value="<?php echo "$day_name-$day_number-$month_number-$year_number";?>"> </div> <div class="submit"> <input type="submit" onclick="showresult()" id="sub1" value="به من اطلاع بده" /><br /><br /> <div id="MyResult"></div> </div> </form></div><!-- Copyright message --><footer id="footer">Copyright © <?=date('Y')?> - All right reserved <div style="color:#fff;"></div>کلیه حقوق مادی و معنوی برای وب سایت محفوظ می باشد</footer></div></body></html>این هم فایل save-email هست:<?php// write user data to file$name = $_POST["yourname"];$email = $_POST["email"];$message = $_POST["message"];$date = $_POST["date"];$ip = $_SERVER['REMOTE_ADDR'];$ref = $_SERVER['HTTP_REFERER'];$entry_line = " Date: " . $date . "\r\n IP: " . $ip . "\r\n Name: " . $name . "\r\n Email: " . $email . "\r\n Message: " . $message . "\r\n==============================\r\n";$fp = fopen("logs.txt", "a+");fputs($fp, $entry_line);fclose($fp);$response = "اطلاعات شما ثبت شد، به شما اطلاع خواهیم داد." . "<br>";echo $response;?>مشکل از کجاست؟فایل های php رو در برنامه notepad++ باز کردم . utf8کردم بازم نشد. نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .