[ Kondenzator @ 03.11.2013. 22:31 ] @
Pozdrav,

Imam problema sa logiranjem na drupal site sa curl-om. Uradio sam to na najmanje 4-5 drugih stranica, ali na ovoj na kojoj trenutno radim stvari jednostavno ne funkcionisu.

Mislim da imam problema sa cookies. Ne znam stvarno. Potrosio sam dva dana na ovo i malo mi fali da podignem bijelu zastavicu i predam se :).

Code:

Code:
    <?php
        ob_start(); // Initiate the output buffer
        function mymodule_get_csrf_header() {
          $curl_get = curl_init();
          curl_setopt_array($curl_get, array(
            CURLOPT_RETURNTRANSFER => 1,
            CURLOPT_URL => 'http://will.sx/services/session/token',
          ));
          $csrf_token = curl_exec($curl_get);
          curl_close($curl_get);
          return 'X-CSRF-Token: ' . $csrf_token;
        }
        $username = 'test';
        $password = 'TEST';
        $request_url = 'http://will.sx/rests/user/login';
        $user_data = array(
          'username' => $username,
          'password' => $password,
        );
        $user_data = http_build_query($user_data);
    
        $curl = curl_init($request_url);
        curl_setopt($curl, CURLOPT_HTTPHEADER, array('Accept: application/json')); // Accept JSON response
        curl_setopt($curl, CURLOPT_POST, 1); // Do a regular HTTP POST
        curl_setopt($curl, CURLOPT_POSTFIELDS, $user_data); // Set POST data
        curl_setopt($curl, CURLOPT_HEADER, FALSE);  // Ask to not return Header
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
        curl_setopt($curl, CURLOPT_FAILONERROR, TRUE);
        curl_setopt($curl, CURLOPT_COOKIESESSION, true);
        curl_setopt($curl, CURLOPT_COOKIEFILE, "cookie.txt");
        curl_setopt($curl, CURLOPT_COOKIEJAR, "cookie.txt");
    
        $response = curl_exec($curl);
        $http_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
        if ($http_code == 200) {
          $logged_user = json_decode($response);
          echo 'logged';
        }
        else {
          $http_message = curl_error($curl);
          die('Unable to connect to Basic CMS Engine! 
                                                Username or password incorrect! 
                                                Please enter valid username and password!');  
        }
        //setcookie(name,value,expire,path,domain,secure)
        setcookie($logged_user->session_name,$logged_user->sessid,time() + 10000,'/');
        ob_end_flush(); // Flush the output from the buffer
        ?>


Znaci kad u scripti hardkodiram username & password koji naravno nisu test, test dobijem poruku ''logged'' ali kad odem na pocetnu stranicu jednostavno nisam logovan.

Kad printam $logged_user , $resposne il bilo koju drugu varijablu koja se pojavljuje u code-u dobijam uredan output.

Svaka pomoc je dobro dosla.

Poprilicno sam siguran da je do funkcije setcookies.

Kad uradim
$cookies = etcookie($logged_user->session_name,$logged_user->sessid,time() + 10000,'/');
print_r($cookies);

dobijem kao output:
1


[ peromalosutra @ 04.11.2013. 21:40 ] @
Kako provjeravas da li je korisnik ulogovan na home page? Ubaci print_r($_COOKIE) na home pa vidi ima li cookija koji ti treba tu, ako nema bice da je do provjere.