Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wysyłanie formularza na inną stronę
c4ld3ra
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 1.12.2009

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


Witam, chciałbym wysłać na inną stronę uzupełniony formularz, problem mam w tym, że aby dokonać jakiś operacji na wysłanych danych na tą stronę trzeba być na niej zalogowanym, i mam pytanie czy istnieje jakieś sposób na dokonać takiego zabiegu, jakoś się za pomocą php zalogować czy coś.
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
c4ld3ra
post
Post #2





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 1.12.2009

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


Coś nie działa ten CURLOPT_FOLLOWLOCATION

Kod
PHP Error Message

Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set in /home/a8236701/public_html/test.php on line 19

Free Web Hosting
HTTP/1.1 302 Found Status: 302 Moved Set-Cookie: aff=3734; domain=.ryushare.com; path=/; expires=Fri, 19-Oct-2012 11:06:16 GMT Set-Cookie: login=c4ld3ra; domain=.ryushare.com; path=/; expires=Mon, 18-Mar-2013 11:06:16 GMT Set-Cookie: xfss=atah4zvai0gmy4zo; domain=.ryushare.com; path=/; expires=Fri, 19-Oct-2012 11:06:16 GMT Date: Wed, 19 Sep 2012 11:06:16 GMT Location: http://ryushare.com/ Connection: close Transfer-Encoding: chunked Server: Ryushare Webserver


Znalazłem w sieci funkcjie umożliwiającą automatyczne przekierowania, po jej zastosowaniu nadal brak oczekiwanego efektu.
  1. <?php
  2. function curl_exec_follow(/*resource*/ $ch, /*int*/ &$maxredirect = null) {
  3. $mr = $maxredirect === null ? 5 : intval($maxredirect);
  4. if (ini_get('open_basedir') == '' && ini_get('safe_mode' == 'Off')) {
  5. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, $mr > 0);
  6. curl_setopt($ch, CURLOPT_MAXREDIRS, $mr);
  7. } else {
  8. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
  9. if ($mr > 0) {
  10. $newurl = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
  11.  
  12. $rch = curl_copy_handle($ch);
  13. curl_setopt($rch, CURLOPT_HEADER, true);
  14. #curl_setopt($rch, CURLOPT_NOBODY, true);
  15. curl_setopt($rch, CURLOPT_FORBID_REUSE, false);
  16. curl_setopt($rch, CURLOPT_RETURNTRANSFER, true);
  17. do {
  18. curl_setopt($rch, CURLOPT_URL, $newurl);
  19. $header = curl_exec($rch);
  20. if (curl_errno($rch)) {
  21. $code = 0;
  22. } else {
  23. $code = curl_getinfo($rch, CURLINFO_HTTP_CODE);
  24. if ($code == 301 || $code == 302) {
  25. preg_match('/Location:(.*?)\n/', $header, $matches);
  26. $newurl = trim(array_pop($matches));
  27. } else {
  28. $code = 0;
  29. }
  30. }
  31. } while ($code && --$mr);
  32. curl_close($rch);
  33. if (!$mr) {
  34. if ($maxredirect === null) {
  35. # trigger_error('Too many redirects. When following redirects, libcurl hit the maximum amount.', E_USER_WARNING);
  36. } else {
  37. $maxredirect = 0;
  38. }
  39. return false;
  40. }
  41. curl_setopt($ch, CURLOPT_URL, $newurl);
  42. }
  43. }
  44. return curl_exec($ch);
  45. }
  46.  
  47. $login ="login";
  48. $password = "haslo";
  49.  
  50. $op = "login";
  51. $redirect = urlencode("http://ryushare.com/");
  52.  
  53. $c = curl_init();
  54.  
  55. curl_setopt($c,CURLOPT_URL,"http://ryushare.com/");
  56. curl_setopt($c,CURLOPT_REFERER,"http://ryushare.com/login.python");
  57. curl_setopt($c,CURLOPT_POST,1);
  58. curl_setopt($c,CURLOPT_POSTFIELDS,"op=$op&redirect=$redirect&login=$login&password=$password");
  59. curl_setopt($c,CURLOPT_RETURNTRANSFER,1);
  60.  
  61.  
  62. $ret =curl_exec_follow($c);
  63.  
  64.  
  65.  
  66.  
  67.  
  68. curl_close($c);
  69.  
  70. echo $ret;
  71. # ok HTTP/1.1 200 OK Expires: Tue, 18 Sep 2012 11:01:13 GMT Date: Wed, 19 Sep 2012 11:01:13 GMT Content-Type: text/html; charset=UTF-8 Connection: close Server: Ryushare Webserver
  72.  
  73. ?>
  74.  
  75.  
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 19.08.2025 - 22:38