Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Jak zapisać zmienną z formularza
mperlam
post
Post #1





Grupa: Zarejestrowani
Postów: 174
Pomógł: 0
Dołączył: 24.04.2009

Ostrzeżenie: (30%)
XX---


Cześć. Mam duży problem. Mam formularz na stronie A i skrypt logowania na stronie B. Chciałbym aby podczas logowania na stronie A przed wyslaniem formularza login został zapisany jako zmienna. Czy da radę tak zrobić? Nie mam dostępu do strony B. Wszystko sprowadza się do automatycznego wypełnienia formularza. Czy da radę tak zrobić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
DREEMus
post
Post #2





Grupa: Zarejestrowani
Postów: 286
Pomógł: 34
Dołączył: 4.09.2008
Skąd: Wrocław

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


cURL (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
mperlam
post
Post #3





Grupa: Zarejestrowani
Postów: 174
Pomógł: 0
Dołączył: 24.04.2009

Ostrzeżenie: (30%)
XX---


O ja tez zdążyłem zauważyć. Kombinowalem z curl i nie udaje mi się

Udało mi się wykrzesać taki kod:

Kod
<?
function curl_redirect_exec($ch, &$redirects, $curlopt_returntransfer = false, $curlopt_maxredirs = 10, $curlopt_header = false) {
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $data = curl_exec($ch);
    $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $exceeded_max_redirects = $curlopt_maxredirs > $redirects;
    $exist_more_redirects = false;
    if ($http_code == 301 || $http_code == 302) {
        if ($exceeded_max_redirects) {
            list($header) = explode("\r\n\r\n", $data, 2);
            $matches = array();
            preg_match('/(Location:|URI:)(.*?)\n/', $header, $matches);
            $url = trim(array_pop($matches));
            $url_parsed = parse_url($url);
            if (isset($url_parsed)) {
                curl_setopt($ch, CURLOPT_URL, $url);
                $redirects++;
                return curl_redirect_exec($ch, $redirects, $curlopt_returntransfer, $curlopt_maxredirs, $curlopt_header);
            }
        }
        else {
            $exist_more_redirects = true;
        }
    }
    if ($data !== false) {
        if (!$curlopt_header)
            list(,$data) = explode("\r\n\r\n", $data, 2);
        if ($exist_more_redirects) return false;
        if ($curlopt_returntransfer) {
            return $data;
        }
        else {
            echo $data;
            if (curl_errno($ch) === 0) return true;
            else return false;
        }
    }
    else {
        return false;
    }
}




$url  = "http://ipodzik.info/wp-login.php";
$pola = "log=$zmienna1&pwd=$zmienna2";
$f = curl_init();
curl_setopt($f, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($f, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($f, CURLOPT_USERAGENT, 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3');
curl_setopt($f, CURLOPT_URL, $url);
curl_setopt($f, CURLOPT_POSTFIELDS, $pola);
curl_setopt($f, CURLOPT_POST, 1);
curl_setopt($f, CURLOPT_HEADER, 0);

$redirects = 0; //Wykorzystanie funkcji powyżej - nie działa mi funkcja curl_redirect na serwerze
curl_redirect_exec($f, $redirects);

curl_setopt($f, CURLOPT_RETURNTRANSFER, 1);
$dane = curl_exec($f);
curl_close($f);
echo $dane;
?>


Niestety pomimo, iż sam skrypt działa, mam jeszcze problem ponieważ chcę aby adres zmienił się na prawidłowy (czyli adres admina skryptu (IMG:style_emoticons/default/cool.gif) . Teraz jest tak, że po zalogowaniu adres w przeglądarce jest adresem skryptu A. Czy da radę to zmienić?
Go to the top of the page
+Quote Post

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: 23.08.2025 - 22:32