استفاده ترکیبی از جاوا اسکریپت (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
اعتبارسنجی فرم های وب با جاوا اسکریپت (JavaScript)
نمایش کادر پیام شناور در سایت و وبلاگ با جاوا اسکریپت
چگونه لوگوی حمایتی برای نمایش در سایت یا وبلاگ بسازیم؟
ساخت پنل چند سربرگی (Tabbed Panel) با جاوا اسکریپت و CSS
کنترل و تغییر اندازه فونت صفحه با جاوا اسکریپت
دیدگاه
۲۱:۳۱ ۱۳۹۳/۰۱/۲۵
با سلام مجدد
فرمودید که این واسطه فقط ای جکس است! اما واقعاً این گونه نیست! راه پیشنهادی بنده به صورت زیر است که اخیراً با آزمایش و خطا پیدا کردم و هم اکنون در سایت خودم از آن استفاده می کنم: ابتدا در یک فایل php مثلاً با نام index اطلاعات دیتابیس را وارد کنید به گونه ای که در خط اول آن دستور
سپس در داخل فایل html و در بخش مناسب، دستور زیر را وارد کنید:
با تشکر
فرمودید که این واسطه فقط ای جکس است! اما واقعاً این گونه نیست! راه پیشنهادی بنده به صورت زیر است که اخیراً با آزمایش و خطا پیدا کردم و هم اکنون در سایت خودم از آن استفاده می کنم: ابتدا در یک فایل php مثلاً با نام index اطلاعات دیتابیس را وارد کنید به گونه ای که در خط اول آن دستور
$_GETباشد برای گرفتن مقادیر ارسالی و در آخر نیز دستور php و جاوا اسکریپت زیر:echo "document.write(\"<b>" . $count . "</b>\")";برای چاپ مقدار count که در واقع تعداد کلیک هاست؛ سپس در داخل فایل html و در بخش مناسب، دستور زیر را وارد کنید:
<script type="text/javascript" language="javascript" src="http://yoursite.ir/index.php?id=1" ></script>با این دستور مثلاً مقدار 1 به فایل index ارسال و مقدار متناظر count چاپ می شود. در صفحه ی زیر به طور عملی نتیجه ی این دستورات را مشاهده خواهید فرمود که تعداد بازدید هاست:http://www.epmath.ir/Education/Riyazi1_ch1.htmممنون می شوم اگر نظرتان را در این رابطه مطرح فرمایید.با تشکر
سلام
دوست گرامی در سوال اول گفتید که نمی خواهید از PHP استفاده شود! در سوال دوم هم خواستید که اطلاعات را از جاوا اسکریپت به PHP ارسال کنید! اما در راه حلتان ابتدا دستورات PHP را تنظیم کردید تا خروجی داشته باشید (آن هم با echo که مستقیما باید در صفحه PHP اجرا شود) و سپس از جاوا اسکریپت برای چاپ، نمایش و...
این کار متداولی در وب است، هر چند مشخص نیست وقتی می توان از PHP با ضریب اطمینان بیشتر استفاده نمود، چرا باید جاوا اسکریپت را دخیل کرد (مگر اینکه دقیقا بدانید چه می کنید و چه نیازی دارید).
به هر صورت اگر به آموزش حاضر توجه کنید، بی شباهت به راه حل شما نیست.
دوست گرامی در سوال اول گفتید که نمی خواهید از PHP استفاده شود! در سوال دوم هم خواستید که اطلاعات را از جاوا اسکریپت به PHP ارسال کنید! اما در راه حلتان ابتدا دستورات PHP را تنظیم کردید تا خروجی داشته باشید (آن هم با echo که مستقیما باید در صفحه PHP اجرا شود) و سپس از جاوا اسکریپت برای چاپ، نمایش و...
این کار متداولی در وب است، هر چند مشخص نیست وقتی می توان از PHP با ضریب اطمینان بیشتر استفاده نمود، چرا باید جاوا اسکریپت را دخیل کرد (مگر اینکه دقیقا بدانید چه می کنید و چه نیازی دارید).
به هر صورت اگر به آموزش حاضر توجه کنید، بی شباهت به راه حل شما نیست.
مهدی
۱۳:۲۲ ۱۳۹۳/۰۱/۲۳
با تشکر از پاسختان
حق با شماست، بنده هم نظرم این نیست! حقیر می خواهم از php فقط به عنوان واسطه استفاده کنم به این ترتیب که در تگ head با استفاده از جاوا اسکریپت به صفحه ی php که اطلاعات دیتابیس دارد، ارجاع دهم و سپس در بخش body و باز هم با استفاده از جاوا اسکریپت، تعداد کلیک ها را روی به روی لینک ها چاپ کنم؛ ذستورات شما را تا حد امکان اجرا کردم اما موفق نشدم. می خواهم همه ی این کارها در صفحه ی html انجام شود و الا در صفحه ی php این کار بسیار ساده است.
با تشکر مجدد
حق با شماست، بنده هم نظرم این نیست! حقیر می خواهم از php فقط به عنوان واسطه استفاده کنم به این ترتیب که در تگ head با استفاده از جاوا اسکریپت به صفحه ی php که اطلاعات دیتابیس دارد، ارجاع دهم و سپس در بخش body و باز هم با استفاده از جاوا اسکریپت، تعداد کلیک ها را روی به روی لینک ها چاپ کنم؛ ذستورات شما را تا حد امکان اجرا کردم اما موفق نشدم. می خواهم همه ی این کارها در صفحه ی html انجام شود و الا در صفحه ی php این کار بسیار ساده است.
با تشکر مجدد
ارسال درخواست از صفحات سمت کاربر به فایل های سمت سرور یا باید به صورت مستقیم (فراخوانی فایل PHP) باشد، یا از طریق یک واسطه که قادر به ارسال درخواست به سرور باشد، این واسطه نیز تنها Ajax است، یعنی با صرف جاوا اسکریپت چنین کاری شدنی نیست، مگر اینکه از طریق PHP برای توابع آن مقادیر اولیه چاپ کنید که باز در این حالت باید فایلتان PHP باشد.
مهدی
۱۴:۳۵ ۱۳۹۳/۰۱/۲۲
با سلام و تشکر از شما
بنده می خواهم تعداد کلیک ها را که در دیتابیس ذخیره شده است، رو به روی لینک ها در یک صفحه ی html نمایش بدهم بدون این که لازم باشد، صفحه را به صورت php ذخیره کنم. ایده های شما را برای این کار استفاده کردم، اما موفق نشدم؛ اگر لطف بفرمایید و بنده را راهنمایی کنید که چگونه می توانم با استفاده از کدهای جاوا اسکریپت در داخل صفحات html این کار را انجام دهم، ممنون خواهم شد؛ البته می خواهم از ajax استفاده نکنم.
با تشکر مجدد.
بنده می خواهم تعداد کلیک ها را که در دیتابیس ذخیره شده است، رو به روی لینک ها در یک صفحه ی html نمایش بدهم بدون این که لازم باشد، صفحه را به صورت php ذخیره کنم. ایده های شما را برای این کار استفاده کردم، اما موفق نشدم؛ اگر لطف بفرمایید و بنده را راهنمایی کنید که چگونه می توانم با استفاده از کدهای جاوا اسکریپت در داخل صفحات html این کار را انجام دهم، ممنون خواهم شد؛ البته می خواهم از ajax استفاده نکنم.
با تشکر مجدد.
سلام
به هر صورت باید به یک طریقی اطلاعات از سمت سرور گرفته شود، نمی شود که نه از PHP استفاده کرد و نه از واسطه ای مثل Ajax، راه حل دیگری وجود ندارد!
نکته: به نظر بیشتر مشکل شما با وجود پسوند php در آدرس صفحات است که برای مخفی کردن این مورد باید از URL Rewrite در htaccess استفاده کنید، به طور مثال صفحات سایت حاضر به PHP است، اما اثری از این عبارت در URL ها نمی بینید!
به هر صورت باید به یک طریقی اطلاعات از سمت سرور گرفته شود، نمی شود که نه از PHP استفاده کرد و نه از واسطه ای مثل Ajax، راه حل دیگری وجود ندارد!
نکته: به نظر بیشتر مشکل شما با وجود پسوند php در آدرس صفحات است که برای مخفی کردن این مورد باید از URL Rewrite در htaccess استفاده کنید، به طور مثال صفحات سایت حاضر به PHP است، اما اثری از این عبارت در URL ها نمی بینید!
امیرعلی
۰۸:۳۱ ۱۳۹۲/۱۲/۰۵
تشکر از اینکه جواب دادی
من با 4 مرورگر معروف تست کردم جواب نداد
ولی احتمالا همون طوری که شما اشاره کردی تمام دستورات رو اجرا نمی کنه به هر حال ممنون
خیلی آقایی
من با 4 مرورگر معروف تست کردم جواب نداد
ولی احتمالا همون طوری که شما اشاره کردی تمام دستورات رو اجرا نمی کنه به هر حال ممنون
خیلی آقایی
۲۳:۰۲ ۱۳۹۲/۱۲/۰۳
سلام با تشکر از سایت خوبتون خیلی کامله
راستش من زیاد از این جاوا سر در نمیارم ولی یک سوالی چند وقتی هست تو ذهنم اومده که شاید اشتباه باشه نمیدوم........... اما سوال من اینجاست که مثلا کدهای جاوا اسکریپت در یک سایت وجود دارد که ما وقتی کلیک می کنیم دستورات رو برای ما اجرا میکنه به عنوان مثال باز کردن یک چت خصوصی یا اطلاعات یک قسمت یا هر چیز دیگه
که من میخوام بدونم میشه یک اسکریپت رو توی نوار مرورگر نوشت یا کپی کرد که همون کار رو برای ما انجام بده؟؟؟؟
اگه میشه چطوری به عنوان مثال برای باز کردن چت خصوصی بدون کلیک کردن در سایت و با وارد کردن کد جاوا چطور میشه این کارو کرد من یک کد دست و پا شکسته میزارم نمیدونم اصلا درست هست یا نه یا باید این کد بعد از آدرس سایت قرار بگیره یا جایی از کد ناقص هست که عمل نمی کنه اگه میشه راهنمایی کنی ممنون میشم.
اینم کد
راستش من زیاد از این جاوا سر در نمیارم ولی یک سوالی چند وقتی هست تو ذهنم اومده که شاید اشتباه باشه نمیدوم........... اما سوال من اینجاست که مثلا کدهای جاوا اسکریپت در یک سایت وجود دارد که ما وقتی کلیک می کنیم دستورات رو برای ما اجرا میکنه به عنوان مثال باز کردن یک چت خصوصی یا اطلاعات یک قسمت یا هر چیز دیگه
که من میخوام بدونم میشه یک اسکریپت رو توی نوار مرورگر نوشت یا کپی کرد که همون کار رو برای ما انجام بده؟؟؟؟
اگه میشه چطوری به عنوان مثال برای باز کردن چت خصوصی بدون کلیک کردن در سایت و با وارد کردن کد جاوا چطور میشه این کارو کرد من یک کد دست و پا شکسته میزارم نمیدونم اصلا درست هست یا نه یا باید این کد بعد از آدرس سایت قرار بگیره یا جایی از کد ناقص هست که عمل نمی کنه اگه میشه راهنمایی کنی ممنون میشم.
اینم کد
onclick="privateChat('308579'); return false;">که در اصل این کد کامل از این آی دی هست ک توسط فایرفاکس در آوردمonclick="privateChat('308579'); return false;">که در اصل این کد کامل از این آی دی هست ک توسط فایرفاکس در آوردم<div id="onlineUsers" class="aside-content"><a href="#" onclick="UserInfo('308579'); return false;"><img src="App_Themes/Paper/icon-info.png" border="0"></a> <a href="#" class="user_thumb"><img src="images/avatar/111.png"></a> <a href="#" class="context-menu-target" data-userid="308579" onclick="privateChat('308579'); return false;"> <span class="Supervisor">ali.76</span></a> <a id="webcam308579" href="#" style="display:none"><img src="Styles/webcam.png"></a> <div id="308579" class="UserInfo" style="display:none"></div>ممنونسلام
هر چند اجرای برخی دستورات جاوا اسکریپت از طریق نوار آدرس مروگر امکانپذیر است، اما این روش استاندارد نیست و در برخی مرورگرها پشتیبانی نمی شود و در ضمن تنها در موارد محدودی عمل می کند، به نظر فراخوانی آدرس به صورت زیر، تابع مد نظر شما را اجرا می کند:
هر چند اجرای برخی دستورات جاوا اسکریپت از طریق نوار آدرس مروگر امکانپذیر است، اما این روش استاندارد نیست و در برخی مرورگرها پشتیبانی نمی شود و در ضمن تنها در موارد محدودی عمل می کند، به نظر فراخوانی آدرس به صورت زیر، تابع مد نظر شما را اجرا می کند:
yoursite.com/#privateChat('308579');۰۲:۲۲ ۱۳۹۲/۱۱/۱۳
با سلام
چرا نمیشه از دستور document.write درون یک تابع استفاده کرد.
مثلا به کد زیر دقت کنید
اما با فشردن کلید تابع بی شمار بار کار می کند
یعنی مرورگر به طور دایم در حال لود شدن است.
مشکل چیست؟
راه حل چیست؟
با تشکر
چرا نمیشه از دستور document.write درون یک تابع استفاده کرد.
مثلا به کد زیر دقت کنید
<html>
<body onkeypress="reza('result');">
<div id="result"></div>
<script type="text/javascript">
function reza(id){
document.getElementById(id).innerHTML = '<?php echo "hi" ?>';
}
</script>
</body>
</html>کد بالا می گوید با فشردن هر کلیدی تابع شروع به کار کنداما با فشردن کلید تابع بی شمار بار کار می کند
یعنی مرورگر به طور دایم در حال لود شدن است.
مشکل چیست؟
راه حل چیست؟
با تشکر
سلام
ظاهرا امکان استفاده از دستور document.write در رویداد onkeypress وجود ندارد، از حالت اصلاح شده (بالا) استفاده کنید.
ظاهرا امکان استفاده از دستور document.write در رویداد onkeypress وجود ندارد، از حالت اصلاح شده (بالا) استفاده کنید.
۲۳:۱۳ ۱۳۹۲/۱۱/۰۷
با سلام
شما درست میگید که آژاکس برای اینکار درست نشده ، اما تنها راهی رو که میشه به صورت زنده اطلاعات رو منتقل کرد آژاکسه!!!!!؟؟؟!!!!
آیا راهه دیگه ای برای تبادل زنده اطلاعات وجود داره؟؟
مثلا در پخش زنده تلویزیون از
لطفا راجع به این مباحث هم توضیح بدید لطفا.
شما درست میگید که آژاکس برای اینکار درست نشده ، اما تنها راهی رو که میشه به صورت زنده اطلاعات رو منتقل کرد آژاکسه!!!!!؟؟؟!!!!
آیا راهه دیگه ای برای تبادل زنده اطلاعات وجود داره؟؟
مثلا در پخش زنده تلویزیون از
streamer=rtmptاستفاده می کنند.لطفا راجع به این مباحث هم توضیح بدید لطفا.
سلام
بحث انتقال دیتای متنی با انتقال دیتای صوتی تصویری با هم متفاوت است، برای حالت اول Ajax کاربرد دارد اما برای مورد دوم باید از live stream و برنامه ای متناسب با آن (که معمولا با فلش ساخته می شود) استفاده کنید (این موضع خیلی ساده نیست و باید در زمینه کدنویسی فلش مسلط باشید)، اطلاعات بیشتر:
بحث انتقال دیتای متنی با انتقال دیتای صوتی تصویری با هم متفاوت است، برای حالت اول Ajax کاربرد دارد اما برای مورد دوم باید از live stream و برنامه ای متناسب با آن (که معمولا با فلش ساخته می شود) استفاده کنید (این موضع خیلی ساده نیست و باید در زمینه کدنویسی فلش مسلط باشید)، اطلاعات بیشتر:
http://webdesign.about.com/od/streamingmedia۱۷:۲۳ ۱۳۹۲/۱۱/۰۷
با سلام
من می خوام به طور آنلاین صدا خودم رو توی اینترنت پخش کنم
آیا راهی وجود داره؟؟
وقتی با آژاکس میشه آمار و اطلاعات رو به طور زنده نمایش داد پس میشه آهنگ رو هم به صورت زنده پخش کرد .
اما نیاز هست که آهنگ تبدیل رشته بشه و بالعکس.
آیا شما کدی رو برای تبدیل آهنگ به رشته سراغ دارید؟
لطفا کمکم کنید
مرسی
من می خوام به طور آنلاین صدا خودم رو توی اینترنت پخش کنم
آیا راهی وجود داره؟؟
وقتی با آژاکس میشه آمار و اطلاعات رو به طور زنده نمایش داد پس میشه آهنگ رو هم به صورت زنده پخش کرد .
اما نیاز هست که آهنگ تبدیل رشته بشه و بالعکس.
آیا شما کدی رو برای تبدیل آهنگ به رشته سراغ دارید؟
لطفا کمکم کنید
مرسی
سلام
Ajax برای این کار ساخته نشده! باید از فلش استفاده کنید!
Ajax برای این کار ساخته نشده! باید از فلش استفاده کنید!
۰۰:۱۷ ۱۳۹۲/۱۱/۰۷
با سلام
آیا میشه با جاوا اسکریپت یا php یا ajax صدا فرد رو ضبط کرد؟؟
البته بدون نرم افزار و درون اینترنت و وب.
لطفا یک کد برای مثال بیاورید.
سایت های بسیاری هستند که چنین کاری رو انجام میدند
برای مثال
اما یک کد می خوام که بتونم به راحت ترین شکل صدای فرد رو ضبط کنم.
لطفا کمکم کنید
مرسی
آیا میشه با جاوا اسکریپت یا php یا ajax صدا فرد رو ضبط کرد؟؟
البته بدون نرم افزار و درون اینترنت و وب.
لطفا یک کد برای مثال بیاورید.
سایت های بسیاری هستند که چنین کاری رو انجام میدند
برای مثال
http://online-voice-recorder.comواقعا جالب و عالیه.اما یک کد می خوام که بتونم به راحت ترین شکل صدای فرد رو ضبط کنم.
لطفا کمکم کنید
مرسی
سلام
این کار در وب باید از طریق فرمت فلش انجام شود که خود نیاز به داشتن آشنایی با زبان ActionScript و نرم افزار Adobe Flash دارد (سایت مذکور نیز از فلش استفاده می کند).
این کار در وب باید از طریق فرمت فلش انجام شود که خود نیاز به داشتن آشنایی با زبان ActionScript و نرم افزار Adobe Flash دارد (سایت مذکور نیز از فلش استفاده می کند).
nima
۱۰:۴۵ ۱۳۹۲/۱۰/۲۲
سلام ، بلاخره تونستم پیدا کنم ، ممنون ( مربوط به سوال ، رویداد زمان خروج از مرورگر )
nima
۲۳:۵۷ ۱۳۹۲/۱۰/۲۱
سلام ممنون بابت پاسختون
چطوری میتونم توسط آژاکس فقط یه صفحه پی اچ پی رو فقط فراخوانی کنم بدون ارسال و دریافت پارامتر ، فقط میخوام که دستورات صفحه فراخوانی شده اعمال بشه ، خواهشن کمک کنید ، خیلی دنبالش گشتم جایی نتونستم پیداش کنم .
چطوری میتونم توسط آژاکس فقط یه صفحه پی اچ پی رو فقط فراخوانی کنم بدون ارسال و دریافت پارامتر ، فقط میخوام که دستورات صفحه فراخوانی شده اعمال بشه ، خواهشن کمک کنید ، خیلی دنبالش گشتم جایی نتونستم پیداش کنم .
سلام
اگر با نحوه کار آژاکس آشنا باشید، می توانید با استفاده از متد GET یا POST بدون ارسال پارامتر، صرفا یک درخواست به فایل PHP بفرستید.
اگر با نحوه کار آژاکس آشنا باشید، می توانید با استفاده از متد GET یا POST بدون ارسال پارامتر، صرفا یک درخواست به فایل PHP بفرستید.
nima
۲۱:۲۱ ۱۳۹۲/۱۰/۲۰
سلام
برای اینکه در سایت آنلاین یا آفلاین بودن کاربر رو مشخص کنیم ، یه دستور با جاوا اسکریپت که رویداد موقع خروج از مرورگر رو اجرا میکنه ، که موقع خروج با آپدیت دیتابیس این رو مشخص می کنیم ، سوال من اینکه که چطوری به جای دستور alert کد php رو اجرا کنیم ، البته کد رو که جایگزین می کنم بدون در نظر گرفتن شرط اجرا میشه ،
برای اینکه در سایت آنلاین یا آفلاین بودن کاربر رو مشخص کنیم ، یه دستور با جاوا اسکریپت که رویداد موقع خروج از مرورگر رو اجرا میکنه ، که موقع خروج با آپدیت دیتابیس این رو مشخص می کنیم ، سوال من اینکه که چطوری به جای دستور alert کد php رو اجرا کنیم ، البته کد رو که جایگزین می کنم بدون در نظر گرفتن شرط اجرا میشه ،
window.onbeforeunload = confirmExit;
function confirmExit()
{
//code
}سلام
این روش استاندارد و صحیحی نیست! جاوا اسکریپت یک زبان اسکریپت نویسی سمت کاربر است، خروج کاربر باید با فراخوانی یک کد در سرور انجام شود، البته این فراخوانی می تواند به شیوه Ajax (و ترکیب جاوا اسکریپت و PHP) نیز انجام شود، برای کسب اطلاعات بیشتر به آموزش های بخش Ajax مراجعه کنید.
نکته: در صورتی که می خواهید پس از بستن مرورگر توسط کاربر نشست او به پایان برسد، باید مدت اعتبار session را برای همان جلسه تنظیم کنید (رجوع به آموزش کار با سشن در PHP).
این روش استاندارد و صحیحی نیست! جاوا اسکریپت یک زبان اسکریپت نویسی سمت کاربر است، خروج کاربر باید با فراخوانی یک کد در سرور انجام شود، البته این فراخوانی می تواند به شیوه Ajax (و ترکیب جاوا اسکریپت و PHP) نیز انجام شود، برای کسب اطلاعات بیشتر به آموزش های بخش Ajax مراجعه کنید.
نکته: در صورتی که می خواهید پس از بستن مرورگر توسط کاربر نشست او به پایان برسد، باید مدت اعتبار session را برای همان جلسه تنظیم کنید (رجوع به آموزش کار با سشن در PHP).
۱۴:۰۶ ۱۳۹۲/۱۰/۰۶
سلام.
من یک فایل ایجوری می خوام درست کنم برای ابزار جستجوی سایتم .
اما توی نمونه ها دیدم که 3 تا echo استفاده شده .
echo اول که با "باز و بسته شده و استایل و ... توش قرار داده شده.
echo دوم که echo توش نیست و فقط یک خط کد توش هست.
echo سوم که باز با "باز و بسته شده و سلکتور با </a></div> بسته شده .
خواستم بدونم کدهای خودم را باید کجاش بزارم .
کد های من 12 خط هست.
من یک فایل ایجوری می خوام درست کنم برای ابزار جستجوی سایتم .
اما توی نمونه ها دیدم که 3 تا echo استفاده شده .
echo اول که با "باز و بسته شده و استایل و ... توش قرار داده شده.
echo دوم که echo توش نیست و فقط یک خط کد توش هست.
echo سوم که باز با "باز و بسته شده و سلکتور با </a></div> بسته شده .
خواستم بدونم کدهای خودم را باید کجاش بزارم .
کد های من 12 خط هست.
سلام
هر چند منظورتان از نمونه ها مشخص نیست! به هر صورت آنچه لازم بوده در آموزش توضیح داده شده، اینکه چند echo و... استفاده شود مهم نیست، مهم این است که خروجی نهایی مطابق با syntax دستورات در جاوا اسکریپت باشد (درک دقیق این مسئله نیازمند داشتن تجربه قبلی در کدنویسی جاوا اسکریپت است).
هر چند منظورتان از نمونه ها مشخص نیست! به هر صورت آنچه لازم بوده در آموزش توضیح داده شده، اینکه چند echo و... استفاده شود مهم نیست، مهم این است که خروجی نهایی مطابق با syntax دستورات در جاوا اسکریپت باشد (درک دقیق این مسئله نیازمند داشتن تجربه قبلی در کدنویسی جاوا اسکریپت است).
مرتضی
۱۱:۱۳ ۱۳۹۲/۱۰/۰۳
ضمن تشکر از مطالب خوب شما
برای ارسال فایل ضمیمه در ایمیل از php دارم استفاده می کنم. می خوام در صورتی که فرمت فایل ضمیمه موارد آرایه
فایل ضمیمه شده مجاز نمی باشد. تنها فرمتهای
با جاوا اسکریپت همین پیغام رو نشون بده.
برای ارسال فایل ضمیمه در ایمیل از 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>";
}
?>amir
۰۰:۴۳ ۱۳۹۲/۰۵/۲۹
درود بر شما و با تشكر از مطالب مفيد ي كه بدون چشم داشت به كاربران ارائه مي دهيد. من يك در خواست داشتم اميد است بتوانيد در اين مورد كمك كنيد:
در اسكريپت تبادل بنر softbiz banner ehchange ، كدي كه كاربران بايد در سايت خود قرار دهند به صورت iframe مي باشد ، حال اگر بخواهيم كد مورد نظر به صورت javascript باشد ( به خاطر اينكه بعضي از سيستم هاي وبلاگدهي كدهاي iframe را را قبول نمي كنند)، چگونه بايد كدها را تغيير داد ، ممنون ميشم اگر در اين مورد كمكم كنيد بسيار ضروري است.
در اسكريپت تبادل بنر softbiz banner ehchange ، كدي كه كاربران بايد در سايت خود قرار دهند به صورت iframe مي باشد ، حال اگر بخواهيم كد مورد نظر به صورت javascript باشد ( به خاطر اينكه بعضي از سيستم هاي وبلاگدهي كدهاي iframe را را قبول نمي كنند)، چگونه بايد كدها را تغيير داد ، ممنون ميشم اگر در اين مورد كمكم كنيد بسيار ضروري است.
کدهایی که به صورت iframe هستند معمولا حاوی مقادیر زیادی خروجی به صورت HTML می باشند لذا نمی توان خروجی را مستقیم در جاوا اسکریپت قرار داد، برای برخی از سیستم ها می توان تگ iframe را با جاوا اسکریپت درج کرد، مثال:
نکته: فراخوانی کدها می تواند از طریق قرار دادن آنها در یک فایل js و به صورت href نیز باشد.
<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 نیز باشد.
- به سوالات کلی، زمانبر، مبهم و مشکلاتی که تلاشی برای رفع آنها نکرده باشید پاسخ مختصر داده شده یا به بخش برنامه نویسی اختصاصی ارجاع داده می شوند.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین یا به صورت حساب موقت و آزمایشی قرار دهید تا امکان بررسی دقیق مشکل و خطایابی میسر باشد.
- تمام دیدگاه های ارسالی خوانده شده و برای هر کاربر مدت زمان لازم جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.