برگزیده های پرشین تولز

سؤال: ارسال متغير Post بدون Form

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
من می خوام یک متغیر رو به وسیله ی PHP با متد Post به یک صفحه ی دیگر ارسال کنم.
دقت کنید من گفتم به وسیله ی PHP نه جاوا اسکریپت اونم تازه با متد Post.
حالا ارسالش با هر چی می خواد باشه مثلاً تابع ()header.

لطفاً راهنمایی کنید.

ممنون.
 

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
دستتون درد نکنه اگه پیدا کردید حتماً منو خبر کنید.
من با جاوا اسکریپت می تونم این کارو بکنم ولی چون بعضیا جاوا اسکریپت رو تو مرورگرشون غیر فعال می کنن این کار همه رو پوشش نمیده. (البته تعداد کمی)

راستی من قراره آموزش برنامه نویسی شیء گرا با PHP (حرفه ای) رو تو این فاروم بدم. خوبه؟
 

PersianPC

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
9 فوریه 2005
نوشته‌ها
583
لایک‌ها
1
سن
34
محل سکونت
Tehran
به نقل از Parsa_361 :
دستتون درد نکنه اگه پیدا کردید حتماً منو خبر کنید.
من با جاوا اسکریپت می تونم این کارو بکنم ولی چون بعضیا جاوا اسکریپت رو تو مرورگرشون غیر فعال می کنن این کار همه رو پوشش نمیده. (البته تعداد کمی)

راستی من قراره آموزش برنامه نویسی شیء گرا با PHP (حرفه ای) رو تو این فاروم بدم. خوبه؟
عالیه ... ;(
 

miladmovie

مدیر بازنشسته
کاربر فعال
تاریخ عضویت
25 دسامبر 2002
نوشته‌ها
1,939
لایک‌ها
3
سن
39
به نقل از Parsa_361 :
راستی من قراره آموزش برنامه نویسی شیء گرا با PHP (حرفه ای) رو تو این فاروم بدم. خوبه؟
لطف می کنی :)
 

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
فقط یه مشکلیه
نمی دونم چرا PersianTools یه مدتیه خرابه ؟!
وقتی می خوام مطلب بذارم نه می تونم شکلک بذارم نه می تونم نوشته هام رو لینک کنم نه می تونم عکس بذارم نه می تونم سایز نوشته هام رو تغییر بدم نه می تونم نوشته هام رو تبدیل به کد PHP کنم و...
خلاسه هیچ چیز ادیتور PT کار نمی کنه.

با این وضع چه طوری من آموزش بدم.

نمی دونم چیکار کنم.
 

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
یه نفر کمک کنه.
چرا ادیتور اینجا برای من خرابه.
مرورگر من Firefox هست.
تو InternetExplorer هم که همش ارور میده.
ببین الآن می خوام یه شکلک بذارم اما نمی تونم.

کفرم در اومده
 

artin

کاربر تازه وارد
تاریخ عضویت
19 می 2004
نوشته‌ها
2,114
لایک‌ها
2
Parsa_361

شما می تونی از curl استفاده کنی که بسیار بسیار قدرمتمنده و امکاناته فراوانی داره

http://php.net/curl

فقط باید چک کنی ببینی رو هاسیتت اینو نصب کردن یا نه
برای فهمیدنش هم می تونی با phpinfo اینو ببینی که آیا curl وجود داره یا نه

موفق باشی
 

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
می شه یکم در مورد curl توضیح بدی :blush:
من تو صفحه phpinfo هم چیزی در مورد curl هم پیدا نکردم اصلاً این کلمه رو سرچ کردم پیدا نکرد :blink:
اگه توضیح بدی خیلی ممنون می شم

مشکل ادیتور اینجا هم برام حل شد :D
 

knowhow

مدیران قدیمی
تاریخ عضویت
25 دسامبر 2002
نوشته‌ها
3,478
لایک‌ها
22
curl فکر نکنم این کار رو انجام بده !! !
 

artin

کاربر تازه وارد
تاریخ عضویت
19 می 2004
نوشته‌ها
2,114
لایک‌ها
2
خوب این نشون می ده که curl نصب نشده
باید با مسول هاستت تماس بگیری و بگی که اینو لازم داری و اونا برات نصب می کنن

curl تقریبا میشه گفت مثل یه browser عمل می کنه

یعنی می تونی یه پیج html مثلا http://www.yahoo.com رو داخل یه متغیر بریزی
یا اصلا یه فایل باینری رو بگیری و داخل یه متغیر بریزی یا اونو save کنی
و یا یه form رو در حالتهای GET و POST بفرستی و نتیجه HTML رو داخل یه متغیر بریزی و اونو تجزیه تحلیل کنی

خوب اینم یه نمونه برای ارسال فرم
که هم می تونه در حالت GET باشه و هم POST
که خروجی html که form می ده بیرون داخل متغیر DATA ذخیره می شه
و خودت هر کاری خواستی روش می تونی انجام بدی

PHP:
<?php
//
// A very simple PHP example that sends a HTTP POST to a remote site
//

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,"http://www.mysite.com/tester.phtml");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
            "postvar1=value1&postvar2=value2&postvar3=value3");

$data = curl_exec($ch);
curl_close ($ch); 
?>


این یکی برای ذخیره کردن یه صفحه html داخل یه متغیره

PHP:
<?php
//
// The PHP curl module supports the received page to be returned in a variable
// if told.
//
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,"http://www.myurl.com/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$result=curl_exec ($ch);
curl_close ($ch);
?>


واین هم یک نمونه برای گرفتن فایلهای باینری
PHP:
<?php
// Allocate a new cURL handle
$ch = curl_init("http://www.designmultimedia.com/intro.jpg");
if (! $ch) {
die( "Cannot allocate a new PHP-CURL handle" );
}

// We'll be returning this transfer, and the data is binary
// so we don't want to NULL terminate
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);

// Grab the jpg and save the contents in the $data variable
$data = curl_exec($ch);

// close the connection
curl_close($ch);

// Set the header to type image/jpeg, since that's what we're
// displaying
header("Content-type: image/jpeg");

// Output the image
print( $data );
?>

البته این curl سویچها و انتخابهای بیشتری داره که می تونی اضافه کنی !
مثلا
CURLOPT_USERAGENT که می تونی اسم و مشخصات یه browser رو بدی !

واسه این کار مثلا این خط رو به این برنامت و ثبل اجرا کردن curl اضافه می کنی

PHP:
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/4.0");

یا مثلا CURLOPT_TIMEOUT که مشخص می کنه چند ثانیه برای ارسال form صبر کنه
اینو معمولا یه عدد نه خیلی پایین و نه خیلی بالا مزنن و احیانن اگه سرور مقصد از کار افتاده یوزر زیاد صبر نکنه و بتونی به یوزر بگی سرور دان شده و بعدا سعی کنید

یکی هم CURLOPT_REFERER هست که می تونی یه لینک بزاری برای http_referer و اتصال به سرور می گه مثلا از این page ارسال شده
اینا همش برای رد گم کردنه

تنظیمات خیلی خیلی متنوع و زیادی داره که می تونی اونو تو این لینک پیدا کنی
http://ir.php.net/curl
مثلا استفاده کردن از پراکسی گرفتن اررورها گرفتن حجم و سرعت کار کردن با کوکیزها کار با اف تی پی و کللی چیز دیگه که می تونی استفاده کنی

اگه رو سیستمت php رو با xampp یا easyphp ریخته باشی اونا curl رو نصب می کنن

فعلا رو سیستم خودت تست کن و یاد بگیر تا ادمین سرورت رو راضی کنی اینو نصب کنه
;)


اینم یه سری نمونه از سویچهای curl

این برای ست کردن یک زمان معین برای اتصال به سرور مورد نظر
PHP:
curl_setopt($ch, CURLOPT_TIMEOUT,10);

با این هم میتونی بگی که header رو که از سرور مورد نظر گرفته برای شما هم ارسال کنه یا نه
PHP:
curl_setopt($ch, CURLOPT_HEADER, 0);

با این می گی که اصلا خروجی اون form یا هرچیزه دیگه که با curl ارسال شده دریافت بشه یا نه
که برای شما باید روشن باشه
PHP:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

تعقیر نوع ارتباط به باینری
PHP:
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);

برای ارتباط با سرور مورد نظر با پراکسی
این واسه اینه که اون نفهمه از این سرور بهش وصل شدن
PHP:
curl_setopt ($ch, CURLOPT_PROXY, "250.250.250.250:8080");
فقط باید هواست باشه پورت پراکسی که استفاده می کنی توسط فایروال سرور بسته نشده باشه

خوب فکر کنم فعلا با اینا بتونی کاراتو راه بندازی
کارهای خیلی خیلی زیادی می شه با این کرد

موفق باشی
 

knowhow

مدیران قدیمی
تاریخ عضویت
25 دسامبر 2002
نوشته‌ها
3,478
لایک‌ها
22
خوب من نمی گیرم پس چجوری متغیر رو با action post می بره ؟!!!!!
 

artin

کاربر تازه وارد
تاریخ عضویت
19 می 2004
نوشته‌ها
2,114
لایک‌ها
2
محمد رضا من منظورتو نگرفتم
این دوستمون یه روشی خواستن که با خود php بشه یه form رو فرستاد و با curl می شه از داخل سرور این مارو راحت انجام داد

نمونشم بالا گذاشتم
 

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
ایول
اگه این جوری باشه که خیلی خوبه :D
حالا من این curl رو از کجا بیارم روی localhost خودم نصب کنم
من سرور Apache روی کامپیوترم نصب کردم و بعد هم خود PHP رو از www.php.net گرفتم و نصب کردم (به صورت دستی)

راستی سرور هاست من تو آمریکاست چه جوری بهشون بگم برام نصب کنه ؟؟؟؟؟؟؟؟ :(
 

artin

کاربر تازه وارد
تاریخ عضویت
19 می 2004
نوشته‌ها
2,114
لایک‌ها
2
در مورد سرور بهشون بگو یه برنامه دارم برای چک کردن وضع هوا و گرفتن خبر که به curl احتیاج داره و لطفا برام نصب کنید
;)

در مورد لوکال
یه فایل تست برای phpinfo بساز و بعد اجرا کردن مسیر php.ini رو پیدا کن

و ; رو از این خط بردار یعنی مثل خط پایین بشه
extension=php_curl.dll

البته ممکنه اررورهایی دریافت کنی
من دقیقا یادم نمی یاد اون موقع چی کار می کردم و کدوم dll رو کپی می کردم چون الان از xampp استفاده می کنم

ولی اگه برات اررو داد هر چی dll رو شاخه اصلی و فولدرهای php پیدا کردی تو شاخه bin تو فولدر apache کپی کن

احتمالا نباید دیگه اررور بده

بعدش واسه اینکه مطمئن شی نصب شده یا نه یه phpinfo بگیر و باید یه همیچن خطی اضافه شده باشه
attachment.php
 

فایل های ضمیمه

  • curl.JPG
    curl.JPG
    10.4 KB · نمایش ها: 142

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
به نقل از artin :
یه فایل تست برای phpinfo بساز و بعد اجرا کردن مسیر php.ini رو پیدا کن

و ; رو از این خط بردار یعنی مثل خط پایین بشه
extension=php_curl.dll

البته ممکنه اررورهایی دریافت کنی
من دقیقا یادم نمی یاد اون موقع چی کار می کردم و کدوم dll رو کپی می کردم چون الان از xampp استفاده می کنم

ولی اگه برات اررو داد هر چی dll رو شاخه اصلی و فولدرهای php پیدا کردی تو شاخه bin تو فولدر apache کپی کن

احتمالا نباید دیگه اررور بده

من این کاری که شما گفتید کردم و php_curl.dll رو هر جا رسیدم کپی کردم ولی باز هم این ارور رو می ده :

error1.gif


:(

لطفاً کمک کنید
 

artin

کاربر تازه وارد
تاریخ عضویت
19 می 2004
نوشته‌ها
2,114
لایک‌ها
2
عکسی که گذاشتی نمی تونم ببینم

ولی اگه دقت کرده باشی من گفتم همه dll ها ! نه فقط اون dll
حجم زیادی ندارن و برات مشکل ساز نمی شن
فقط من دقیقا نمی دونم کدومها بود واسه این می گم همشو بریز
 

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
نمی دونم چرا نمی تونی عکس رو ببینی، من دارم اونو می بینم. آدرسش اینه :
http://www.shop2shop.net/download/error1.gif

من با تمام dll ها هم همین کار رو کردم ولی باز هم وقتی Apache رو دوباره ران می کنم تو یه پیغام این ارور رو می ده :
Unknown: Unable to load dynamic library './php_curl.dll' - The specifiend module could not be found
(عکس بالا)

لطفاً راهنمایی کنید
 

artin

کاربر تازه وارد
تاریخ عضویت
19 می 2004
نوشته‌ها
2,114
لایک‌ها
2
تو همه فولدرها ؟
یه سری dll تو شاخه اصلی داره
و یه سروی هم تو دایرکتوری ext
اینارو هم تو شاخه bin آپاچی کپی کن هو تو دایرکتوری system ویندوز


اون Dll هایی که تو شاخه اصلی php هست یادت نره چون اونا لازمه
 
بالا