PDA

View Full Version : سوال: استفاده از توابع تعریف شده توسط php در رویداد های عناصر html



hadinajafigharetappeh
سه شنبه 04 مرداد 1390, 09:49 صبح
سلام
من می خوام کاربر در صورت کلیک بروی دکمه ای مانند
<input type="button" value="start php Function/> تابعی که توسط php تعریف شده اجرا بشه.
مثلا در رویداد onclick کلید مورد نظر تابع php قرار بدم.
لطفا راهنمایی کنید.

eshpilen
سه شنبه 04 مرداد 1390, 10:50 صبح
برای این کار باید یک درخواست HTTP به سرور بفرستیم که این کار میتونه بصورت عادی و با رفرش/ریدایرکت شدن صفحه صورت بگیره یا اینکه با استفاده از AJAX در بکگراند صفحه این کار رو انجام بدیم.
البته در ASP.NET بعکس PHP تقریبا به همین شکلی که شما میخواید میشه مستقیما اسم تابع مورد نظر رو نوشت (و اگر بخوایم ایجکسی بشه، دکمه رو درون تگ UpdatePanel (http://msdn.microsoft.com/en-us/library/system.web.ui.updatepanel.aspx) قرار میدیم). چون ASP.NET ساختار سطح بالاتری داره و رویدادگرا هست.

پ.ن:
وای بازم قلب PHP کارها رو شکستم :لبخند:

hadinajafigharetappeh
سه شنبه 04 مرداد 1390, 12:58 عصر
برای این کار باید یک درخواست HTTP به سرور بفرستیم که این کار میتونه بصورت عادی و با رفرش/ریدایرکت شدن صفحه صورت بگیره یا اینکه با استفاده از AJAX در بکگراند صفحه این کار رو انجام بدیم.
البته در ASP.NET بعکس PHP تقریبا به همین شکلی که شما میخواید میشه مستقیما اسم تابع مورد نظر رو نوشت (و اگر بخوایم ایجکسی بشه، دکمه رو درون تگ UpdatePanel (http://msdn.microsoft.com/en-us/library/system.web.ui.updatepanel.aspx) قرار میدیم). چون ASP.NET ساختار سطح بالاتری داره و رویدادگرا هست.

پ.ن:
وای بازم قلب PHP کارها رو شکستم :لبخند:
میشه قسمتی که میگین یک درخواست http یه سرور بفرستیمو بیشتر توضیح بدین.اگه همراه کد باشه ممنون می شم

MMSHFE
سه شنبه 04 مرداد 1390, 13:29 عصر
برای این کار باید یک درخواست HTTP به سرور بفرستیم که این کار میتونه بصورت عادی و با رفرش/ریدایرکت شدن صفحه صورت بگیره یا اینکه با استفاده از AJAX در بکگراند صفحه این کار رو انجام بدیم.
البته در ASP.NET بعکس PHP تقریبا به همین شکلی که شما میخواید میشه مستقیما اسم تابع مورد نظر رو نوشت (و اگر بخوایم ایجکسی بشه، دکمه رو درون تگ UpdatePanel (http://msdn.microsoft.com/en-us/library/system.web.ui.updatepanel.aspx) قرار میدیم). چون ASP.NET ساختار سطح بالاتری داره و رویدادگرا هست.

پ.ن:
وای بازم قلب PHP کارها رو شکستم :لبخند:
اصلاً به چه حقي توي تالار PHP صحبت ASPX رو مطرح ميكنيد؟ صبر كن ببينم. كجا در ميري؟ :لبخند:

eshpilen
سه شنبه 04 مرداد 1390, 13:58 عصر
میشه قسمتی که میگین یک درخواست http یه سرور بفرستیمو بیشتر توضیح بدین.اگه همراه کد باشه ممنون می شم
مثلا:

<input type="button" value="Execute" onclick="location.href='my_function.php'" />
این باعث میشه وقتی دکمه کلیک میشه مرورگر به آدرس مورد نظر بره که تابع ما رو اجرا میکنه.
این فقط یک فرم و یک مثال بود.
مثلا میتونید به اینصورت هم عمل کنید:

<input type="button" value="Execute" onclick="location.href='?func=f2'" />
یعنی این به همون صفحهء فعلی میره، ولی در صفحهء فعلی ابتدا چک میکنید اگر پارامتر func وجود داشت برابر هر تابعی که بود اون تابع اجرا بشه (و اگر خواستید از همونجا خارج بشه و بقیهء کدهای صفحه اجرا نشه).

خلاصه مدلهای مختلف بسته به نیاز و شرایط شماست و ساختار منطقی تر و خواناتر و ساده تر برای برنامهء شما.

ولی احتمالا نمیخواید صفحهء جاری رفرش بشه. در اینصورت باید فراخوانی آدرس مورد نظر رو با استفاده از ایجکس انجام بدید. فکر کنم با استفاده از JQuery کارتون خیلی راحت بشه. ولی بنده چون تاحالا پروژهء مرتبطی نداشتم هنوز با JQuery کار نکردم و بنابراین مثالش رو اساتید حتما لطف میکنن براتون.

ghasemweb
سه شنبه 04 مرداد 1390, 15:08 عصر
بستگی داره به کاری که میخواهید فانکشن انجام بده. به نظر من با ای جکس مشکل شما حل میشه. اگه بیتشر توضیح بدید راحتر جواب میگیرید

hadinajafigharetappeh
جمعه 07 مرداد 1390, 21:31 عصر
بستگی داره به کاری که میخواهید فانکشن انجام بده. به نظر من با ای جکس مشکل شما حل میشه. اگه بیتشر توضیح بدید راحتر جواب میگیرید
سلام
کاری که تابع می خواد انجام بده اینکه خبر رو از دیتا بیس بگیره و تو صفحه جدید نشون بده

ghasemweb
جمعه 07 مرداد 1390, 23:24 عصر
خب شما در مورد ای جکس اطلاعاتی دارید یا نه؟ من با ای جکس پیشنهاد میکنم که این کارو انجام بدی. تو این مثال که ضمیمه کردم میتونی بفهمی که چطوریه شیوه کار.

اگه سوالی بود بگو