Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 80
от 07.06.2005, 13:40

Администратор:Калашников О.А.
В номере:Вопросов: 5, Ответов: 17


Вопрос № 21619: Такой вопрос: Есть сайт с кусками повторяющегося на страницах html кода. Если с помощью PHP выводить в веб-страницу HTML-код , хранящийся в файлах (например,*.src) - будут ли эти .src файлы кэшироваться броузером?...
Вопрос № 21641: Здравствуйте, эксперты! Не погли бы вы привести пример регулярного выражения заменяющего теги вида [a]...[a/] на <a>...</a>. Как разбирать содержимое вида: [a href=http://site.ru]Site[/a] Расскажите, пожалуйста, о защите скриптов....
Вопрос № 21642: Привет Всем!! Вот какой у меня вопрос: как создать переменную вида $Var_XXX = blablabla; Например: $x = 4; ...... $someVar_X, (должно получится $someVar_4); ...... $x = 6; $someVar_X (Должно получится $someVar_6) и т.д...
Вопрос № 21645: Здравствуйте! У меня такой вопрос. Есть сайт, на нем регулярно выкладываю новости (о компах, софте и т.д.). Хочу сделать информер. Т.е. любой владелец сайта может зарегистрироваться, настраивает для себя вид информера - сколько новостей, как выводить...
Вопрос № 21652: Добрый день, эксперты. Не смог найти готовый ПХП скрипт.... Проблема такая - есть текстовая переменная из Х слов. Требуется обрезать эту переменную до К слов с точностью до слова (средствами ПХП). Не надо перечислять используемые функции,...

Вопрос № 21.619
Такой вопрос: Есть сайт с кусками повторяющегося на страницах html кода. Если с помощью PHP выводить в веб-страницу HTML-код , хранящийся в файлах (например,*.src) - будут ли эти .src файлы кэшироваться броузером?
Отправлен: 01.06.2005, 14:12
Вопрос задала: petr (статус: Посетитель)
Всего ответов отправлено: 4

Отвечает: nimoid
Здравствуйте, petr!
Клиент получает конечный хтмл-код независимо от того, где ты хранишь информацию и с помощью чего генерируешь страницы.
Следовательно, если кеширование не запрещено, то полученные страницы будут кешироваться.
Ответ отправил: nimoid (статус: 2-ой класс)
Отправлен: 01.06.2005, 14:50
Оценка за ответ: 4
Комментарий оценки:
Я имел ввиду не собранную из кусков конкретную страницу, а именно сами куски, которые повторяются на других страницах. Т.е. если куски кэшируются, то следующая страница открывается быстрее. А если не кэшируются, то такой подход дает только удобство при разработке, но в деле менее эффективен, чем чистый html. Если не впадлу, прокомментируйте это на 1152x864@mail.ru

Отвечает: SackTap
Здравствуйте, petr!
нет, кэшироваться они не будут. браузер получит лишь один файл index.php.
ты в index.php пишешь к примеру:
<?
include "srcs/1.src";
?>
скрипт при вызове проходит через парсер (на сервере), там вместо include подставляется файл srcs/1.src и браузер получает лишь index.php, то есть там в php можно миллион файлов включить, браузер же получит 1. в том то и вся фишка php, что браузеру не нужно обрабатывать твои скрипты. он получает готовое
Ответ отправил: SackTap (статус: 7-ой класс)
Отправлен: 01.06.2005, 17:16
Оценка за ответ: 5
Комментарий оценки:
Т.е вы говорите, что если я инклюдил несколько файлов в страницу, броузер все равно получит код "за один прием"? Если я понял неправильно, напишите мне на 1152x864@mail.ru.

Отвечает: Алексей Смуриков
Здравствуйте, petr!
Браузер будет видеть обычную html страницу и всё!
p.s. Читайте доку по PHP и особенно про интерфейс CGI!
Ответ отправил: Алексей Смуриков (статус: Студент)
Отправлен: 01.06.2005, 18:09

Отвечает: Сажин Владимир Сергеевич
Здравствуйте, petr!
src-файлы кэшироваться не будут. Кэшироваться будет html-код, содержащийся в этих файлах.
Кстати, кэширование страницы можно отключить с помощью мета-тега:
<meta http-equiv="pragma" content="no-cache">.
Он позволяет отключить кэширование в большинстве браузеров.
Ответ отправил: Сажин Владимир Сергеевич (статус: 2-ой класс)
Отправлен: 01.06.2005, 20:31


Вопрос № 21.641
Здравствуйте, эксперты!
Не погли бы вы привести пример регулярного выражения заменяющего теги вида [a]...[a/] на <a>...</a>. Как разбирать содержимое вида: [a href=http://site.ru]Site[/a]
Расскажите, пожалуйста, о защите скриптов. Какие проверки следует делать при обработке данных полученных из форм?
Заранее спасибо!
Отправлен: 01.06.2005, 23:18
Вопрос задала: 3BEPEK (статус: 3-ий класс)
Всего ответов отправлено: 1

Отвечает: Сажин Владимир Сергеевич
Здравствуйте, 3BEPEK!
1) См. аттач.
2) Во-первых нужно заменять символы < и > на < и >. Особенно в чатах, форумах, гостевых книгах.
Во-вторых, если используются бд mysql нужно заменять символы ' на '.
Пример:
mysql_query("SELECT * FROM users WHERE (login='$login')");
Если пользователь укажет логин как 'vasya произойдет глюк. А некоторые могут даже удалить базу данных (Что-то вроде "vasya'); DROP TABLE mysql").
В-третьих, если есть возможность проверять различные переменные. Например, если id пользователя - четырехзначная цифра, то можно сделать так.
if(!ereg("^[0-9]{4}$",$id))
{
print "Oops...";
}
else
{
mysql_query(...);
}
А вообще, НУЖНО проверять ВСЁ, что скрипт получает из формы.

Приложение:

Ответ отправил: Сажин Владимир Сергеевич (статус: 2-ой класс)
Отправлен: 02.06.2005, 13:22


Вопрос № 21.642
Привет Всем!! Вот какой у меня вопрос: как создать переменную вида $Var_XXX = blablabla;
Например:
$x = 4;
......
$someVar_X, (должно получится $someVar_4);
......
$x = 6;
$someVar_X (Должно получится $someVar_6)
и т.д.
Надеюсь ясно ???. Очень нужно, plz
Отправлен: 02.06.2005, 00:23
Вопрос задала: Andy r00t (статус: Посетитель)
Всего ответов отправлено: 4

Отвечает: Сажин Владимир Сергеевич
Здравствуйте, Andy r00t!
Создать такие переменные проще простого.
Пример:
$x = 4;
$var_name = "someVar_$x";
$$var_name = "bla bla";
# Теперь переменная $someVar_4 получила значение "bla bla"
print $someVar_4;
Ответ отправил: Сажин Владимир Сергеевич (статус: 2-ой класс)
Отправлен: 02.06.2005, 06:15

Отвечает: Смирных Сергей Владимирович
Здравствуйте, Andy r00t!
а зачем именно:
$x = 4;
$someVar_X, (должно получится $someVar_4);
Можно и вот так:
$x = 4;
$someVar[$x];
---------
Удачи!
---------
админ спит - зарплата капает
Ответ отправил: Смирных Сергей Владимирович (статус: 4-ый класс)
Отправлен: 02.06.2005, 07:08

Отвечает: Andrewkz
Здравствуйте, Andy r00t!
по вопросу
$x = 4;
......
$someVar_X, (должно получится $someVar_4);
так и делай
$x = 4;
......
$someVar_$x = 'blablabla'; # вот у тебя и получится переменная $someVar_$x
Вот так.
Ответ отправил: Andrewkz (статус: 2-ой класс)
Отправлен: 02.06.2005, 07:43

Отвечает: SackTap
Здравствуйте, Andy r00t!
я бы посоветовал вам использовать массивы, но если вам нужно именно так, то:
$x=4;
$sv="somevar_$x";
$$sv="bla bla bla";
Ответ отправил: SackTap (статус: 7-ой класс)
Отправлен: 02.06.2005, 08:47


Вопрос № 21.645
Здравствуйте! У меня такой вопрос. Есть сайт, на нем регулярно выкладываю новости (о компах, софте и т.д.). Хочу сделать информер. Т.е. любой владелец сайта может зарегистрироваться, настраивает для себя вид информера - сколько новостей, как выводить, шрифт и т.д. (это сделано, все настройки в базе храню), а затем размещает у себя на сайте ссылку и регулярно посетители его сайта видят информер. Вопрос, который не могу решить сам, - как прописать ссылку на сайте человека, который импортирует мои новости? Ссылка должна передавать одну переменную - это id (по id все настройки хранятся в базе). Вариант с include("news.php?id=1") не подходит, т.к. у людей, желающих разместить у себя информер, могут быть обычные html страницы. Нужен какой-то другой вариант. А какой? Подскажите, пожалуйста, как это можно реализовать? Только, если можно, то поподробнее (java-скрипт, через который это вроде бы можно реализовать совсем не знаю :(( ).
Отправлен: 02.06.2005, 02:07
Вопрос задала: sedojded (статус: Посетитель)
Всего ответов отправлено: 4

Отвечает: Сажин Владимир Сергеевич
Здравствуйте, sedojded!
В вашем случае можно использовать фреймы.
<iframe src="http://www.server.ru/news.php?id=123" scrolling="no" style=""border-style:none;" width:ШИРИНА; height:ВЫСОТА;">
Параметр scrolling="no" выключает полосы прокрутки.
Если пользователь вставит этот код на свою страничку, то у посетителей будет выводиться фрейм с содержимым странички news.php?id=123.
Ответ отправил: Сажин Владимир Сергеевич (статус: 2-ой класс)
Отправлен: 02.06.2005, 06:31

Отвечает: Andrewkz
Здравствуйте, sedojded!
Посмотри книжку по HTML ... а именно прочитай про <iframe>
Iframe - это такая вещь вроде фрейма, только разместить его можно любого размера и где угодно
Ответ отправил: Andrewkz (статус: 2-ой класс)
Отправлен: 02.06.2005, 07:47

Отвечает: SackTap
Здравствуйте, sedojded!
можно попробовать создать страницу news_js.php и с помощью нее генерировать javascript код, затем, клиент размещает у себя <script src="http://xxx.ru/news_js.php?id=x"></script>
единственный недостаток, нужно будет выводить каждую строку через document.write("");
можно конечно написать вспомогательную ф-цию (в PHP файле) типа:
function get_js ($line)
{
return "document.write('$line');";
}
удачи!
Ответ отправил: SackTap (статус: 7-ой класс)
Отправлен: 02.06.2005, 08:56

Отвечает: Евгений Неверов
Здравствуйте, sedojded!
<script language="JavaScript" src="http://www.site.ru/inform.php"></script> а файл inform.php выводит такое: document.write('здесь html-код');
Ответ отправил: Евгений Неверов (статус: 7-ой класс)
Отправлен: 04.06.2005, 18:59
Оценка за ответ: 5
Комментарий оценки:
Спасибо, все по уму!


Вопрос № 21.652
Добрый день, эксперты.
Не смог найти готовый ПХП скрипт....
Проблема такая - есть текстовая переменная из Х слов. Требуется обрезать эту переменную до К слов с точностью до слова (средствами ПХП).
Не надо перечислять используемые функции, прошу просто написать кусок кода, если у кого есть...
Заранее спасибо.
Вячеслав.
Отправлен: 02.06.2005, 09:31
Вопрос задала: Волнянский Вячеслав (статус: Посетитель)
Всего ответов отправлено: 4

Отвечает: SackTap
Здравствуйте, Волнянский Вячеслав!
Здравствуйте, Волнянский Вячеслав!
вообще вопрос не понятен... с какой стороны резать, может вообще из центра.. чем разделена?? ну вообщем вот универсальный способ...
в приложении написал функцию которая делит $str разделенную $spacer и возвращает строку длиной $count строк, в которой первое слово - это слово из первой строки под № $start
удачи! если что пишите!

Приложение:

Ответ отправил: SackTap (статус: 7-ой класс)
Отправлен: 02.06.2005, 13:33
Оценка за ответ: 5
Комментарий оценки:
СПАСИБО!
Все заработало!)))

Отвечает: Blair
Здравствуйте, Волнянский Вячеслав!
str - строка, которую нужно обрезать
str_need - обрезанная строка
k - количество нужных слов

Приложение:

Ответ отправил: Blair (статус: 1-ый класс)
Отправлен: 02.06.2005, 15:57

Отвечает: Сажин Владимир Сергеевич
Здравствуйте, Волнянский Вячеслав!
Насколько я понял, слово -- это один или несколько непробельных символов. В моем примере разделитель слов -- пробел.

Приложение:

Ответ отправил: Сажин Владимир Сергеевич (статус: 2-ой класс)
Отправлен: 02.06.2005, 17:17

Отвечает: Евгений Неверов
Здравствуйте, Волнянский Вячеслав!
$text="текст текст текст"; $words=2; strtok('d ' . $text, ' '); for ($i=1; $i<=$words; $i++) $text2.=strtok(' ');
Ответ отправил: Евгений Неверов (статус: 7-ой класс)
Отправлен: 04.06.2005, 19:01


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.phpplus
Отписаться
Вспомнить пароль

В избранное