چهارشنبه ۲۶ اردیبهشت ۱۴۰۳

Wednesday, May 15, 2024 GMT +3:30

استفاده ترکیبی از جاوا اسکریپت (JavaScript) و PHP

php

همان طور که می دانیم جاوا اسکریپت (JavaScript) به عنوان یک زبان اسکریپت نویسی سمت کاربر و قابل اجرا در مرورگرها به خودی خود فواید و کاربردهای زیادی در صفحات وب دارد و تقریبا تمام برنامه نویسان و توسعه دهنده گان از آن استفاده می کنند، اما در کنار این کاربردها مواردی پیش می آید که بخواهیم از قدرت و قابلیت های آن برای نمایش محتوای داینامیک سمت سرور و به طور خاص در تعامل و ترکیب با PHP استفاده کنیم، این شیوه یکی از معمول ترین روش هایی است که بیشتر سایت های خدمات دهنده در زمینه ابزارهای وبلاگ نویسی برای کوتاه کردن کدهای نهایی و خیلی فواید دیگر از آن استفاده می کنند، از این رو و به جهت اینکه پرسش های زیادی از طرف کاربران در این خصوص مطرح می شود، قصد داریم این آموزش را به نحوه استفاده ترکیبی از جاوا اسکریپت (JavaScript) و PHP اختصاص دهیم.

هدف از ترکیب JavaScript و PHP


پیش از اینکه به ادامه آموزش بپردازیم بد نیست در یک جمع بندی کلی با هدف از تکنیک استفاده ترکیبی جاوا اسکریپت (JavaScript) و PHP آشنا شویم.
شرایطی که باعث می شود از جاوا اسکریپت و PHP به صورت ترکیبی استفاده کنیم اغلب به مواردی مربوط می شوند که بخواهیم به طور مثال محتوای داینامیک خروجی داده شده توسط کدهای PHP را به صورت فریم در صفحات HTML نمایش دهیم، به طور مثال فرض کنید فایل PHP با آدرس زیرپیج رنک سایت مورد نظر را محاسبه و به صورت آیکن نمایش می دهد.
http://www.yoursite.com/page_rank.php?url=$url&img=5
واضح است که اگر مقدار متغیر url درج شده در کد بالا را به صورت دستی تنظیم و این آدرس فرضی را در نوار آدرس مرورگر وارد کنیم احتمالا آیکن پیج رنک به نمایش در می آید، اما مشکل ما اجرای این کار به صورت خودکار و در صفحات وب است که امکان درج و اجرای مستقیم دستورات PHP در صفحات HTML وجود ندارد و از طرفی تمام و شاید اغلب کاربران این امکان را ندارند که از دستورات سمت سرور در وبلاگ ها استفاده کنند و محتوای فایل PHP را نمایش دهند، به همین خاطر باید به دنبال یک واسطه بین فایل های داینامیک PHP و صفحات استاتیک HTML باشیم، این واسطه چیزی نیست جزء دستورات زبان جاوا اسکریپت (JavaScript) که به راحتی می توان به کمک آن و تنها با چند خط کدنویسی ساده به هدف مورد نظر رسید و کد نهایی را به شکل نمونه زیر تغییر داد.
<script type="text/javascript" src="http://yoursite.com/page_rank.php?url=$url&img=5"></script>
اکنون می توان کد اسکریپتی بالا را در صفحات HTML به راحتی استفاده کرد، این روش جایگزین مناسبی است برای تکنیک های مشابه (مانند استفاده از iframe و...)، اما مراحل انجام این کار.

فراخوانی فایل PHP در JavaScript


اولین گام این است که آدرس فایل PHP خود را در قسمت src تگ های جاوا اسکریپت آدرس دهی کنیم، البته اگر تعداد فایل های سمت سرور بیش از یک مورد باشد، فایلی باید در این قسمت تنظیم شود که خروجی را تولید می کند و نیازی به وارد کردن سایر فایل ها درون دستورات جاوا اسکریپت نیست، به مثال زیر توجه کنید.
<script type="text/javascript" src="http://yoursite.com/output.php"></script>
نکته 1: اگر فایل سمت سرور (فایل PHP) نیاز به دریافت پارامترهایی داشته باشد، مانند متد GET در حالت عادی، می توانیم پارامترها را با افزودن علامت ? به انتهای آدرس و استفاده از علامت های & و =، به هر تعداد که لازم است تنظیم کنیم.
نکته 2: استفاده از این روش محدود به لینک های داینامیک نیست، درواقع با هر لینکی که فایل سرور به درستی توسط آن فراخوانی شود، خروجی دریافت شده و به نمایش در می آید.

تنظیمات JavaScript در فایل PHP


در گام دوم و در فایل PHP، باید خروجی کدها را مطابق با syntax دستور document.write تنظیم کنیم، همان طور که می دانیم یک دستور ساده document.write در جاوا اسکریپت به صورت زیر است:
<script type="text/javascript">
document.write('چاپ خروجی مورد نظر در مرورگر');
</script>
لذا وقتی این دستور را در کدهای PHP استفاده می کنیم باید به نکات زیر توجه داشته باشیم.
- درج موارد مربوط به document.write درون تگ های PHP مجاز نیست و باید خارج از علامت های php?> و ?> باشد.
نمونه اشتباه:
<?php
document.write('echo "ترکیب جاوا اسکریپت و PHP";');
?>
نمونه صحیح:
document.write('<?php
echo "ترکیب جاوا اسکریپت و PHP";
?>'
);
- به جهت رعایت syntax صحیح و مطابق با دستور العمل جاوا اسکریپت، علامت های ' و " در خروجی را با یک بک اسلش (\) ایمن سازی می کنیم، دقت کنید که در برخی سرور ها به جهت روشن بودن قابلیت magic_quotes_gpc (این قابلیت علامت های ' و " را با افزودن یک بک اسلش ایمن سازی می کند)، این کار به صورت خودکار انجام می شود و لذا ابتدا باید این قابلیت را غیر فعال کنید یا بک اسلش های اضافه شده را حذف نمائید تا از درج دو بک اسلش (یک بک اسلش توسط magic_quotes_gpc و یک بک اسلش دیگر توسط توابعی مانند addslashes) اجتناب شود، نمونه راه حل زیر می تواند هر دو مشکل را بر طرف کند.
document.write('<?php
//تابعی برای حذف بک اسلش های اضافه
function GpcClean($str){
    if(get_magic_quotes_gpc()){
        return stripslashes($str);    
    }
    return $str;
}
//افزودن بک اسلش به خروجی
echo addslashes(GpcClean("ترکیب جاوا اسکریپت و PHP"));
?>'
);
ملاحظه می کنید که برای بررسی روشن بودن قابلیت magic_quotes_gpc از تابع get_magic_quotes_gpc استفاده کرده ایم، اگر این قابلیت روشن باشد (مقادیر برگردانده شده توسط تابع get_magic_quotes_gpc برابر با TRUE بود)، مقادیر خروجی از فیلتر تابع stripslashes عبور کرده و بک اسلش های زائد حذف می شوند، در نهایت نیز با تابع addslashes، هر جا علامت ' یا " در خروجی وجود داشته باشد به صورت '\ و "\ تبدیل می شوند تا مطابق با syntax دستورات جاوا اسکریپت باشند.
نکته: استفاده از خط جدید (line break) در خروجی، مجاز نیست و موجب از کار افتادن نمایش کد می شود، به عبارت دیگر نباید از حالت Enter در خروجی کدهای PHP در ترکیب با جاوا اسکریپت استفاده شود.
دسته بندی: آموزش کاربردی » JavaScript
related مطالب بیشتر:
نمایش پیام در حال بارگذاری با جاوا اسکریپت (JavaScript)
ساخت دکمه رفتن به بالای صفحه (Scroll to Top) با جاوا اسکریپت
ساخت پنل چند سربرگی (Tabbed Panel) با جاوا اسکریپت و CSS
نمایش کادر پیام شناور در سایت و وبلاگ با جاوا اسکریپت
ایجاد پنل جمع شونده با جاوا اسکریپت و فریم ورک Spry
دیدگاه
more ۸۵ دیدگاه برای این مطلب ارسال شده است.
more دیدگاه جدید بر اساس تاریخ ارسال در انتهای دیدگاه های موجود نمایش داده می شود.
شریفی
۲۱:۴۳ ۱۳۹۱/۱۲/۲۹
سلام. از سایت خوبتون تشکر می کنم.
کاش یه کم در مورد روش های جلوگیری از هک سایت یا لو رفتن اطلاعات ذخیره شده در مای اس کیو ال که هکر ها از طریق ارسال شل یا ارسال ویروس می تونن انجام بدن، توضیحاتی بنویسید.
همچنین نحوه نوشتن کد پی اچ پی « امن » فیلد های ورودی مثل نام یا ایمیل رو بنویسید.
سلام
ممنون از پیشنهادات خوب شما، حتما در این خصوص و البته در آینده نزدیک مطالبی منتشر خواهد شد.
شریفی
۲۳:۳۳ ۱۳۹۱/۱۲/۲۹
ممنون.
راستی سایت شما رو در سایتم به صورت متد جدید گوگل لینک کردم.
adoniya.ir/Prolink/26
البته منتی به سر شما نیست. وظیفه ماست که از سایت های خوبی مثل وبگو حمایت کنیم...
با تشکر
سپاس فراوان از لطف شما.
فریبا
۱۷:۳۳ ۱۳۹۲/۰۱/۰۹
سلام
بابت سایت خوبتون متشکرم
سوالی در مورد ساخت فایل در PHP داشتم چون نمی دونستم کجا بنویسم اینجا مطرح می کنم:
من با تابع tempnam در PHP یک فایل درست می کنم که می خوام اسمش فارسی باشه ولی اسم فایل را به این صورت می گذارد:
تعمیر موتورسیکلت درجه 1
از جوابتون ممنونم.
سلام
تا آنجا که می دانیم، نام فایل ها در PHP از استاندارد ISO-8859-1 یا (ASCII) پیروی می کند، لذا در حالت معمول نمی توانید فایل هایی به فرض با کاراکترهای فارسی بسازید و این کار نیاز به دستکاری های ساختاری دارد.
نکته دوم اینکه با فرض قابل ساخت بودن فایل هایی با کاراکترهای غیر معمول، بهتر است این کار را نکنید، چون ممکن است با مشکلات بعدی ناشی از سازگار نبودن توابع و مفسر PHP روبرو شوید.
سلام
۰۳:۰۰ ۱۳۹۲/۰۱/۱۰
مرسی بابت سایت بسیار خوب و پر محتوای شما )):
چطور میشه چند تا عکس رو به اندازه های کوچک وکنارهم در یک پست وبلاگ قرار داد؟؟؟؟؟
اگر بخوام اخبار روز یک سایت را به صورت اسکرول در بالای وبلاگ داشته باشم چکار باید کرد؟؟؟؟
مواردی که مطرح کردید در این قسمت قابل آموزش نیست! برای نمایش چند عکس کنار هم باید با css و خاصیت های آن آشنا باشید که خود مبحث مفصلی دارد، مورد دوم نیز باید از ترکیب rss خوان و جاوا اسکریپت استفاده کنید.
رهگذر ....
۱۱:۳۸ ۱۳۹۲/۰۱/۱۰
برای به کار بردن عبارتهای فارسی در پی اچ پی کافیه که استاندارد رو از ASCII به UTF8 تغییر بدین. اون وقت هر چی فارسی توی فایل بنویسید درست و حسابی نمایش داده میشه.
با تشکر
سلام
خیلی ممنون از مشارکت شما، اما مشکلی که در سوال بالا مطرح شده در ارتباط با نام فایل است نه محتوای درون فایل.
مهدي
۱۴:۳۹ ۱۳۹۲/۰۱/۱۵
سلام واقعا مطالب سايتتون عاليه من كه لذت مي برم ببخشيد كه اينجا اين نظر رو مي نويسم شما به بزرگي خودتون ببخشيد ولي يه درخواست داشتم توضيحاتي رو كه در مورد اي جكس داده بوديد تو مطالب قبلي من نتوستم ازش استفاده كنم اما از آموزش اين آدرس زير استفاده كردم :
aliha.ir/2010/10/04/ajax-loading-content-with-jquery
/اين سايت ديگه آپديت نميشه بخاطر همين خواستم كه شما اين مطلب رو آموزش بديد با اين فرق كه
1- قسمت لودر سايت تا وقتي كه مطالب جديد هنوز بروز نشدن بياد اون قسمت و ناپديد نشه
2- يه سري اشكالاتي داره مثلا اين كه وقتي روي لينك كليك مي كني مطالب عوض نميشن بعد از چند ثانيه عوض ميشن لطفا راه رفع اين مشكل رو هم بگيد
ممنون
سلام
آموزش های مقدماتی سایت برای افرادی مناسب است که قصد دارند برنامه نویسی وب را از پایه یاد بگیرند، برای موارد کاربردی، باید از کدهای کاربردی استفاده کنید، به هر صورت در مورد لینکی که قرار دادید، متاسفانه این امکان برایمان مقدور نیست، ضمن اینکه مطلب مبتنی بر جی کئوری است و در حال حاضر این فریم ورک در سایت آموزش داده نمی شود، توصیه ما این است که از نمونه های کاملی که در وب کم هم نیستند استفاده کنید، یا به سایت های تخصصی در زمینه جی کئوری رجوع نمائید.
علی
۰۳:۳۳ ۱۳۹۲/۰۱/۱۶
با سلام
سوالم زیاد به این موضوع نمیخوره , ممنون میشم کمکم کنید.
من یک کد دارم به این صورت
<?php echo $_smarty_tpl->tpl_vars['item']->value['content'];?>
حالا به چه صورت قرار دهم تا این کد
<div class="comment"></div>
در آن عمل کند. زیرا
['content']
در کد php بالا باید در
<div class="comment"> اینجا </div>
قرار گیرد تا کد عمل کند.
هر کاری میکنم کد php عمل نمیکند و یا بلعکس کد html عمل نمیکنه
راه چیست؟
پیشاپیش از زحماتتون سپاس گذارم.
سلام
پاسخ دقیق به سوال شما نیازمند بررسی کامل کد و کلاس های آن است اما اگر اشتباه نکنیم، روش ساده زیر می تواند قبل و بعد از content مقادیری را چاپ کند که به نظر مشکل شما همین است:
<?php echo '<div class="comment">';echo $_smarty_tpl->tpl_vars['item']->value['content'];echo"</div>";?>
علی
۱۵:۲۶ ۱۳۹۲/۰۱/۱۶
خیلی ممنون از پاسختون :)
این آخرین سوال بنده هست.
<?php if ($_smarty_tpl->tpl_vars['item']->value['content']){?>
<div class="ow_newsfeed_content ow_smallmargin"><?php echo $_smarty_tpl->tpl_vars['item']->value['content'];?>
این کد های من است.
['content']
برای نمایش مطلب تنظیمشون کردم. (هردو شون)
حالا بنده ی کد نوشتم برای قرار دادن شکلک در متن , مثلا من اگه :) ارسال کنم. در سایت شکلکش نمایش داده بشه.
<div class="comment"> محل کد</div>
در بالا نوشتم محل کد, یعنی پست باید اونجا (محل کد) قرار بگیرد نمایش داده بشه تا در نهایت :) تبدیل به شکلک شود.
کد شکلک ها هم روی وبلاگ آزمایش کردم عمل میکنه.
حالا بنده چطور روی دو تا
['content']
بالا قرار دهم تا کد عمل کند؟
برای اینکه مطلبتون بهم نخوره من به اینجا سر میزنم , میتونید 24 ساعت بعد پاسخ حذفشون کنید.
با سپاس
برای این مورد باید ببیند مقادیر content چگونه فراخوانی می شود و سورس اصلی آن را پیدا کنید، سپس داخل آن سورس را باید ویرایش و موارد مد نظرتان را اضافه کنید، این مورد را نمی توانیم به سادگی برایتان توضیح دهیم، نیازمند آشنایی شما با مبحث آرایه ها و برنامه نویسی شی گرا در php است که خود مبحثی مفصل دارد.
۲۱:۱۷ ۱۳۹۲/۰۱/۱۶
ممنون به خاطر آموزش های خوبتون. دوستان می تونن از آموزش های این سایت
pix3l.ir/Programming.aspx
هم استفاده کنند . من هر روز یک سر میزنم مطالبش خیلی خوب و مفیده. توی زمینه پروژه برنامه نویسی هم کار می کنه.
تشکر
عليرضا
۱۴:۵۴ ۱۳۹۲/۰۱/۲۲
سلام . ممنون از آموزشهاتون . در مورد فريم وركهاي php مثل zend ميخواستم ازتون بپرسم كه در چه جاهايي بايد از اين فريم وركها استفاده كنيم .من با php اشنا هستم و مشغول يادگيري شي گرايي هستم ولي گويا بايد فريم وركها را هم ياد بگيرم . مثلا ايا شما همين سايت را با فزيم ورك خاصي طراحي كرده ايد؟
سلام
استفاده از فریم ورک اجباری نیست و حتی در بیشتر موراد غیر ضروری است، PHP به تنهایی آنقدر قدرتمند است که بتواند نیازهای برنامه نویسان وب را پوشش دهد، استفاده از فریم ورک در موارد خاصی توصیه می شود، به طور مثال برای کسانی که تجربه کدنویسی ندارند یا برخی امکانات که به صورت عادی با PHP در دسترس نیست، به فرض تا آنجا که می دانیم PHP به صورت پیش فرض از زبان فارسی در هنگام خروجی pdf پشتیبانی نمی کند، اما فریم ورک zend این کار را انجام می دهد، حال اگر قرار است سایت شما فایل های pdf از محتوایی بسازد که فارسی است، نیاز به فریم ورک است که کار با آنها چندان سخت نیست، فریم ورک را در صفحه وارد می کنید و به این ترتیب به کلاس ها و توابع آن دسترسی دارید.
در مورد اینکه در سایت از فریم ورک استفاده شده یا خیر، در حال حاضر از هیچ فریم ورکی استفاده نشده است، مهم این است که شما با نظم و ساختار مشخص برنامه بنویسید که برای توسعه بعدی آن، نیاز به کمترین صرف وقت باشد، البته معمولا تجربه این مورد به تدریج کسب می شود.
۲۰:۱۱ ۱۳۹۲/۰۴/۳۱
با عرض سلام و خدا قوت خدمت شما؛
ابتدا باید از سایت آموزنده و بسیار خوبتون تشکر کنم و براتون آرزوی موفقیت و سربلندی داشته باشم (إن شاء الله که بیش از پیش موفق باشید).
درباره 2 سؤال مزاحمتون میشم :
سؤال 1 :
بنده با استفاده از راهنمایی‌های شما برای ساخت RSS Feed Reader و همچنین تجربیاتی که درباره برنامه‌نویسی php داشتم، تونستم یه Feed Reader برای نمایش آخرین مطالب وبلاگ کلاسی خودمون بسازم (در قسمت بالای همه مطالب :
www.mums89.ir
با توجه به اینکه میهن‌ بلاگ اجازه استفاده از تگ iframe رو نمیده، مجبور شدم با استفاده از روشی غیرمستقیم، Feed Reader رو فراخوانی کنم :
http://www.stunet.ir/services/feed_reader/iframe.php?src=http://www.stunet.ir/services/feed_reader/feed_reader_3_1.php&height=550
).
منتهی برای نمایش دادن محتوای این Feed Reader، از روش iframe استفاده کردم و هر کاری کردم نتونستم از روش document.write استفاده کنم، چون همون‌ طور که توضیح داده بودید، به دلیل وجود line break در کد، امکان نمایش محتوا مختل خواهد شد.
سؤال بنده اینجاست که آیا راهی هست که بدون استفاده از iframe (با توجه به دست و پا گیر بودن این روش)، محتوای RSS رو نمایش داد؟
اگه روش document.write مد نظره، آیا امکان داره new line ها رو با استفاده از تابع str_replace، با <br> جایگزین کرد؟ یا به کار گرفتن تابعی شبیه به تابع trim؟ (چون قصد ندارم برخی فضاهای خالی به کار رفته در متن آخرین مطالب وبلاگ با استفاده از تابع trim از بین برن)
یا اگه راه حل دیگه‌ ای مد نظرتون هست بفرمایید.
اما سؤال 2 :
در ابتدا عذر می‌خوام اگه این سؤالم کمی با این مطلب نمی‌خونه، چون مطلب مرتبط دیگه‌ای برای پرسیدن این سؤال پیدا نکردم.
فرض کنید بنده ابزاری رو برای وبلاگ‌ها و وب‌ سایت‌ها توسط سایت خودم ارائه کنم (مثلاً همین Feed Reader رو با کمی بهینه‌سازی و افزایش انعطاف‌پذیری، به صورت ابزار ارائه کنم یا ابزار دیگه‌ ای مثل «رتبه‌بندی ستاره‌ ای» مطالب و ...).
سؤال بنده اینجاست که آیا راهی هست که بشه فهمید چه وبلاگ یا سایتی از ابزار مورد نظر ما استفاده می‌کنه (به طور خاص، برنامه‌ نویسی php رو در نظر دارم)؟
و تنها در صورتی که کاربر، وبلاگ یا سایت خودش رو در سایت ما ثبت‌ نام کرده باشه، اجازه استفاده از ابزار و نمایش اون رو به کاربر بدیم (با بررسی و چک کردن اینکه وبلاگ یا سایت کاربر در database ثبت شده)؟
درباره هر کدوم از سؤالات، اگه فقط اشاره‌ای اجمالی هم داشته باشید و بفرمایید که باید دنبال چه عنوان (title) هایی بگردم هم ممنون خواهم بود و نیازی به توضیح بیشتر و به زحمت افتادن شما نیست؛ ولی اگه علاوه بر اشاره به روش کار، توضیح مختصری هم بفرمایید، لطف مزیدی از جانب شما خواهد بود.
می‌بخشید اگه سرتون رو درد آوردم.
حق یار و نگهدارتون.
در مورد سوال اول:
نمایش خروجی کدهای PHP در سایر صفحات HTML به طور معمول از دو طریق iframe یا document.write امکانپذیر است، حالت اول چون حساسیت کمتری (از نظر Syntax) دارد، برای خروجی های طولانی و چند خطه مناسب است، اما حالت دوم (document.write) نیاز به رعایت اصول خاصی دارد و با کوچک ترین اشتباه از کار می افتد، لذا برای گرفتن خروجی های کوچک کاربرد دارد، از طرفی همان طور که اشاره کردید، برخی سرویس ها اساسا امکان استفاده مستقیم از برخی تگ ها را نمی دهند و به ناچار باید آنها را به نوعی دور زد (همان کاری که کرده اید)، نتیجه اینکه راه دیگری برای حل مشکل شما به ذهن نمی رسد (این روشی است که خیلی از سایت های ارائه کننده ابزارهای وبلاگ نویسی نیز از آن استفاده می کنند).
در مورد سوال دوم:
زمانی که یک فایل PHP (فایل ابزار) فراخوانی می شود، یک سربرگ HTTP به سرور ارسال می شود که (معمولا) یک قسمت آن شامل آدرس سایت ارجاع دهنده است، در PHP این آدرس ارجاع با
$_SERVER['HTTP_REFERER']
قابل دریافت است، لذا:
<?php
$valid_domains = array(
'webgoo.ir',
'google.com'
);

$valid = FALSE;

foreach ($valid_domains as $domain){
if(preg_match("@https?://$domain/.*@", @$_SERVER['HTTP_REFERER'])){
$valid = TRUE;
}
}
if ($valid){
echo "OK!";
}
else{
echo "Error!";
}
?>
البته این کد در بیشتر موارد و برای اغلب کاربران کافی است، اما چون امکان تغییر REFERER برای کاربران حرفه ای وجود دارد، بهتر است از دستورات htaccess (هرچند به شکل دستی) استفاده کنید:
<Files script.php>
order deny,allow
deny from all
allow from domain1.com
allow from domain2.com
</Files>
amir
۰۰:۴۳ ۱۳۹۲/۰۵/۲۹
درود بر شما و با تشكر از مطالب مفيد ي كه بدون چشم داشت به كاربران ارائه مي دهيد. من يك در خواست داشتم اميد است بتوانيد در اين مورد كمك كنيد:
در اسكريپت تبادل بنر softbiz banner ehchange ، كدي كه كاربران بايد در سايت خود قرار دهند به صورت iframe مي باشد ، حال اگر بخواهيم كد مورد نظر به صورت javascript باشد ( به خاطر اينكه بعضي از سيستم هاي وبلاگدهي كدهاي iframe را را قبول نمي كنند)، چگونه بايد كدها را تغيير داد ، ممنون ميشم اگر در اين مورد كمكم كنيد بسيار ضروري است.
کدهایی که به صورت iframe هستند معمولا حاوی مقادیر زیادی خروجی به صورت HTML می باشند لذا نمی توان خروجی را مستقیم در جاوا اسکریپت قرار داد، برای برخی از سیستم ها می توان تگ iframe را با جاوا اسکریپت درج کرد، مثال:
<script type="text/javascript">
var src = 'http://webgoo.ir';
var output;
output = '<if';
output += 'rame src="' + src;
output += '" width="300" height="200" frameborder="0"></if';
output += 'rame>';
document.write(output);
</script>
این روش تنها در برخی موارد کاربرد دارد، اما برای سیستم هایی مانند بلاگفا که محدودیت های دست و پا گیر زیادی دارند و علاقه زیادی به مچ گیری از کاربران، چاره عملی وجود ندارد، بهترین کار استفاده نکردن از اینچنین سرویس هایی است!
نکته: فراخوانی کدها می تواند از طریق قرار دادن آنها در یک فایل js و به صورت href نیز باشد.
مرتضی
۱۱:۱۳ ۱۳۹۲/۱۰/۰۳
ضمن تشکر از مطالب خوب شما
برای ارسال فایل ضمیمه در ایمیل از php دارم استفاده می کنم. می خوام در صورتی که فرمت فایل ضمیمه موارد آرایه
$format
نبود اون وقت به جای پیغام زیر:
فایل ضمیمه شده مجاز نمی باشد. تنها فرمتهای
با جاوا اسکریپت همین پیغام رو نشون بده.
$formats = array('jpg','gif','png','jpeg','bmp');
// بررسی فرمت فایل ضمیمه
$ext = end(explode('.',$file_name));
if(!in_array($ext,$formats)){
echo"فایل ضمیمه شده مجاز نمی باشد.تنها فرمتهای ";
}
می توانید خروجی را به صورت نمونه زیر چاپ کنید:
<?php
if(!in_array($ext,$formats)){
echo "<script type=\"text/javascript\">alert('فایل ضمیمه شده مجاز نمی باشد.تنها فرمتهای');</script>";
}
?>
۱۴:۰۶ ۱۳۹۲/۱۰/۰۶
سلام.
من یک فایل ایجوری می خوام درست کنم برای ابزار جستجوی سایتم .
اما توی نمونه ها دیدم که 3 تا echo استفاده شده .
echo اول که با "باز و بسته شده و استایل و ... توش قرار داده شده.
echo دوم که echo توش نیست و فقط یک خط کد توش هست.
echo سوم که باز با "باز و بسته شده و سلکتور با </a></div> بسته شده .
خواستم بدونم کدهای خودم را باید کجاش بزارم .
کد های من 12 خط هست.
سلام
هر چند منظورتان از نمونه ها مشخص نیست! به هر صورت آنچه لازم بوده در آموزش توضیح داده شده، اینکه چند echo و... استفاده شود مهم نیست، مهم این است که خروجی نهایی مطابق با syntax دستورات در جاوا اسکریپت باشد (درک دقیق این مسئله نیازمند داشتن تجربه قبلی در کدنویسی جاوا اسکریپت است).
nima
۲۱:۲۱ ۱۳۹۲/۱۰/۲۰
سلام
برای اینکه در سایت آنلاین یا آفلاین بودن کاربر رو مشخص کنیم ، یه دستور با جاوا اسکریپت که رویداد موقع خروج از مرورگر رو اجرا میکنه ، که موقع خروج با آپدیت دیتابیس این رو مشخص می کنیم ، سوال من اینکه که چطوری به جای دستور alert کد php رو اجرا کنیم ، البته کد رو که جایگزین می کنم بدون در نظر گرفتن شرط اجرا میشه ،
  window.onbeforeunload = confirmExit;
function confirmExit()
{

//code

}
سلام
این روش استاندارد و صحیحی نیست! جاوا اسکریپت یک زبان اسکریپت نویسی سمت کاربر است، خروج کاربر باید با فراخوانی یک کد در سرور انجام شود، البته این فراخوانی می تواند به شیوه Ajax (و ترکیب جاوا اسکریپت و PHP) نیز انجام شود، برای کسب اطلاعات بیشتر به آموزش های بخش Ajax مراجعه کنید.
نکته: در صورتی که می خواهید پس از بستن مرورگر توسط کاربر نشست او به پایان برسد، باید مدت اعتبار session را برای همان جلسه تنظیم کنید (رجوع به آموزش کار با سشن در PHP).
more لطفا پیش از ارسال دیدگاه نکات زیر را مد نظر داشته باشید:
- به سوالات کلی، زمانبر، مبهم و مشکلاتی که تلاشی برای رفع آنها نکرده باشید پاسخ مختصر داده شده یا به بخش برنامه نویسی اختصاصی ارجاع داده می شوند.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین یا به صورت حساب موقت و آزمایشی قرار دهید تا امکان بررسی دقیق مشکل و خطایابی میسر باشد.
- تمام دیدگاه های ارسالی خوانده شده و برای هر کاربر مدت زمان لازم جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.



 refresh
10 × 10
1 × 6
20 × 20
=
آخرین دیدگاه ها
more برای دسترسی سریع به یادداشت مربوطه می توانید از لینک مطلب در کادر زیر استفاده کنید.
سعیدی
سلام می تونید اینو اصلاح کنید؟ چون من با توضیحات شما یاد نگرفتم خیلی ممنون اگه یکبار اصلاح کنید واسه بعد یاد...
۱۴۰۳/۰۲/۲۲

سعیدی
دست شما درد نکنه وقتی اینطوری تغییر میدم و به class می نویسم کار نمی کنه و ارور میده
۱۴۰۳/۰۲/۲۱

سعیدی
دست شما درد نکنه خیلی خوب بود این یکی رو چطوری فراخوانی کنم؟ این واسه مناسبت هاست خیلی ممنون
۱۴۰۳/۰۲/۱۹

سعیدی
با سلام آیا می شه این تابع رو بصورت class نوشت؟ میخوام وقتی کد ملی میدم با این تابع فراخوانی بشه و شهر...
۱۴۰۳/۰۲/۱۹

پرتو
مگه شما دارین اموزشش رو؟ آدرسش رو میزارید؟ یا اگر سایتی رو میشناسید که آموزش داده باشه معرفی کنید ممنون میشم من خیلی گشتم توی...
۱۴۰۳/۰۲/۱۸

پــرتو
سلام خوبید ؟ خسته نباشید گوشی پدرم شیاومی هست ایمیلمو ثبت کردم داخلش بعد می خواستم حذفش کنم نمیشد می گفت همه داده های توی...
۱۴۰۳/۰۲/۱۶

vip
خیلی ممنونم از شما خیلی عالی شد میشه مثل تبلیغ بلاگفا باشه یعنی زیر صفحه نمایش داده بشه و صفحه رو سیاه نکنه که تا...
۱۴۰۳/۰۲/۰۵

vip
با سلام و خسته نباشید استاد چند وقت پیش این کد رو از شما گرفتم این کد خیلی خوبه و کاربر رو هم...
۱۴۰۳/۰۲/۰۴

پـــرتو
سلام خسته نباشید شرمنده مزاحم میشم یه سوال داشتم می خواستم بپرسم که چرا بلاگفا باز نمیشه برام؟ کلا هر وبلاگی که مربوط به بلاگفا...
۱۴۰۳/۰۲/۰۲

هادی عبداله زاده
با تشکر از شما دوست عزیز با order_id درستش کردم موقع برگشت order_id رو بر می گردونه اینطوری کردم که از طریق اون شناسه...
۱۴۰۳/۰۱/۲۲

هادی عبداله زاده
با تشکر از شما برای ارسال درخواست درست بود و به بانک هم وصل شد فقط برای وریفای چیکارش کنم؟
۱۴۰۳/۰۱/۲۲

هادی عبداله زاده
با سلام و خسته نباشید سال نو شما مبارک من یه کد واسه انتقال به درگاه دارم واسه زرین پال هست ...
۱۴۰۳/۰۱/۲۰

پـــرتو
ببخشید ممنون از جوابتون ولی یه سوال اگر بخوام همون شماره رو با حساب کاربری جدید با همون شماره رو داشته باشم داده های قبلی...
۱۴۰۳/۰۱/۱۹

حسین بلاگ
من یه صفحه ارسال متن دارم میخوام کاربرها وقتی واسه م پیام میدن وقتی روی اون دکمه کلیک می کنن بهشون بگه لطفا صبر...
۱۴۰۳/۰۱/۱۹

شریفی
سلام و عرض احترام سال نو رو بهتون تبریک میگم انشالله سال خوبی داشته باشین یه سرویس وبلاگدهی داریم که قصد داریم به...
۱۴۰۳/۰۱/۱۵

فرهادی
سلام ببخشید یه مشکل دارم این صفحه رو نگاه کنید چند بار توی سورس تکرار شده نمی تونم الگوی توضیحاتش رو استخراج...
۱۴۰۳/۰۱/۱۰

فرهادی
با تشکر از شما یه مشکل دیگه برام پیش اومده واسه این کد وقتی echo می گیرم تومان باهاش میاد وقتی میخوام فقط...
۱۴۰۳/۰۱/۰۹

سید صالح
با سلام و خسته نباشید من یک فرم ساده دارم که کاربر باید پر کنه چون سوال امنیتی و اینا نداره ربات ها همه...
۱۴۰۳/۰۱/۰۷

فرهادی
با تشکر از شما یه سوال دیگه هم دارم توی تعدادی از سایتهای فروشگاهی صفحات سایت مپ به جای لینک صفحات حاوی لینکهایی هستند...
۱۴۰۳/۰۱/۰۶

فرهادی
با سلام و درود سال نو رو بهتون تبریک میگم یه سوال من میخوام لینکهای داخل صفحه sitemap.xml سایتها رو دربیارم کدش رو هم...
۱۴۰۳/۰۱/۰۲
  در انتظار بررسی: ۰
 پاسخگویی به سوالات ممکن است تا ۲۴ ساعت زمان ببرد.