Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [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
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 smile.gif


--------------------
Serwer : Acer Aspire 5050 : AMD Turion X2 2x1.9 MHz : 2x2 GB Dual : 250GB + 500 GB USB
Warsztat : Apache v2.2 : PHP v5.2 : MySQL v5.0 : phpMyAdmin v3.4 : phpDesigner v7
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 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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 04:27