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

شروع موضوع توسط Parsa_361 ‏17 آگوست 2005 در انجمن PHP

  1. Parsa_361

    Parsa_361 کاربر فعال صفحات داینامیک کاربر فعال

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

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

    ممنون.
     
  2. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
    این من هم دنبالش بودم ولی هنوز چیزی پیدا نکردم خواستم با استفاده از header نوع ارسال رو عوض کنم
    اگر پیدا کردم خبرت می دم
     
  3. Parsa_361

    Parsa_361 کاربر فعال صفحات داینامیک کاربر فعال

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

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

    PersianPC کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏9 فوریه 2005
    نوشته ها:
    582
    تشکر شده:
    1
    محل سکونت:
    Tehran
    عالیه ... ;(
     
  5. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
    لطف می کنی :)
     
  6. Parsa_361

    Parsa_361 کاربر فعال صفحات داینامیک کاربر فعال

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

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

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

    Parsa_361 کاربر فعال صفحات داینامیک کاربر فعال

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

    کفرم در اومده
     
  8. artin

    artin کاربر تازه وارد

    تاریخ عضویت:
    ‏19 می 2004
    نوشته ها:
    2,112
    تشکر شده:
    2
    Parsa_361

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

    http://php.net/curl

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

    موفق باشی
     
  9. Parsa_361

    Parsa_361 کاربر فعال صفحات داینامیک کاربر فعال

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

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

    knowhow مدیران قدیمی

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    3,480
    تشکر شده:
    19
    curl فکر نکنم این کار رو انجام بده !! !
     
  11. artin

    artin کاربر تازه وارد

    تاریخ عضویت:
    ‏19 می 2004
    نوشته ها:
    2,112
    تشکر شده:
    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($chCURLOPT_URL,"http://www.mysite.com/tester.phtml");
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_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($chCURLOPT_URL,"http://www.myurl.com/");
    curl_setopt($chCURLOPT_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($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_BINARYTRANSFER1);

    // 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 ($chCURLOPT_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($chCURLOPT_TIMEOUT,10);
    با این هم میتونی بگی که header رو که از سرور مورد نظر گرفته برای شما هم ارسال کنه یا نه
    PHP:
    curl_setopt($chCURLOPT_HEADER0);
    با این می گی که اصلا خروجی اون form یا هرچیزه دیگه که با curl ارسال شده دریافت بشه یا نه
    که برای شما باید روشن باشه
    PHP:
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    تعقیر نوع ارتباط به باینری
    PHP:
    curl_setopt($chCURLOPT_BINARYTRANSFER1);
    برای ارتباط با سرور مورد نظر با پراکسی
    این واسه اینه که اون نفهمه از این سرور بهش وصل شدن
    PHP:
    curl_setopt ($chCURLOPT_PROXY"250.250.250.250:8080"); 
    فقط باید هواست باشه پورت پراکسی که استفاده می کنی توسط فایروال سرور بسته نشده باشه

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

    موفق باشی
     
  12. knowhow

    knowhow مدیران قدیمی

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    3,480
    تشکر شده:
    19
    خوب من نمی گیرم پس چجوری متغیر رو با action post می بره ؟!!!!!
     
  13. avajang.com .leftjee.ir.right
  14. artin

    artin کاربر تازه وارد

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

    نمونشم بالا گذاشتم
     
  15. Parsa_361

    Parsa_361 کاربر فعال صفحات داینامیک کاربر فعال

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

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

    artin کاربر تازه وارد

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

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

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

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

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

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

    بعدش واسه اینکه مطمئن شی نصب شده یا نه یه phpinfo بگیر و باید یه همیچن خطی اضافه شده باشه
    [​IMG]
     

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

    • curl.JPG
      curl.JPG
      اندازه فایل:
      10.4 KB
      نمایش ها:
      142
  17. knowhow

    knowhow مدیران قدیمی

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    3,480
    تشکر شده:
    19
    گرفتم چی شد.
     
  18. Parsa_361

    Parsa_361 کاربر فعال صفحات داینامیک کاربر فعال

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

    [​IMG]

    :(

    لطفاً کمک کنید
     
  19. artin

    artin کاربر تازه وارد

    تاریخ عضویت:
    ‏19 می 2004
    نوشته ها:
    2,112
    تشکر شده:
    2
    عکسی که گذاشتی نمی تونم ببینم

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

    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
    (عکس بالا)

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

    artin کاربر تازه وارد

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


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