Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Curl - logowanie + dodwanie
Pawel86
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 5.04.2006

Ostrzeżenie: (0%)
-----


Witam!
Mam następujący kod:

Kod
  
   $post_data = array();
   $post_data['login_str'] = "xxx";
   $post_data['password_str'] = "xxxxxx";
   $post_data['m'] = "";
   $post_data['g'] = "";
   $post_data['URI'] = "admin.php";
   $post_data['check'] = 1;
   $url = "http://xxx.pl/users/login.php";

   $o="";
   foreach ($post_data as $k=>$v)
   {
       $o.= "$k=".utf8_encode($v)."&";
   }
   $post_data=substr($o,0,-1);
  
   $ch = curl_init();
   curl_setopt($ch, CURLOPT_POST, 1);
   curl_setopt($ch, CURLOPT_HEADER, 0);
   curl_setopt($ch, CURLOPT_TIMEOUT, 15);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($ch, CURLOPT_URL, $url);  
   curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
   $result = curl_exec($ch);

unset($post_data);

   $post_data = array();
   $post_data['u'] = "";
   $post_data['check'] = "Dodaj";
   $post_data['Q[2216]'] = "cos";
   $post_data['Q[2223]'] = "tes";
   $post_data['Q[2262]'] = "lublin :)";
   $post_data['Q[2214]'] = 4;
   $post_data['id_advert'] = 0;
   $post_data['id_category'] = |14|2|;
   $url = "http://xxx.pl/manage/add.php";

   $o="";
   foreach ($post_data as $k=>$v)
   {
       $o.= "$k=".utf8_encode($v)."&";
   }
   $post_data=substr($o,0,-1);

   curl_setopt($ch, CURLOPT_POST, 1);
   curl_setopt($ch, CURLOPT_HEADER, 0);
   curl_setopt($ch, CURLOPT_TIMEOUT, 15);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt($ch, CURLOPT_URL, $url);  
   curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
   $result = curl_exec($ch);


echo $result;


"Pierwszy" curl dotyczy logowania - powinien zalgowac do systemu, a drugi powinien dodac zdarzenie lecz ani to ani tamto nie ma miejsca (oczywiscie nie dodaje sie zdarzneie bo user niezalogowany).

Nigdy nie uzywalem curla wiec jakby, ktos moglby pomoc mi w rozwiazaniu tego problemu to bylbym wdzieczny.

Pozdroawiam Pawel
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Ludvik
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 698
Pomógł: 3
Dołączył: 28.03.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Źle preparujesz tablicę z danymi do POST.
  1. <?php
  2. // Funkcja zamieniająca tablicę w postaci nazwa => wartość na ciąg zmiennych do
  3. // przesłania metodą POST.
  4. function createPostString($aPostFields) {
  5. foreach ($aPostFields as $key => $value) {
  6. $aPostFields[$key] = urlencode($key) . '=' . urlencode($value);
  7. }
  8. return implode('&', $aPostFields);
  9. }
  10. ?>

Równie dobrze, możesz samą tablicę podstawić - też działa.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.09.2025 - 20:20