• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
دخیره کردن مقادیر tinymce در متغییر های phpو سپس mysql
#1
سلام
من مقدار ی tiny را سمت کلاینت میخونم و با ajax پاس می دهم به سرور اما انجا کل مقدار دریافت شده به خاطر وجود تگ های html کوتاه میشه و مقدار کامل را ذخیره نمیکند
دوستان لطف کنند و بگند که چطور این مشکل را حل کنم؟
من تست کردم به خاطر بعضی کارکتر ها رشته را درست نمیشناسه یا خظا میدهد
  پاسخ
تشکر شده توسط :
#2
من نمیفهمم منظورتو. tinymce یه ادیتور که بیشتر نیست. مقادیرش، منظورت مقادیر اینپوت هایی باید باشه که ساختی براش؟ اگر منظورت اینه، که برای هر اینپوت باید یه name در نظر بگیری بعد بسته به نوع ارسالت (get یا post - پست اینجا بهترینه و انتخاب get غلطه) بعد شما اون رو به صفحه ای که با php خونده و اجرا میشه میفرستید بعد کافیه $_POST['input_name'] رو ازش استفاده کنید. بجای input_name نام اینپوتی که میخوای باهاش کار کنی رو قرار میدی. بجای _POST هم اگر متد فرمت GET بود از _GET استفاده کن.

این واسه دریافتش بود، اگر ارسالت درست باشه تو دریافت به این شکل مشکلی نخواهی داشت. اگر مشکل از ارسال باشه باید کد ارسالت رو اینجا قرار بدی با بدنه html ات رو تا ببینیم جریان چیه.
غایب
  پاسخ
تشکر شده توسط : abbas64 Reza
#3
ببینید من ی tiny رو فرمم گداشتم خوب با ajax مقادیرش را به سرور مبفرستم تا اینجاش موردی نداره
اما در سرور چون مقدار فرستاده شدم دارای تگ های html است مثل &zwj , &nbsp به مشکل برخورد میکنم یعنی کل رشته را نمیشناسه ی مثال attach میکنم
دانلود
مرسی
  پاسخ
تشکر شده توسط :
#4
ببین اول با print_r یا var_dump خروجی رو بگیر ببین دقیقاً چی داری...
بعدم به مقدار magic_quotes_gpc تو فایل php.ini دقت کن، این باید off باشه، با ini_set هم نمیتونید این رو off کنید، یعنی زمان اجرا نمیشه، حتماً باید قبل از اجرا تو فایل php.ini مقدارش off بشه و یا اینکه تو فایل htaccess. با عبارت:
کد:
php_flag magic_quotes_gpc Off
off بشه، که اونم تحت شرایط خاصی کار نمیکنه، که یه راه دیگه ش هم استفاده از php.ini محلی هست، ولی اگه هنوز هاست نگرفتی به نسخه php حتماً دقت کن، php 5.3 به بالا باشه مشکل نداری...

البته اگه رشته "\ تو متنت نداری از تابع stripslashes هم میتونی استفاده کنی...
هر که با مرغ هوا دوست شود - خوابش آرامترین خواب جهان خواهد بود.
  پاسخ
تشکر شده توسط : abbas64
#5
مرسی من تاپیک قبلی شما راخوندم
وتنظیم را داخل php.ini انجام دادم اما بازم مشکل دارم

خوب فکر کنم معلوم شد تو خود فایل مقصد هم وقتی دارم اطلاعات را میخونم کامل نیست اما تو فایل مبدا وقتی Alert میگیرم کامل و درست است ببینید من اطلاعات را به شکل زیر میفرستم
کد:
function doAjaxPost(){
                alert(tinyMCE.get('comment1').getContent());
                $.ajax({
                type: "POST",
                url: "test.php",
                data: "start="+tinyMCE.get('comment1').getContent(),
                success: function(data){
                
               }
             });
            }
میشه مشکل از طریقه ارسال داده هام باشه
چ.ن من قبل ارسال alert میگیرم از متغییرم درسته اما وقتی داخل سرور با var_dump اطلاعات را میبینم کامل نیست
میشه راهنمایی کنید
اصلا شیوه ارسال داده هام به شکل بالا درسته
مشکلم از کجاست؟
  پاسخ
تشکر شده توسط :
#6
من که نمیفهمم. تستش کردم موردی نداشت. از انواع کاراکتر ها گرفته تا تعداد کاراکتر های بالا و کم. هیچی. دقیقاً مشکل چیه؟ چرا من حس نمیکنم؟

نقل قول:اما در سرور چون مقدار فرستاده شدم دارای تگ های html است مثل &zwj , &nbsp به مشکل برخورد میکنم یعنی کل رشته را نمیشناسه
شما از کجا فهمیدی مشکل بخاطر این کاراکتر هاست؟ اصلاً یه نمونه بده که واسه تو مشکل سازه و خروجیشم بده. با خروجی خودم چک میکنم
غایب
  پاسخ
تشکر شده توسط : abbas64
#7
نقل قول:شما از کجا فهمیدی مشکل بخاطر این کاراکتر هاست؟ اصلاً یه نمونه بده که واسه تو مشکل سازه و خروجیشم بده. با خروجی خودم چک میکنم
شما از ابزار tiny یک تیبل بندازید 2*2
در آخرین خونه هم داده وارد کنید ولی در بقیه نه بگذارید خالی باشه و تست کنید

یا اصلا محتویات ایت فایل را بریزید داخل ادیتور ببینید جواب نمیده
دانلود نمونه که جواب نمیدهد
  پاسخ
تشکر شده توسط :
#8
آها مشکل از اینجاست که کاراکتر های خاص چون & و ? کاربرد خاصی در ساخت کوئری استرینگ ها دارن. شما باید از تابع escape در جاوا اسکریپت بدین صورت استفاده کنید.
کد:
<script>
        function doAjaxPost(){
                alert(tinyMCE.get('comment1').getContent());
                $.ajax({
                type: "POST",
                url: "test.php",
                data: "start="+escape(tinyMCE.get('comment1').getContent()),
                success: function(data){
                document.getElementById('Searchresult').innerHTML=data;
                alert (data);
               }
             });
            }
    </script>
غایب
  پاسخ
تشکر شده توسط : abbas64 Reza hamid_80386
#9
اگه بازم درست نشد، از متن tinymce قبل از ارسال و بعد از ارسال (با var_dump) یه نمونه اینجا بزارید...
هر که با مرغ هوا دوست شود - خوابش آرامترین خواب جهان خواهد بود.
  پاسخ
تشکر شده توسط :
#10
ببخشید مشکل از من بود. من متوجه این نبودم که برای دست کاری URI نباید از دو تابع escape() و unscape() استفاده بشه. جاش برای اینکار که تست هم کردم درست جواب داد در هر دو مشکلی که ذکر کردید، باید از encodeURIComponent() و encodeURI() استفاده بشه. شما بجای escape از تابع encodeURIComponent() استفاده کنید.

(۱۳۹۱ خرداد ۱۸, ۰۱:۱۳ ق.ظ)hamid_80386 نوشته: اگه بازم درست نشد، از متن tinymce قبل از ارسال و بعد از ارسال (با var_dump) یه نمونه اینجا بزارید...

پدر جان شما که همش گیر دادی به var_dump . مشکل از دوستمون نیست که نمیتونه کدهای php اشو جایی اجرا کنه مثل css وگرنه منم بهش اخطار میدادم. یکم وقت بذار خودت فایلی که داده رو دانلود کن و تست کن و پاسخی براش پیدا کن.
غایب
  پاسخ
تشکر شده توسط : abbas64


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان