Пишу код, который должен выводить пользователю определенный код каждые 20 минут. Тоесть код выведен, проходит 5 минут, код убирается. Когда после первого вывода прошло 20 минут - код появляется снова. PHP: <?php $code=file_get_contents('code.txt'); //Получаем нужный код для вывода $ip=$_SERVER['REMOTE_ADDR']; //Получаем IP адрес пользователя ##### if(@filesize('base.txt')=='0'){ $base[]=$ip.'|'.date('U')."|\n"; echo $code; //Выводи код на страницу }else{ $base=file('base.txt'); foreach($base as $line){ $l=explode('|', $line); $ips[]=$l[0]; $times[]=$l[1]; } if(in_array($ip, $ips)){ $key=array_search($ip, $ips); $d=$times[$key]; if(date('U')>=$d + 12){ $base[$key]=$ip.'|'.date('U')."|\n"; echo $code; } }else{ $base[]=$ip.'|'.date('U')."|\n"; echo $code; } } file_put_contents('base.txt', $base); //Записываем в файл ?> Прошу помочь подправить код, а то голова с утра не соображает вообще.
PHP: <?php $Base = unserialize(file_get_contents('base.txt')); if(!array_key_exists($_SERVER['REMOTE_ADDR'], $Base)) { $Base[$_SERVER['REMOTE_ADDR']] = time(); echo 'код'; } else { if(((time() - $Base[$_SERVER['REMOTE_ADDR']])/60)%20 < 5) echo 'код'; else echo 'не код'; } file_put_contents('base.txt', serialize($Base)); так попробуй
отправляю пост с использованием сурла пас и логин скрипту логин.пхп все проходит успешно.попадаю на страницу со строкой переадресации.отправляю опять курлом запрос уже гет на главную с рефером со скрипта логин.пхп. В ответ получаю вот такой текст ”No input file specified.” сразу поясню делаеться это не для плохого чего то... Что не так? Куки вписал от старой сессии.
petryxa-mixa У меня есть скрипт он не работает так как в нем есть ошибка. Скажите что я делаю не так?
сорри я писал в предыдущем посту. Скрипт авторизации на ачате. Скрипт не стал выкладывать потому что подумал что администрация не одобрит. Выкладывать?подскажешь?
Qwert321, помимо моего поста выше, почитай еще по поводу производительности запроса "INSERT ... ON DUPLICATE KEY" тут: Уроки SQL. Сжимаем три запроса в один.
Code: POST http://forum.antichat.ru/login.php HTTP/1.1 Host: forum.antichat.ru User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2 Connection: close Referer: http://forum.antichat.ru/index.php Content-Type: application/x-www-form-urlencoded Content-Length: 137 vb_login_username=Chaak&vb_login_password=&cookieuser=1&s=&do=login&forceredirect=1&vb_login_md5password=35bf8e958cde34282ea262a2d31b6e7b Отправь данные заголовки, должно сработать
Интересный пароль ты ввёл petryxa-mixa Если мне не изменяет память, то вроде бы пароль надо хэшировать так: md5(md5($password)) update: Нет, хватает только одного md5($password)
Не чисто мд5 это на булке, если на ачате все по дефолту то мд5. Полный url вроде только для хттп прокси надо?
согласен так работает. Вот только что делать дальше? Там появляется страница с переадресацией.типа спасибо что зашли ник.если ваш браузер не поддерживает искуственной переадресации то нажите ссылку.я ее опять же нажимаю(гет способом соответственно) передовая реферрер как положе и в ответ выжу надпись пустой входной файл. Вот в этом и загвостка у меня. Я конечно понимаю что ты не эстрасен,но может кто писал такое дело или просто сталкивался. Если что то непонятно обрисовал спрашивайте.
подскажите есть например число $y = 2412518 Какой функцией мне достать оттуда (две последних цифры, если длинна переменной неизвестна ) чтобы например можно было записать так $z = 1, $m=8, $zm=18 (ну можно конечно конкатенацией $z.$m) сорри нуб сижу с книгой но чет найти не могу норм
УРА РАБОТАЕТ - просмотрит пожалуйста как работает код - вроде бы чудесно написано -если есть замечания напишите пожалуйста PHP: <?php function nomer4 ($item) { $kor= "товар"; $ok1 = "а"; $ok2 = "ов"; print($item); $item1 = substr($item, -1); //тут требуется достать 1-ю цифру $item2 = $item%100; // достаем 2 последние цифры if ($item1 == 1 and $item2 != 11) { $kor = $kor; } else { if ($item1 < 5 and $item1 > 1 and $item2 != 12 and $item2 != 13 and $item2 != 14) { $kor = $kor.$ok1; } else {$kor = $kor.$ok2;} } print ("<br>"); print ($kor); } $item = 21455541; nomer4 ($item); ?>
PHP: <?php $var = 2412518; $m = substr($var, -1); $z = substr($var, -2, 1); echo $z.$m; ?> Если длина числа (в символах) будет меньше двух, то вывалится ошибка. Если такое возможно, надо организовать проверку.
Нет, ошибка не вывалится, substr будет правильно обрабатывать такие позиции. Но на самом деле все гораздо проще, вычисляем остаток от деления на 100: PHP: $var=2412518; $sumb=$var % 100;
Автор вопроса в предыдущем посте (который сам удалил почему-то) писал, что ему нужно узнать как последнюю, так и предпоследнюю цифры по отдельности, и что вариант остатка от деления на 100 ему не подходит поэтому. Хотя это тоже можно сделать полностью с помощью математики: PHP: $var = 2412518; $z = (int)($var % 100 / 10); $m = $var % 10; echo $z.$m;
GRRRL Power На самом деле он хочет научиться получать множественную форму слов в зависимости от числа. Правда делает это через задницу.
Кстати для этих целей я как раз писал свой класс StringPluralClass с поддержкой 120 различных языков мира. Использовать его так: PHP: echo("В вашей корзине " . $count . StringPlural::Plural($count, array('заказ', 'заказа', 'заказов')) . "."); echo("На сумму " . $price . StringPlural::Plural($price, array('рубль', 'рубля', 'рублей')) . ".");