PDA

View Full Version : حرفه ای: ارسال اطلاعات به يك صفحه ديگر (get-post)



alonemm
سه شنبه 14 دی 1389, 18:33 عصر
باسلام:
من ميخوام توي صفحه مثل بعد از ثبت نام كاربر يكسري اطلاعات به صورت اتوماتيك به يك URL فرستاده بهشه.
به 2 روش POST , GET .

اگه نمونه كد داريد ممنون ميشم.

mohsen6500
سه شنبه 14 دی 1389, 20:00 عصر
میشه بیشتر توضیح بدید منظورتون اینه که توی یه سایت دیگه بره؟
یا نه توی یه صفحه دیگه؟

parsidev
سه شنبه 14 دی 1389, 20:36 عصر
ارسال اطلاعات به یک صفحه با متد گت:


http://site.com/page.php?param1=value1&param2=value2

در کد بالا دو متغیر به نام های param1 و param2 به صفحه page.php ارسال کردیم
حالا در صفحه page.php به راحتی می تونیم به اونا دسترسی داشته باشیم:


echo $_GET['param1'];
echo $_GET['param2'];


متد پست هم عموما از طریق یه فرم ارسال میشه کافیه متد فرم را برابر پست قرار بدی
برای هندل کردن متغیر های متد پست هم از POST به جای GET استفاده میشه
این موارد در کتابهای آموزش مقدماتی تشریح شده با یه سرچ کوچولو می تونی اطلاعات بیشتر و کاملتری بگیری
با احترام

parsidev
سه شنبه 14 دی 1389, 20:41 عصر
البته اگر من اشتباه فهمیدم و می خوای با اطلاعات ساب میت شده رو به یه آدرس بفرستی می تونی از این استفاده کنی برای یه سایت دیگه یا صفحه دیگه فرقی نداره:


header("Location: http://www.google.com/?k=$_GET['param1']");
//or
header("Location: page.php?param=$_GET['param1']");

numberone1
سه شنبه 14 دی 1389, 21:06 عصر
البته اگر من اشتباه فهمیدم و می خوای با اطلاعات ساب میت شده رو به یه آدرس بفرستی می تونی از این استفاده کنی برای یه سایت دیگه یا صفحه دیگه فرقی نداره:


header("Location: http://www.google.com/?k=$_GET['param1']");
//or
header("Location: page.php?param=$_GET['param1']");

ببخشید من وسط تاپیک ایشون میپرسم
راه دیگه ای نداره برای ارسال مقادیر به صفحه دیگه
من یه فرم دارم از نوع پست حالا میخوام آخر صفحه یه مقداری رو از طریق url بفرستم به صفحه دیگه
راهی داره؟؟

parsidev
سه شنبه 14 دی 1389, 21:25 عصر
سلام دوست نامبر وان خودم
بله وجود داره استفاده از nusoap راه گشای این مشکل است خیلی راحت وساده فقط باید مطمئن باشی روی هاستت یا سرور لوکال pear نصبه
سرچ کن اگه نیافتی بگو...
با احترام

numberone1
سه شنبه 14 دی 1389, 21:29 عصر
سلام دوست نامبر وان خودم
بله وجود داره استفاده از nusoap راه گشای این مشکل است خیلی راحت وساده فقط باید مطمئن باشی روی هاستت یا سرور لوکال pear نصبه
سرچ کن اگه نیافتی بگو...
با احترام
من فعلا دارم روی لوکال پیاده سازی میکنم
قصدم اینه که اطلاعاتی رو که توی این صفحه ثبت کردم توی صفحه دیگه با فرستادن مقدار آیدی اون نشون بدم
الان اطلاعات و ثبت کردم میخوام با استفاده از تابع هدر این کار و انجام بدم نمیشه:اشتباه:

parsidev
سه شنبه 14 دی 1389, 21:53 عصر
گفتم اول جستجو کن اگه نتونستی!

کلید واژه هم دادم...

numberone1
سه شنبه 14 دی 1389, 22:02 عصر
جسارتا این nusoap چه ربطی به pear داره؟؟؟
pear بسته ای به این نام نداره دوست عزیز ولی soap داره !
ولی این nusoap که شما گفتید احتیاج به نصب داره اینجوری که از مثال ها بر میاد پروسه به مراتب پیچیده تری داره نسبت به تابع هدر

parsidev
سه شنبه 14 دی 1389, 22:17 عصر
من رشته اصلی رو دادم دستت
soap تنها چاره کار شماست و برای استفاده اون باید دنبال یه فایل با نام nusoap.php بگردی
اون وقت بدون نیاز به نصب (در صورتی که pear نصب باشه) فقط با کپی کردن اون فایل کنار برنامت و اینکلود کردن اون می تونی ازش استفاده کنی
مثالهایی که برای این فایل است رو با سرچ می تونی پیدا کنی و به نتیجت برسی
اون وقت می فهمی من شاه کلید اصلی رو دادم دستت و شما فقط باید درو باز کنی!
با احترام

dr.PHP
سه شنبه 14 دی 1389, 23:07 عصر
سلام به همه . وقت نداشتم کامل بخونم اما یک توضیح کلی میدم.
برای ارسال اطلاعات به صفحه دیگر چندین راه وجود دارد.
1. ارسال به کمک توابع Ajax که ساده ترین راهش استفاده از jqueru یا mootools
2. ارسال یک فرم html به کمک دستورات Ajax . یعنی تواین روش در واقع شما یک فرم رو سابمیت می کنی و با بالایی فرق داره.
3. استفاده از توابع curl در PHP که یک صفحه را در حالت مجازی اجرا کرده و به کمک توابع خود اطلاعات را به آن ارسال می کند.
در حالت اول و دوم نیازی به راه اندازی مجدد صفحه نداری اما تو سومی داری . حالا اگه کارت ر راه میندازه بگو تا راهنماییت کنم

alonemm
پنج شنبه 16 دی 1389, 17:51 عصر
سلام به همه . وقت نداشتم کامل بخونم اما یک توضیح کلی میدم.
برای ارسال اطلاعات به صفحه دیگر چندین راه وجود دارد.
1. ارسال به کمک توابع Ajax که ساده ترین راهش استفاده از jqueru یا mootools
2. ارسال یک فرم html به کمک دستورات Ajax . یعنی تواین روش در واقع شما یک فرم رو سابمیت می کنی و با بالایی فرق داره.
3. استفاده از توابع curl در PHP که یک صفحه را در حالت مجازی اجرا کرده و به کمک توابع خود اطلاعات را به آن ارسال می کند.
در حالت اول و دوم نیازی به راه اندازی مجدد صفحه نداری اما تو سومی داری . حالا اگه کارت ر راه میندازه بگو تا راهنماییت کنم
میشه درباره روش کارکرد CURL توضیح بدید؟

dr.PHP
پنج شنبه 16 دی 1389, 19:12 عصر
بله دوست من


$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_URL,'URL Adres');
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2) ;
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1) ;
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);

if (empty($buffer))
{
print "error";
}
else{
///////////////////////
}




ببین تو خط دوم جای URL adres آدرس صفحه رو بنویس و اگه صفحه باز نشه پیغام خطا می ده و اگه کار کنه که جای اسلش ها کد می نویسی . این مثال ساده بود . حالا نیازت رو بگو تا دقیق تر جواب بدم

parsidev
پنج شنبه 16 دی 1389, 23:33 عصر
سلام
CURL عموما در وب سرور ها غیر قعال است و هر سروری هم با درخواست شما این گزینه رو فعال نمیکنه
بهترین راه همون soap است...
با احترام

Vahid Faraji
پنج شنبه 16 دی 1389, 23:38 عصر
میشه درباره روش کارکرد CURL توضیح بدید؟

CURL یک کتابخانه (libcurl) جهت اتصال یا ارتباط با انواع سرورها و پروتکل ها می باشد. libcurl در حال حاضر از پروتکل های http, https, ftp, telnet, file , ldap, ... پشتیبانی می کند. همچنین libcurl از HTTPS certificates, HTTP POST, HTTP PUT FTP uploading, HTTP form based upload, proxies, cookies و user+password authentication پشتیبانی می کند.

برای استفاده از تابع های CURL اولین کار استفاده از تابع curl_init برای شروع یک session یا جلسه CURL است. سپس با استفاده از تابع curl_setopt می توان گزینه های مختلف (options) را تنظیم نمود. با استفاده از تابع curl_exec می توان session CURL را اجرا نمود. در آخرین مرحله باید session CURL را با اجرای تابع curl_close از بین برد.