استفاده ترکیبی از جاوا اسکریپت (JavaScript) و 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
برچسب ها: JavaScript - PHP

کنترل و تغییر اندازه فونت صفحه با جاوا اسکریپت
ساخت دکمه رفتن به بالای صفحه (Scroll to Top) با جاوا اسکریپت
ساخت منوی آکاردئونی با جاوا اسکریپت و CSS
ایجاد پنل جمع شونده با جاوا اسکریپت و فریم ورک Spry
نمایش کادر پیام شناور در سایت و وبلاگ با جاوا اسکریپت
دیدگاه


Ali
۱۱:۴۲ ۱۳۹۴/۰۴/۲۶
سلام دوست عزیز
به کدی برخوردم در جاوااسکریپت می خواستم ببینم معادلش تو php چی میشه
اگه فکر بهتری دارید ممنون میشم بگید
با تشکر
به کدی برخوردم در جاوااسکریپت می خواستم ببینم معادلش تو php چی میشه
window.top != window.self
(می خوام از این طریق کاربر رو مجبور کنم صفحه رو از طریق iframe ببینه و نتونه مستقیم به صفحه دسترسی داشته باشه)اگه فکر بهتری دارید ممنون میشم بگید
با تشکر
سلام
این متدها صرفا در جاوا اسکریپت کاربرد دارند و معادل PHP ندارند.
این متدها صرفا در جاوا اسکریپت کاربرد دارند و معادل PHP ندارند.
محمد
۱۹:۵۷ ۱۳۹۴/۰۴/۱۳
با سلام و تشکر از مثالی که واسه عبارات منظم قرار دادین
به عنوان مثال از لینک
نام فایل از دایوی که نام کلاس آن title است انتخاب شود.
همچنین href تمام عکس ها به این صورت هستش
http://cdn.yjc.ir/files/fa/news/1394/4/10/3331555_718.jpg
که می خواهم به این صورت تغییر کنه
images/3331555_718.jpg
چون صفحاتی که باید متن آنها ذخیره شود زیاد است (در حدود 1200 صفحه) این کار را به صورت دستی نمیشه انجام داد.
باز هم شرمنده و دستتون درد نکنه به خاطر پاسخ دادن به سوالات کاربران
به عنوان مثال از لینک
http://www.yjc.ir/fa/news/5248896/%D8%A2%DB%8C%D8%A7%D8%AA%DB%8C-%D8%A7%D8%B2-%D9%82%D8%B1%D8%A2%D9%86-%DA%A9%D8%B1%DB%8C%D9%85-%DA%A9%D9%87-%D9%88%D8%AC%D9%88%D8%AF-%D9%85%D9%88%D8%AC%D9%88%D8%AF%D8%A7%D8%AA-%D9%81%D8%B6%D8%A7%DB%8C%DB%8C-%D8%B1%D8%A7-%D8%A7%D8%AB%D8%A8%D8%A7%D8%AA-%D9%85%DB%8C%E2%80%8C%DA%A9%D9%86%D9%86%D8%AF
می خواهم محتویات دایو (متن همراه با تمام تگ ها) که نام کلاس آن body است استخراج شده و در یک فایل html ذخیره شودنام فایل از دایوی که نام کلاس آن title است انتخاب شود.
همچنین href تمام عکس ها به این صورت هستش
http://cdn.yjc.ir/files/fa/news/1394/4/10/3331555_718.jpg
که می خواهم به این صورت تغییر کنه
images/3331555_718.jpg
چون صفحاتی که باید متن آنها ذخیره شود زیاد است (در حدود 1200 صفحه) این کار را به صورت دستی نمیشه انجام داد.
باز هم شرمنده و دستتون درد نکنه به خاطر پاسخ دادن به سوالات کاربران
سلام
برای تجزیه یک سند HTML معمولا نیازی به عبارات با قاعده نیست و بهتر است از کلاس هایی مانند DOMDocument استفاده کنید که روش استانداردتر است، مثال:
- دریافت اطلاعات یک div بر اساس class آن:
برای تجزیه یک سند HTML معمولا نیازی به عبارات با قاعده نیست و بهتر است از کلاس هایی مانند DOMDocument استفاده کنید که روش استانداردتر است، مثال:
- دریافت اطلاعات یک div بر اساس class آن:
<?php
$html = file_get_contents('http://www.yjc.ir/fa/news/5248896/%D8%A2%DB%8C%D8%A7%D8%AA%DB%8C-%D8%A7%D8%B2-%D9%82%D8%B1%D8%A2%D9%86-%DA%A9%D8%B1%DB%8C%D9%85-%DA%A9%D9%87-%D9%88%D8%AC%D9%88%D8%AF-%D9%85%D9%88%D8%AC%D9%88%D8%AF%D8%A7%D8%AA-%D9%81%D8%B6%D8%A7%DB%8C%DB%8C-%D8%B1%D8%A7-%D8%A7%D8%AB%D8%A8%D8%A7%D8%AA-%D9%85%DB%8C%E2%80%8C%DA%A9%D9%86%D9%86%D8%AF');
$doc = new DOMDocument();
libxml_use_internal_errors(true);
$doc->loadHTML($html);
$finder = new DomXPath($doc);
$node = $finder->query('//div[@class="body"]');
echo $doc->saveHTML($node->item(0));
?>
- تغییر src آدرس های تصویر (در ادامه کدهای بالا):<?php
function changeSRC($content){
$content = preg_replace('/src="([^"]*\/(.+)\.(?:png|jpeg|jpg|gif|bmp))"/', 'src="images/$2.jpg"', $content);
return $content;
}
/*کدهای مثال بالا*/
$result = $doc->saveHTML($node->item(0));
echo changeSRC($result);
?>
۱۹:۵۴ ۱۳۹۴/۰۴/۰۵
سلام
خدا قوت
ممنون از اینکه اینقدر سریع به مشکل من رسیدگی کردید اما یک خواهش دارم که می دونم توقع بالاییست.
من با پی اچ پی آشنایی چندانی ندارم ولی الآن به این
کد احتیاج دارم آیا امکانش هست که فایل پی اچ پی رو برام تصحیح کنید البته اگر هم نشد تا همین جا هم ممنون
یاعلی
خدا قوت
ممنون از اینکه اینقدر سریع به مشکل من رسیدگی کردید اما یک خواهش دارم که می دونم توقع بالاییست.
من با پی اچ پی آشنایی چندانی ندارم ولی الآن به این
کد احتیاج دارم آیا امکانش هست که فایل پی اچ پی رو برام تصحیح کنید البته اگر هم نشد تا همین جا هم ممنون
یاعلی
سلام
فایلتان را به صورت فشرده (فرمت zip) به آدرس ایمیل ما (موجود در بخش تماس) ارسال و نتیجه را از همان طریق پیگیر باشید.
فایلتان را به صورت فشرده (فرمت zip) به آدرس ایمیل ما (موجود در بخش تماس) ارسال و نتیجه را از همان طریق پیگیر باشید.
ali
۰۸:۴۶ ۱۳۹۴/۰۴/۰۵
سلام
خدا قوت
ممنون از سایت خوبتون ولی یه مشکلی برای من پیش اومده
من این کد رو که نمایش دهنده ساعت سرور هست رو در سایتم کپی کردم که درست کار میکنه اما مشکل اینجاست
که وقتی کد فراخوانی رو در اچ تی ام ال قرار میدم کار نمیکنه
لطفا راهنمایی کنید ممنون
خدا قوت
ممنون از سایت خوبتون ولی یه مشکلی برای من پیش اومده
من این کد رو که نمایش دهنده ساعت سرور هست رو در سایتم کپی کردم که درست کار میکنه اما مشکل اینجاست
که وقتی کد فراخوانی رو در اچ تی ام ال قرار میدم کار نمیکنه
لطفا راهنمایی کنید ممنون
<script type="text/javascript" src="http://rashkan.com/hhhhhh/index.php"></script>
سلام
در خروجی کدهای فایل index.php تگ های اضافه (از جمله script) وجود دارد، زمانی که فایل php (با خروجی جاوا اسکریپت) را داخل تگ script با آدرس دهی فراخوانی می کنید، نباید در خروجی فایل php، مجددا تگ script چاپ شود! این کار باعث بروز خطای Syntax و عدم اجرای کدها در مرورگر می شود.
در خروجی کدهای فایل index.php تگ های اضافه (از جمله script) وجود دارد، زمانی که فایل php (با خروجی جاوا اسکریپت) را داخل تگ script با آدرس دهی فراخوانی می کنید، نباید در خروجی فایل php، مجددا تگ script چاپ شود! این کار باعث بروز خطای Syntax و عدم اجرای کدها در مرورگر می شود.
محمد
۲۳:۳۱ ۱۳۹۴/۰۴/۰۳
با سلام ضمن تشکر از شما مطالبی درباره عبارات با قاعده در سایت های مختلف همچنین سایت شما مطالعه کردم اما همچنان برای من سواله که چطور
یک div با id=content رو انتخاب کنم
href یک a رو بخونم
href یک a رو تغییر بدم
اگه لطف کنید یه تکه کد به من بدید خیلی لطف بزرگی کرده اید.
واسه پروژه ام خیلی به این کدها نیاز دارم
با تشکر فراوان
یک div با id=content رو انتخاب کنم
href یک a رو بخونم
href یک a رو تغییر بدم
اگه لطف کنید یه تکه کد به من بدید خیلی لطف بزرگی کرده اید.
واسه پروژه ام خیلی به این کدها نیاز دارم
با تشکر فراوان
سلام
این بحث خیلی گسترده است و با توجه به هدف، حالت های زیادی متصور است، باید دقیقا شرایط را تشریح کنید، به فرض انتخاب یک div بر اساس id آن برای چه هدفی است؟ صرف انتخاب معنی خاصی ندارد! یا آیا تگ a دارای مشخصه خاصی است که بتواند آن را از سایر موارد مشابه مجزا کند؟ صرفا در حد نمونه کد:
این بحث خیلی گسترده است و با توجه به هدف، حالت های زیادی متصور است، باید دقیقا شرایط را تشریح کنید، به فرض انتخاب یک div بر اساس id آن برای چه هدفی است؟ صرف انتخاب معنی خاصی ندارد! یا آیا تگ a دارای مشخصه خاصی است که بتواند آن را از سایر موارد مشابه مجزا کند؟ صرفا در حد نمونه کد:
<?php
$html = '<a href="http://www.yoursite.com/page.html" title="your title">URL</a>';
$url = preg_match('/<a href=\"(.*)\"(.*)>(.*)<\/a>/iU', $html, $match);
//print_r($match);
echo $match[1];
echo '<br>';
$replace = preg_replace('/<a href=\"(.*)\"(.*)>(.*)<\/a>/iU', '<a href="http://mysite.com"$2>$3</a>', $html);
echo $replace;
?>
محمد
۱۹:۰۷ ۱۳۹۴/۰۴/۰۲
با سلام و خسته نباشید
ببخشید که تعداد سوال هام باز هم زیاد شد
می خواستم بپرسم با php میشه فقط یه div با id مشخص رو از یه سایت دانلود و با جاوا اسکریپت بعضی فرزندهاش رو حذف کرد و به صورت صفحه استاتیک (html) ذخیره کرد؟
(استفاده از جاوا اسکریپت برای حذف و... تگ ها رو بلدم اما بلد نیستم چطور میشه رو تگ هایی خوانده شده از ورودی توسط php، استفاده کرد!)
ببخشید که تعداد سوال هام باز هم زیاد شد
می خواستم بپرسم با php میشه فقط یه div با id مشخص رو از یه سایت دانلود و با جاوا اسکریپت بعضی فرزندهاش رو حذف کرد و به صورت صفحه استاتیک (html) ذخیره کرد؟
(استفاده از جاوا اسکریپت برای حذف و... تگ ها رو بلدم اما بلد نیستم چطور میشه رو تگ هایی خوانده شده از ورودی توسط php، استفاده کرد!)
سلام
به نظر برداشت شما از همراهی PHP و JavaScript اشتباه است! دقت کنید در زمان اجرای کدهای PHP نمی توان همزمان از جاوا اسکریپت استفاده کرد، جاوا اسکریپت زمانی قابل استفاده است که خروجی به مرورگر ارسال می شود، راه حل شما این است که در همان کدهای PHP، با توابعی مانند preg_match حذف و ... را انجام دهید!
به نظر برداشت شما از همراهی PHP و JavaScript اشتباه است! دقت کنید در زمان اجرای کدهای PHP نمی توان همزمان از جاوا اسکریپت استفاده کرد، جاوا اسکریپت زمانی قابل استفاده است که خروجی به مرورگر ارسال می شود، راه حل شما این است که در همان کدهای PHP، با توابعی مانند preg_match حذف و ... را انجام دهید!
محمد
۱۸:۵۲ ۱۳۹۴/۰۴/۰۲
با سلام
سایت خوب با مطالب آموزنده ای دارید من همیشه از آموزش هاتون استفاده میکنم اما این بار سوالی برام پیش اومده.
من با #C یه صفحه رو به صورت html ذخیره کردم حالا
1- چطور میتونم با استفاده از php , js بعضی قسمت ها رو حذف کنم.
مثلا میخوام یک دایو با کل محتویاتش حذف بشه؟ (همه دایو ها آی دی دارن)
2- چطور میتونم از a ها، یه قسمت از href شون رو جایگزین کنم؟ (a ها آی دی ندارن!)
3- با توجه به اینکه از js روی فایل خارجی (همونی صفحه html ذخیره شده) استفاده شده، چطور میتونم فایل نهایی رو با فرمت html ذخیره کنم؟
شرمنده که سوال هام زیاد بود.
سایت خوب با مطالب آموزنده ای دارید من همیشه از آموزش هاتون استفاده میکنم اما این بار سوالی برام پیش اومده.
من با #C یه صفحه رو به صورت html ذخیره کردم حالا
1- چطور میتونم با استفاده از php , js بعضی قسمت ها رو حذف کنم.
مثلا میخوام یک دایو با کل محتویاتش حذف بشه؟ (همه دایو ها آی دی دارن)
2- چطور میتونم از a ها، یه قسمت از href شون رو جایگزین کنم؟ (a ها آی دی ندارن!)
3- با توجه به اینکه از js روی فایل خارجی (همونی صفحه html ذخیره شده) استفاده شده، چطور میتونم فایل نهایی رو با فرمت html ذخیره کنم؟
شرمنده که سوال هام زیاد بود.
سلام
- در پاسخ به سوال اول و دوم، این کار باید در کدهای PHP انجام شود (با توابعی مانند preg_match و عبارات باقاعده)، البته با جاوا اسکریپت نیز انجام چنین کاری ممکن است، منتها PHP زبان سمت سرور و جاوا اسکریپت سمت کاربر و در مرورگر اجرا می شود، برای کار با توابع preg_match نیز ضمن نیاز به آشنایی با عبارات باقاعده یا Regular Expressions، باید الگو یا Pattern خاصی (مانند id خاص) نیز در سورس کدها وجود داشته باشد (در غیر اینصورت کار غیر ممکن یا خیلی سخت و پیچیده می شود).
- در پاسخ به سوال سوم، منظورتان دقیقا مشخص نیست! دستورات جاوا اسکریپت می توانند داخل فایل HTML یا به صورت فایل خارجی باشند و از این نظر مشکلی وجود ندارد!
- در پاسخ به سوال اول و دوم، این کار باید در کدهای PHP انجام شود (با توابعی مانند preg_match و عبارات باقاعده)، البته با جاوا اسکریپت نیز انجام چنین کاری ممکن است، منتها PHP زبان سمت سرور و جاوا اسکریپت سمت کاربر و در مرورگر اجرا می شود، برای کار با توابع preg_match نیز ضمن نیاز به آشنایی با عبارات باقاعده یا Regular Expressions، باید الگو یا Pattern خاصی (مانند id خاص) نیز در سورس کدها وجود داشته باشد (در غیر اینصورت کار غیر ممکن یا خیلی سخت و پیچیده می شود).
- در پاسخ به سوال سوم، منظورتان دقیقا مشخص نیست! دستورات جاوا اسکریپت می توانند داخل فایل HTML یا به صورت فایل خارجی باشند و از این نظر مشکلی وجود ندارد!
۲۲:۳۸ ۱۳۹۳/۱۲/۲۷
استفاده بردیم. تشکر می کنم.
محمدرضا
۰۸:۲۷ ۱۳۹۳/۱۲/۲۰
سلام خسته نباشید ببخشید یه سوالی داشتم نمی دونم جای پرسش سوالم اینجا هست یا نه به هر حال ممنون میشم یه کمکی بهم بکنید
- بنده دارم اوقات شرعی شهرم رو میسازم تمام کد نویسی های به زبان php انجام شده حالا می خوام که این کدی که نوشتم با صورت جاوا اسکریپت ارتباط بدم و کاربر با استفاده از کد جاوا اسکریپت بتونه از این ابزار استفاده کنه من از این روش استفاده کردم ولی جوابی نگرفتم ممنون میشم که کمکی بکنید
- بنده دارم اوقات شرعی شهرم رو میسازم تمام کد نویسی های به زبان php انجام شده حالا می خوام که این کدی که نوشتم با صورت جاوا اسکریپت ارتباط بدم و کاربر با استفاده از کد جاوا اسکریپت بتونه از این ابزار استفاده کنه من از این روش استفاده کردم ولی جوابی نگرفتم ممنون میشم که کمکی بکنید
<script language="javascript" type="text/javascript" src="http://yoursite.com/owghat/owghat_a/owghat.php"></script>
مشکلم فقط ساخت کد جاوا اسکریپت اوقات شرعی هست.سلام
لطفا آموزش را به طور کامل مطالعه کنید، مطلب دقیقا در همین رابطه است و در حد امکان تمام جزئیات جهت ترکیب کدهای PHP با JavaScript ارائه شده، اینکه کدهایتان اجرا نمی شود قاعدتا نشان دهنده وجود اشتباهی در روش یا قسمتی از کدهایتان است.
لطفا آموزش را به طور کامل مطالعه کنید، مطلب دقیقا در همین رابطه است و در حد امکان تمام جزئیات جهت ترکیب کدهای PHP با JavaScript ارائه شده، اینکه کدهایتان اجرا نمی شود قاعدتا نشان دهنده وجود اشتباهی در روش یا قسمتی از کدهایتان است.
حمید
۱۳:۰۹ ۱۳۹۳/۱۲/۱۲
سلام! استفاده زیاد از if مشکل داره؟ مثلا میخوام برای روزهای مناسبتی بنویسم if فلان روز بود فلان نوشته رو بنویس! ولی خوب تعداد زیاد مثلا ۵۰ تا if! البته میدونم باید از switch اسفاده کنم! ولی میخوام بدونم استفاده زیاد از if مشکلی داره؟ از همه نظر! حتی کند شدن سایت و یا مثلا مشکل در seo یا چیزای دیگه!
سلام
به طور کلی خیر! استفاده از دستور if به خودی خود مشکل خاصی ایجاد نمی کند، عمده مزیت استفاده از switch در برخی شرایط نسبت به if در نوشتن کدهای خواناتر است، البته به مرور زمان متوجه خواهید شد که کجا از if و کجا از switch استفاده شود بهتر است (هر زمان تعداد if های تو در تو به نظر بیش از حد رسید، شاید استفاده از switch جالبتر باشد!).
به طور کلی خیر! استفاده از دستور if به خودی خود مشکل خاصی ایجاد نمی کند، عمده مزیت استفاده از switch در برخی شرایط نسبت به if در نوشتن کدهای خواناتر است، البته به مرور زمان متوجه خواهید شد که کجا از if و کجا از switch استفاده شود بهتر است (هر زمان تعداد if های تو در تو به نظر بیش از حد رسید، شاید استفاده از switch جالبتر باشد!).
جواد
۱۷:۲۵ ۱۳۹۳/۱۲/۰۴
کدی که شما دادین به کارم نیومد اما به من ایده داد و
خیلی خیلی ممنون
$("#formSave").submit(function ()
رو حذف کردم برنامه بدون اشکال کار کردخیلی خیلی ممنون
جواد
۲۳:۱۰ ۱۳۹۳/۱۲/۰۳
سلام
با تشکر از سایت خوبتون یه سوال داشتم
من قصد درج اطلاعات یک تکست باکس را در دیتابیس با استفاده از ajax دارم اما اطلاعات چند بار ذخیره می شوند لطفا راهنمایی کنید منو
پیش پیش ممنون از راهنماییتون
با تشکر از سایت خوبتون یه سوال داشتم
من قصد درج اطلاعات یک تکست باکس را در دیتابیس با استفاده از ajax دارم اما اطلاعات چند بار ذخیره می شوند لطفا راهنمایی کنید منو
حذف شد
کدهای php درست نوشته شدن بطوریکه وقتی اطلاعات تکست باکس رو بدون ajax میخوام سیو کنم یک بار سیو میشن اما با ajax دو یا بیشتر سیو میشن!پیش پیش ممنون از راهنماییتون
سلام
هرچند بدون تست نمی توان پاسخ دقیقی داد، اما ظاهرا در کدهای شما دو بار متد submit اجرا می شود، یک بار قسمت
هرچند بدون تست نمی توان پاسخ دقیقی داد، اما ظاهرا در کدهای شما دو بار متد submit اجرا می شود، یک بار قسمت
$("#formSave").submit(function ()
و یک بار قسمت $("#formSave").ajaxSubmit(set);
همچنین ممکن است نیاز به ویرایش تابع به صورت زیر باشد....
$("#formSave").submit(function (e){
e.preventDefault();
...
amir
۱۶:۱۱ ۱۳۹۳/۱۱/۲۹
سلام
با تشکر از آموزش های خوبتون ببخشید یه سوال دارم؟
من میخوام یک تکه کد جاوا اسکریپت رو در php قرا بدم
راهش چیه مثلا این کد حدیث ها رو در php قرا بدم این کد حدیث ها
با تشکر
با تشکر از آموزش های خوبتون ببخشید یه سوال دارم؟
من میخوام یک تکه کد جاوا اسکریپت رو در php قرا بدم
راهش چیه مثلا این کد حدیث ها رو در php قرا بدم این کد حدیث ها
حذف شد
و اینم کد php من<?php if( function_exists('cyclone_slider') ) cyclone_slider('test'); ?>
اون جاوا اسکریپت رو در کد php بالا قرار بدمبا تشکر
سلام
ظاهرا شما قصد ویرایش کدهای یک CMS را دارید، در این صورت (با توجه به نمونه کد درج شده) به صورت مستقیم و به سادگی نمی توانید این کار را انجام دهید، در واقع انجام تغییرات بستگی به نحوه نوشتن سیستم مورد نظر دارد، ممکن است در سورس تابع چنین امکانی فراهم باشد یا در فایل های tpl و...، در هر حال نیاز به بررسی و مهندسی معکوس CMS مورد نظر است!
ظاهرا شما قصد ویرایش کدهای یک CMS را دارید، در این صورت (با توجه به نمونه کد درج شده) به صورت مستقیم و به سادگی نمی توانید این کار را انجام دهید، در واقع انجام تغییرات بستگی به نحوه نوشتن سیستم مورد نظر دارد، ممکن است در سورس تابع چنین امکانی فراهم باشد یا در فایل های tpl و...، در هر حال نیاز به بررسی و مهندسی معکوس CMS مورد نظر است!
علی
۱۳:۰۳ ۱۳۹۳/۱۱/۲۵
از لحاظ کد نویسی درست است؟ من قصدم اینه از یک فیلد مقدار ورودی بدم به دیتابیس و با دستور بالا فیلد ورودی را دریافت کنم و در صفحه نمایش بدم کل دستور درسته فقط تو مقدار کد بالا شک دارم
خروجی نهایی شما مشخص نیست! بدون دیدن خروجی نهایی (خروجی HTML) نمی توان گفت از نظر کدنویسی درست است یا خیر، کد شما دو بخش دارد، قسمتی که در سرور اجرا می شود (PHP) و خروجی که در مرورگر اجرا می شود (JavaScript + HTML) برای ما روشن نیست در مرورگر نهایتا چه خروجی چاپ می شود! آنچه دیده می شود اگر خروجی مناسب با بحث آرایه در جاوا اسکریپت چاپ کنید، قاعدتا کد مشکلی نخواهد داشت لذا باید نحوه تعریف آرایه و کارکردهای آن را در جاوا اسکریپت بدانید).
علی
۱۷:۰۵ ۱۳۹۳/۱۱/۲۳
سلام و درود و عرض خسته نباشید خدمت استاد گرامی
لطفا دستور زیر را یک نگاه کنید
لطفا دستور زیر را یک نگاه کنید
<script type="text/javascript" language="JavaScript">var theSummaries = new Array('<?php echo($options['up_box']); ?>');var theSiteLinks = new Array("","","","");</script>
این دستور برای نمایش متن به صورت تایپی درسایت است من'<?php echo($options['up_box']); ?>'
را اضافه کردم که متن را از داخل دیتابیس بگیره و توی سایت نمایش بده آیا درست هست دستوری که ایجاد کردم یا خیر؟ البته این کد بالا که دادم خدمتتون فقط قسمتی از کد هستسلام
درستی یا نادرستی این کد را از چند جهت می توان بررسی کرد، از نظر syntax سمت سرور به نظر مشکلی خاصی وجود ندارد اما اینکه در نهایت چه خروجی توسط کدهای PHP چاپ می شود (syntax سمت کاربر) روشن نیست، در کل باید ببینید خروجی نهایی (در کدهای HTML) مطابق با syntax جاوا اسکریپت باشد.
درستی یا نادرستی این کد را از چند جهت می توان بررسی کرد، از نظر syntax سمت سرور به نظر مشکلی خاصی وجود ندارد اما اینکه در نهایت چه خروجی توسط کدهای PHP چاپ می شود (syntax سمت کاربر) روشن نیست، در کل باید ببینید خروجی نهایی (در کدهای HTML) مطابق با syntax جاوا اسکریپت باشد.
- به سوالات کلی، زمانبر، مبهم و مشکلاتی که تلاشی برای رفع آنها نکرده باشید پاسخ مختصر داده شده یا به بخش برنامه نویسی اختصاصی ارجاع داده می شوند.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین یا به صورت حساب موقت و آزمایشی قرار دهید تا امکان بررسی دقیق مشکل و خطایابی میسر باشد.
- تمام دیدگاه های ارسالی خوانده شده و برای هر کاربر مدت زمان لازم جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.