- zaakceptowania regulaminu (formularz 1)
- wysłania wypełnionego formularza rejestracji (formularz 2)
Przypuszczam, że w tym miejscu pojawia się problem z polami 'form_token' które są poprawnie pobrane dla formularza 1, ale dla drugiego już chyba nie :/
oto kod:
//config::getConfig('url') - adres strony (http://localhost/kodeks/) $o = new regbot(); $data = $o->curl_get( config::getConfig('url').'forum/ucp.php?mode=register'); $creation_time = $o->regular('<input type="hidden" name="creation_time" value="([a-z0-9]+)" />', $data); $form_token = $o->regular('<input type="hidden" name="form_token" value="([a-z0-9]+)" />', $data); $data = $o->curl_post( config::getConfig('url').'forum/ucp.php?mode=register', "creation_time=$creation_time&form_token=$form_token&agreed=1" ); $creation_time = $o->regular('<input type="hidden" name="creation_time" value="([a-z0-9]+)" />', $data); $form_token = $o->regular('<input type="hidden" name="form_token" value="([a-z0-9]+)" />', $data); $data = $o->curl_post( config::getConfig('url').'forum/ucp.php?mode=register', "username=slammer&email=test123@gmail.com&email_confirm=test123@gmail.com&new_password=haselko&password_confirm=haselko&tz=1&change_lang=0&creation_time=$creation_time&form_token=$form_token&agreed=true&submit=true" ); //print $data; class regbot { public function curl_get( $url ) { $conn = curl_init(); curl_setopt( $conn, CURLOPT_URL, $url ); curl_setopt( $conn, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT'] ); curl_setopt( $conn, CURLOPT_ENCODING, 'gzip, deflate' ); curl_setopt( $conn, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt( $conn, CURLOPT_REFERER, config::getConfig('url') ); $data = curl_exec( $conn ); curl_close( $conn ); return $data; } public function regular( $patt, $zawartosc ) { $content = $content_str[1]; return $content; } public function curl_post( $url, $post ) { $conn = curl_init(); curl_setopt( $conn, CURLOPT_URL, $url ); curl_setopt( $conn, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT'] ); curl_setopt( $conn, CURLOPT_ENCODING, 'gzip, deflate' ); curl_setopt( $conn, CURLOPT_FOLLOWLOCATION, 1 ); curl_setopt( $conn, CURLOPT_POST, 1 ); curl_setopt( $conn, CURLOPT_REFERER, config::getConfig('url') ); curl_setopt( $conn, CURLOPT_POSTFIELDS, $post ); curl_setopt( $conn, CURLOPT_RETURNTRANSFER, 1 ); $data = curl_exec( $conn ); curl_close( $conn ); return $data; } }