Есть вот такой кусок кода: Код: Code: $user=$row['nick']; if (preg_match("/me", $msg, $msg_1)) { $msg=str_replace ("/me","<i>".$user."",$msg); $user=""; } он не работает на второй строчке надо: Если строка $msg начинается на "/me" то выполнить действие ниже
Code: $user = $row['nick']; if (preg_match("/^\/me/i", $msg)) { $msg = str_replace ( "/me", "<i>".$user, $msg ); $user = ""; }
хуево искал http://www.google.com/cse?cx=016878352597257888384%3Aqji4qkjjmem&q=php+%D0%BF%D1%80%D0%BE%D0%B7%D1%80%D0%B0%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%8C
приведи пример. P.S - Знает кто, как узнать количество голосов пользователя? (при этом не парсить с главной)
Продолжаю вчерашний вопрос... PHP: <?php function rambler_login($login,$passw) { $login = urlencode($login); $passw = urlencode($passw); $ch = curl_init (); curl_setopt ( $ch , CURLOPT_URL , "http://id.rambler.ru/script/auth.cgi?mode=login" ); curl_setopt ( $ch , CURLOPT_HEADER , 0 ); curl_setopt($ch, CURLOPT_POSTFIELDS, "login=$login&passw=$passw"); $res = curl_exec($ch); curl_close ( $ch ); if(preg_match('#name=\'s\' id=\'s\' value=\'(.*)\'#',$res,$s)) return $s[1]; else return false; } $email = $_POST['login']; $password = $_POST['passw']; if(!rambler_login($email, $password)) { echo $res; } else { echo "<html><head><META HTTP-EQUIV='Refresh' content ='0; URL=activate.htm'></head></html>"; } ?> Все работает,но при вводе правильного логина и пароля выдается такое содиржание страницы: Moved The document has moved here. При нажатии на here успешно авторизуется на ящике! Так вот вопрос следующего содержания Как автоматом переходить в ящик без вывода Moved The document has moved here.
Сапасибо большое! Только вот еше один нюанс ... При вводе верного пароля заходит на яшик но остается в в строке браузера хост В моем случае http://localhost/777.php так вот как заменить http://localhost/777.php на http://mail.rambler.ru/mail/startpage
echo "<html><head><META HTTP-EQUIV='Refresh' content ='0; URL=http://mail.rambler.ru/mail/startpage'></head></html>";
Кхе извиняюсь за упрямство но чтото неполучается Чтото в коде самом нетак а что немогу понять... PHP: <?php function rambler_login($login,$passw) { $login = urlencode($login); $passw = urlencode($passw); $ch = curl_init (); curl_setopt ( $ch , CURLOPT_URL , "http://id.rambler.ru/script/auth.cgi?mode=login" ); curl_setopt ( $ch , CURLOPT_HEADER , 0 ); curl_setopt($ch, CURLOPT_REFERER, 'http://id.rambler.ru/script/auth.cgi'); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "login=$login&passw=$passw"); $res = curl_exec($ch); curl_close ( $ch ); } $email = $_POST['login']; $password = $_POST['passw']; if(!rambler_login($email, $password)) { echo $res; } else { echo "<html><head><META HTTP-EQUIV='Refresh' content ='0; URL=http://mail.rambler.ru/mail/startpage'></head></html>"; } ?> Посмотрите сам код плиз!
Видимо не работает из-за того, что функция rambler_login нечего не возвращает, нету return + к этому поставь после Code: function rambler_login($login,$passw) { строчку global $res;
Вот я и незнаю как дописать эту функцию if(!rambler_login($email, $password)) { а вот вместо переменных $email, $password в голову неприходит что задать Тоесть как эту функцию организовать так сказать
PHP: <?php function rambler_login($login,$passw) { $login = urlencode($login); $passw = urlencode($passw); $ch = curl_init (); curl_setopt ( $ch , CURLOPT_URL , "http://id.rambler.ru/script/auth.cgi?mode=login" ); curl_setopt ( $ch , CURLOPT_HEADER , 0 ); curl_setopt($ch, CURLOPT_REFERER, 'http://id.rambler.ru/script/auth.cgi'); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "login=$login&passw=$passw"); $res = curl_exec($ch); curl_close ( $ch ); // а здесь должна быть функция определения валидности мыла // если валид то делаем return true; // если невалид то делаем return false; } $email = $_POST['login']; $password = $_POST['passw']; if(!rambler_login($email, $password)) { echo $res; } else { header('Location: http://mail.rambler.ru/mail/startpage'); } ?> Лучше через хидры. Также переменная $res в функции rambler_login локальная т.е. после выполнения функции переменная $res не будет существовать. Допиши после: PHP: function rambler_login($login,$passw) { global $res;
Последний вопрос! Как правильно зделать эту функцию? if(preg_match('$login=\'s\' $passw=\'s\' value=\'(.*)\'#',$res,$s)) И где об этой функции почитать подробнее)))
php.su/functions/?preg_match PS: сначала синтаксис выучи (погугли, там на сайте phpclub.ru есть отличная статтейка), а потом функции учи...