النتائج 1 إلى 5 من 5

الموضوع: سؤال عن curl + sessions

  1. #1
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2002
    المشاركات
    444

    سؤال عن curl + sessions



    السلام عليكم

    السؤال هذا ببالي من زمان بس بصراحة حاولت لكن كل المحاولات باءت بالفشل او خلنا نقول ما عرفت امسك طرف الخيط عشان اسوي هالشي

    الحين لو موقع فيه سكربت او منتدى او مدونة او اي موقع كان لا اعرف كيف برمجته

    لكن لدي حساب بهذا الموقع واريد تنفيذ امر في هذا الموقع , كزائر استطعت تنفيذ الامر

    لكن كعضو "تسجيل دخول" , لم استطع

    خليني ابسط لكم الامر

    زائر == تنفيذ الامر == استرجاع مخرجات تنفيذ الامر = هذة نجحت لكن

    زائر == تسجيل الدخول == ابقاء الزيارة كعضو و الذهاب الى الصفحة المراد تنفيذ الامر بها == استرجاع مخرجات تنفيذ الامر = هذة لم تنجح

    كمبرمج او مطور php كيف تتخيل ان تتم هذة العملية ؟

    تعديل : هناك متغيرات Post ارفقها مع عملية curl من نوع post لكن لاني كزائر العملية راح تتم مرة وحدة

    لكن المعنى انني اريد تسجيل الدخول ثم الذهاب الى صفحة اخرى مع ابقائي كعضو ثم تنفيذ الامر







  2. #2
    عضو شرف
    تاريخ التسجيل
    Mar 2003
    المشاركات
    1,899


    وعليكم السلام

    في مكتبة ال curl تحت curl_setopt يندرج امر لتفعيل ال session وهو كالتالي :

    كود PHP:
    $ch curl_init();
    curl_setopt($chCURLOPT_COOKIESESSIONTRUE); 
    من المفترض ان يحافظ هذا الامر على session دون حذفها

    تأكد من اصدارة ال php هي 5.1.0 او اعلى لضمان عمله بالشكل المطلوب





    __________________
    محلل لنظم المعلومات - ارسل لي رساله خاصه عبر المنتدى | join me on facebook / twitter
    php | flash&flex&air actionscript 2,3 | ajax&javascript | database pro Analyzer

  3. #3
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2002
    المشاركات
    444


    وعليكم السلام

    في مكتبة ال curl تحت curl_setopt يندرج امر لتفعيل ال session وهو كالتالي :

    كود PHP:
    $ch curl_init();
    curl_setopt($chCURLOPT_COOKIESESSIONTRUE); 
    من المفترض ان يحافظ هذا الامر على session دون حذفها

    تأكد من اصدارة ال php هي 5.1.0 او اعلى لضمان عمله بالشكل المطلوب
    مشكور اخوي , امس قعدت احاول فيها لين ضبطت وخلنا نقول انه تلميحك هو طرف الخيط :nice:


    لنفترض اني عضو بسوالف سيتم امر الدخول هكذا

    كود PHP:
    function loginswalif($user,$password,$cookie_name)
    {
        
    $post_fields = array('vb_login_username' => $user'vb_login_password' => $password,'cookieuser'=>"1" );
        
    $url "http://www.swalif.net/softs/login.php?do=login";
        
    // Init curl
        
    $curl curl_init();
        
    // Set options
        
    curl_setopt($curlCURLOPT_URL$url);
        
    curl_setopt($curlCURLOPT_POSTtrue);
        
    curl_setopt($curlCURLOPT_POSTFIELDS$post_fields);
        
    curl_setopt($curlCURLOPT_RETURNTRANSFERtrue);
        
    curl_setopt($curlCURLOPT_HEADERfalse);
        
    curl_setopt($curlCURLOPT_COOKIE$cookie_name);
        
    curl_setopt($curlCURLOPT_COOKIEJAR$cookie_name);
        
    curl_setopt($curlCURLOPT_COOKIEFILE$cookie_name);
        
    curl_setopt($curlCURLOPT_USERAGENT$_SERVER['HTTP_USER_AGENT']);
        
    // Execute request
        
    $result curl_exec($curl);

    }
    $cookie_name tempnam("tmp""g_".date(Y.m.d));
    $user="sms";
    $password="somepassword";
    $login loginswalif($user,$password,$cookie_name); 
    واذا بغيت افتح موضوع او ارد على موضوع الطريقة صارت سهلة

    بس تسوي فنكشن لكتابة الموضوع او الرد
    وعند تنفيد عملية البوست ترفق اسم الــ cookie مع الامر
    كود PHP:
       curl_setopt($curlCURLOPT_COOKIE$cookie_name);
        
    curl_setopt($curlCURLOPT_COOKIEJAR$cookie_name);
        
    curl_setopt($curlCURLOPT_COOKIEFILE$cookie_name); 
    واللي هي تسوت في عملية الدخول

    ملاحظة : يجب ان يكون لديك مجلد اسمه tmp او اختر اي اسم لكي يتم تخزين الcookie داخله
    لاحظ هذا السطر
    كود PHP:
    $cookie_name tempnam("tmp""g_".date(Y.m.d)); 
    هنا بسوالف تسأل وانت تجاوب عالسؤال

    مشكور مرة ثانية MohDesign






  4. #4
    عضو شرف
    تاريخ التسجيل
    Apr 2002
    المشاركات
    1,379


    لفهم بشكل عام عليك ان تفهم كيف يعمل المتصفح في مثل هذه الحاله (تسجيل الدخول وغيره )
    - المتصفح يرسل بينات الدخول الى الموقع .
    - الموقع يتحقق من البينات اذا كانت صحيح يسمح لك بالدخول ويعطيك معرف لعملية الدخول (cookie او session id ) .
    - في المره القادمة عن طلب اي صفحه سيرفق المتصفح معرف الدخول حتى لا تدخل بينات الدخول مره اخرى.
    - وهكذا ... في كل مره تطلب فيها صفحه يجب عليك ارفاق معرف الدخول (الكوكيز) او تكتب موضوع ... وهذه يحدث في المتصف بشكل تلقائي بدون تدخل منك .

    * انصح بتركيب اضافة Tamper Data لمشاهدة الطلبات في المتصفح
    https://addons.mozilla.org/en-US/firefox/addon/966

    * أيضا الاطلاع على كيفية عمل بروتوكول http واستخدام fsockopen كبديل عن curl اذا لم تكن متوفره .
    http://mprzybylski.pl/lab/net/http/b...-requests.html
    HTTP Made Really Easy





    __________________
    ضيف الله العتيبي مبرمج حر و مهندس معتمد من زيند (ZCE)
    الاتصال: daif@daif.net او جوال: 0556639884
    الخدمات: تقديم استشارات برمجيه, تطوير بوابات/خدمات إلكترونيه للقطاع العام او الخاص .

  5. #5


    مشكووووووووووووور و انا كنت ابحث عنها و كنت بسوي موضوع شكرا جزيلا لك و لكل الأعضاء الذين ساعدوا










ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض