Тогда мне стоит ещё и в раздел java написать... В пока повоторюсь: Возможно ли написать на php или на Java скрипт, который бы с задержкой в N сек. собирал весь текст из окна браузера в котором открыта страница? Т.е. в одном браузере работает сам скрипт, а во втором браузере постоянно обновляется информация которую этот скрипт должен собирать (тупо копировать, как если сейчас сделать Ctrl+a и Ctrl+c)
Из первого окна с помощью JS копируешь весь текст с периодом N и отправляешь его AJAX'ом на удалённый php-скрипт, который записывает полученный текст в файл. Во втором окне задаёшь период обновления страницы из той, что сохранена на удалённом сайте.
Привет. Составлю вопрос в виде задачи: Есть php-код, который грузит страничку из mysql сервера. PHP: //1 $host = "localhost"; $user = "root"; $pass = "password"; $db = "test"; //2 $mysqlconnect = @mysql_connect($host,$user,$pass); if (!$mysqlconnect){die("<font color=\"red\">data base error!</font>");} mysql_select_db($db,$mysqlconnect); //3 $result = mysql_query("SELECT name, content FROM pages"); $row = mysql_fetch_assoc($result); echo $row['content']; Так выглядит структура таблицы: По умолчанию грузится первое, тоесть about Вопрос: Как сделать доступными все записи из базы через GET запрос, например набрав index.php?page=qwerty на странице отображалось this is qwerty ну и т.д. Заранее спасибо.
PHP: $name=фильтрация $_GET['page']; $result = mysql_query("SELECT content FROM pages WHERE name=".$name); echo $result;
PHP: <?php //1 $host = "localhost"; $user = "root"; $pass = "vertrigo"; $db = "test"; //2 $mysqlconnect = @mysql_connect($host,$user,$pass); if (!$mysqlconnect){die("<font color=\"red\">data base error!</font>");} mysql_select_db($db,$mysqlconnect); //3 $name=$_GET['page']; $result = mysql_query("SELECT content FROM pages WHERE name=".$name); echo $result; ?> Че то ничего не выходит. даже при ?page=имя
PHP: <?php //1 $host = "localhost"; $user = "root"; $pass = "vertrigo"; $db = "test"; //2 $mysqlconnect = @mysql_connect($host,$user,$pass); if (!$mysqlconnect){die("<font color=\"red\">data base error!</font>");} mysql_select_db($db,$mysqlconnect); //3 $name=$_GET['page']; $result = mysql_query("SELECT content FROM pages WHERE name='".$name."'"); $row = mysql_fetch_assoc($result); echo $row['content']; ?> Фильтрацию $name не забудь
Так сойдет? PHP: if (!preg_match([^a-zA-Z],$page)) { echo "error!"; } ну или с помощью htmlentities() ?
PHP: <?php $per = file_get_contents('links.txt'); echo "<html><head><meta http-equiv='refresh' content='0; URL=".$per[array_rand($per)]."'></head></html>"; ?> стянул в соседней теме, почиму не пашит?
если я правильно понял что ты хочешь то надо заменить строчку echo "<html><head><meta http-equiv='refresh' content='0; URL=".$per[array_rand($per)]."'></head></html>"; на echo "<html><head><meta http-equiv='refresh' content='0; URL=".array_rand($per)."'></head></html>";
Можешь сделать так: PHP: <?php $per = explode("\n",file_get_contents('links.txt')); echo "<html><head><meta http-equiv='refresh' content='0; URL=".$per[rand(0,count($per)-1)]."'></head></html>"; ?> Структура линкс.тхт такая: PHP: http://google.ru/ http://ya.ru/ http://antichat.ru/ А в твоем примере ошибка в том, что file_get_contents возвращает строку а не массив, но строка в пхп это тоже массив, поэтому скрипт редиректит по адресам состоящим из одного символа входящего в адрес. Достаточно просто разбить строку на части и загнать все в массив. Я например выбрал explode ("разделитель", $строка_для_разбиения).
и регулярка неправильная и хранить в базе уже обработанные данные функциями htmlentities() или htmlspecialchars() имхо тупость. Хотя есть любители. Опять же, зачем фильтровать данные...что ж вы за книжки по php читали....поищи в соседней теме, статью от Нерезуса про защиту от sql-иньекций. Регулярку можно сделать такой к примеру: PHP: preg_match('#^[a-z]+$#i',$page) это если хочешь чтобы только латинские буквы содержались в имени. .:nbd:. а зачем? PHP: $per = explode("\n",file_get_contents('links.txt')); ГринБир написал же про функцию file(), и не потребуется разбивать на строки PHP: $per = file('links.txt');
Ок, спорить не стану, ибо нет темы для спора =) Данным постом я не оправдывался, а лишь показал альтернативный способ. ГринБир привел один, я другой, у него конечно проще =).