مشکل در دریافت نتایج آزمون سراسری توسط کد php از راه دور !

شروع موضوع توسط NabiKAZ ‏4 آگوست 2007 در انجمن برنامه‌نویسی با PHP

  1. NabiKAZ

    NabiKAZ Well-Known Member

    ارسال‌ها:
    1,184
    تشکر شده:
    430
    امتیاز دستاورد:
    83
    سلام و تشکر از لطفتون.
    در ابتدا هدف از زدن این تاپیک رفع یه اشکال در برنامه بود نه معرفی برنامه . به همین خاطر پست اول با یه سوال شروع شده. ولی بعد که برنامه تکمیل شد دیگه تاپیک نزدم و همینجا برنامه رو معرفی کردم. اگر لینک به همین صورت باشه شاید بهتر باشه چون کاربر توضیحات هم میبینه و البته لینک برنامه خیلی واضح همونجا قرار داره.

    اسامی چند نفری رو دارم ولی شاید صحیح نباشه عمومی اعلام بشه، باید ببخشید. احتمالا تمام دوستان اطرافشون چند نفری رو دارند که کنکوری باشند....

    تشکر
    نبی
     
    نوشته شده توسط NabiKAZ در ‏9 سپتامبر 2007
    robic از این پست تشکر کرده است.
  2. NabiKAZ

    NabiKAZ Well-Known Member

    ارسال‌ها:
    1,184
    تشکر شده:
    430
    امتیاز دستاورد:
    83
    دارم روی آزاد کار میکنم ولی بد جوری پیچوندم!
    بی انصاف معلوم نیست چیکار کرده...
    حالا عمده کار انجام شده ولی یه مشکل کوچیک هست که بد نیست همینجا مطرح کنم شاید پیشکسوتان بتونن راهنمایی کنند.

    ساده و به صورت مثال عرض میکنم.

    یه فایل php شماره یک داریم که با header ("location به فایل شماره دو فرستاده میشه.
    وقتی با http_request محتوای این فایل شماره یک رو میگیریم هیچ مقداری رو برنمیگردونه که تقریباً طبیعی هم هست. ولی اگر هدر اون رو به خروجی بفرستیم یه location در هدر ظاهر میشه که دربرگیرنده همون url صفحه دوم هست .
    حالا چه راهی هست که وقتی محتوای فایل شماره یک رو میگیریم ، صفحه سفید نده ! و محتوای فایل نهایی رو (در این مثل همون فایل شماره دو) رو نشون بده.
    شاید اینطور به نظر بیاد که بیایم و مقدار location موجود در هدر فایل اول رو بخونیم و با یه http_request دیگه محتوای فایل دوم رو بخونیم. اما اینکار جواب نمیده یا حداقل در مورد سایت دانشگاه آزاد جواب نداد!
    در واقع فکر میکنم باید اینکار قبل از compile شدن فایل صورت بگیره...
    امیدوارم تونسته باشم منظور رو برسونم وگرنه که بفرمائید بیشتر توضیح بدم.

    تشکر
    نبی
     
    آخرین ویرایش: ‏9 سپتامبر 2007
    نوشته شده توسط NabiKAZ در ‏9 سپتامبر 2007
    robic از این پست تشکر کرده است.
  3. NabiKAZ

    NabiKAZ Well-Known Member

    ارسال‌ها:
    1,184
    تشکر شده:
    430
    امتیاز دستاورد:
    83
    خب خیلی جالبه که من بعد از هر پرسشی خودم جوابش رو سریع پیدا میکنم. اصلاً باید سوال رو بپرسم تا جوابش به ذهنم برسه !!!
    جواب سوال بالا خیلی ساده بود. اینه :
    $req->_allowRedirects = true;

    اما با وجود اضافه کردن این به برنامه بازهم سایت کنکور آزاد جواب نداد ! باید جای دیگه دنبال رفع اشکال بگردم. ممکنه session یا cookie ست میکنه که در این صورت کار رو سخت میکنه .

    در مورد فهمیدن ست کردن مثلا session آیا از همون هدر باید فهمید یا راه دیگه ای سراغ دارید ؟

    تشکر
     
    نوشته شده توسط NabiKAZ در ‏9 سپتامبر 2007
    robic و iroweb از این پست تشکر کرده اند.
  4. iroweb

    iroweb Member

    ارسال‌ها:
    126
    تشکر شده:
    19
    امتیاز دستاورد:
    16
    پاسخ به سوال نبي جون .

    نبي جون وقتي تمام خروجي رو گرفتي . بيا داخل فايلت اين دوتا كد Php زير رو بزار تا ببيني جلسه يا كوكي اي وجود داره يا نه . البته من خودم امتحان كردم جواب ميده . اگر جلسه يا كوكي وجود داشته باشه به صورت يك آرايه بر ميگردونه . بعد كه فهميدي چي وجود داره اونو با يك هدر بسازش :


    PHP:
    echo "<pre>";
    print_r ($_SESSION);
    echo "</pre>";

    echo "<pre>";
    print_r ($_COOKIE);
    echo "</pre>";
     
    آخرین ویرایش: ‏9 سپتامبر 2007
    نوشته شده توسط iroweb در ‏9 سپتامبر 2007
  5. NabiKAZ

    NabiKAZ Well-Known Member

    ارسال‌ها:
    1,184
    تشکر شده:
    430
    امتیاز دستاورد:
    83
    خب از پاسخت ممنونم.
    اما عزیز ! تو مطمئنی که با http_request کار کردی؟! اصلا میدونی طرز کارش چطوریه ؟!
    قضیه به این سادگیا که شما فکر میکنید نیست !
    شما که به کدهای php روی سرور سایت دسترسی ندارید. شما فقط میتونید خروجی رو بگیرید، وقتی هم بگیرید دیگه کد php نمیشه بهش چسبوند و همچنین نمیشه متغییرهای توی اون رو print کرد !
    یکم بیشتر فکر کن :)

    نبی
     
    نوشته شده توسط NabiKAZ در ‏9 سپتامبر 2007
    robic از این پست تشکر کرده است.
  6. amir01

    amir01 Member

    ارسال‌ها:
    347
    تشکر شده:
    318
    امتیاز دستاورد:
    16
    آقا نبی یه سوال در مورد HTTP_Request من وقتی روی لوکال هاست از این کلاس استفاده میکنم مشکلی نداره. ولی وقتی رو هاست آپلود میکنم تو هر صفحه ای که include میکنمش اون صفحه رو هر موقع باز میکنم سفید نشون میده. اگه میشه بگید رو هاست چجوری باید ازش استفاده کنم. ممنون. یاحق
     
    نوشته شده توسط amir01 در ‏9 سپتامبر 2007
  7. NabiKAZ

    NabiKAZ Well-Known Member

    ارسال‌ها:
    1,184
    تشکر شده:
    430
    امتیاز دستاورد:
    83
    host یا local فرقی نداره.
    تا کد رو نبینم نمیتونم نظری بدم.
    نمیدونم از سورس من داری استفاده میکنی یا خودت کد نوشتی، در هر صورت توی کدها اگر ابتدای function ها از @ استفاده کردی، اون رو حذف کن و error_reporting هم روی e_all بزار تا همه خطا ها نمایش داده بشه و اشکال رو بهتر پیدا کنی.

    نبی
     
    نوشته شده توسط NabiKAZ در ‏10 سپتامبر 2007
    robic از این پست تشکر کرده است.
  8. amir01

    amir01 Member

    ارسال‌ها:
    347
    تشکر شده:
    318
    امتیاز دستاورد:
    16
    کدی که نوشتم اینه :
    کد (Text):
    $url = '';
    $referer = '';

    $req = &new HTTP_Request($url);
    $req->setMethod(HTTP_REQUEST_METHOD_POST);
    $req->addHeader('Referer', $referer);
    $req->addPostData('ipaddresses', $ip);
    $req->sendRequest();
    $content = $req->getResponseBody();

    $start = strpos($content, $ip);
    $start += strlen($ip) + 29;
    $C = substr($content, $start, 2);

    echo $C;
     
    نوشته شده توسط amir01 در ‏10 سپتامبر 2007
  9. NabiKAZ

    NabiKAZ Well-Known Member

    ارسال‌ها:
    1,184
    تشکر شده:
    430
    امتیاز دستاورد:
    83
    $url رو وارد میکنی؟
    شاید Pear روی سرور نصب نیست.
    همه فایلهای جانبی که توی برنامه من بود رو درکنار برنامه کپی کن.
    request.php رو include کردی؟!
    اگر خروجی سفید میده اینطوری مشخص نمیشه که اشکال از کلاس هست یا از کدهایی که اون پایین اضافه کردی. اول یه url ساده بده مثل سایت یاهو ، کل محتواشو بده به خروجی ، اگر مشکل نداشت پس کلاس رو میتونه پیدا کنه ، وگرنه توی اون چند خط کدی که خودت اضافی کردی دنبال اشکال بگرد.
     
    نوشته شده توسط NabiKAZ در ‏10 سپتامبر 2007
  10. RainDigital

    RainDigital Member

    ارسال‌ها:
    729
    تشکر شده:
    238
    امتیاز دستاورد:
    16
    این همون اسکریپت پر........×.......×.......×.....وکسیه هست؟
     
    نوشته شده توسط RainDigital در ‏10 سپتامبر 2007
  11. NabiKAZ

    NabiKAZ Well-Known Member

    ارسال‌ها:
    1,184
    تشکر شده:
    430
    امتیاز دستاورد:
    83
    بخش دوم مقاله حاظر شد:

    - استخراج کارنامه های کنکور دانشگاه با HTTP_Request و CURL
    - کارنامه های کنکور دانشگاه آزاد
    - گریزی بر HTTP_Request و CURL

    همه در این مقاله:
    http://weblog.nabi.ir/post-11.html

    قابل توجه برخی دوستان که در مورد تفاوت های HTTP_Request و CURL پرسیده بودند. و همچنین گفته بودند آیا این برنامه رو با curl هم میشه پیاده سازی کرد؟
    پیشنهاد میشه مقاله فوق مطالعه شود.

    موفق باشید.
    نبی
     
    آخرین ویرایش: ‏16 سپتامبر 2007
    نوشته شده توسط NabiKAZ در ‏16 سپتامبر 2007
    robic و tabib_m از این پست تشکر کرده اند.

به اشتراک بگذارید