Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Функция intval()

Сообщения:  [1-10]   [11-15] 

 
 автор: Unkind   (27.11.2006 в 15:55)   письмо автору
 
   для: Владимир55   (27.11.2006 в 15:43)
 

$_SERVER['PHP_SELF'] - адрес текущей страницы...

   
 
 автор: Владимир55   (27.11.2006 в 15:43)   письмо автору
 
   для: _Dreamer_   (27.11.2006 в 12:13)
 

А-а, вот оно что...

И при и клике "Вперед" выполняется "<a href=\"".$_SERVER['PHP_SELF']."?page=".($page+1)."\"</a>";

А здесь $_SERVER['PHP_SELF'] что делает?

   
 
 автор: _Dreamer_   (27.11.2006 в 12:13)   письмо автору
 
   для: Владимир55   (27.11.2006 в 12:05)
 

вы ошибаетесь, url есть всегда, на вашем домашнем компьютере стоит локальный сервер, вы заходите в браузер пишите что то вроде http://localhost/showbook.php?page=2, это как раз и есть url, где передается номер страницы (page=2)..
насчет алгоритма работы я писал во втором посте, только между вторым и третим пнктом для большей ясности можно добавить ещё один

3.1 $pages=explode("----##----", chunk_split($text, $len, "----##----"));

в это строке весь текст книги который находится в переменной текст разбивается на массив, каждым элементом которого является страница.. как я понял странички отделяются с помощью контрукции "----##----" в тексте... таким образом на выходе мы имеем массив $pages каждый элемент которого -- отдельная страница... эту страницу выводим с помощью

echo $pages[$page]; //выводим текущую страницу

   
 
 автор: Trianon   (27.11.2006 в 12:13)   письмо автору
 
   для: Владимир55   (27.11.2006 в 12:05)
 

Без вышеуказанной строки не работает строка

echo $pages[$page]; //выводим текущую страницу

поскольку переменная $page оказывается незаданной.
intval в данном контексте нужно рассматривать как нечто, что делает из строки число. Поскольку страницы в массиве проиндексированы числами, это вполне оправданно.

   
 
 автор: Владимир55   (27.11.2006 в 12:05)   письмо автору
 
   для: XPraptor   (27.11.2006 в 01:16)
 

Вы читать умеете? Я спрашиваю: "И по какому алгоритму в этом скрипте происходит перебор страниц?".

Этот скрипт связан с разбиением текста на части, он стоит на моем домашнем компьютере и никаким хакерам недоступен, нет у него и урла. Я спрашиваю про алгоритм работы, а Вы рассказываете неизвестно про что. Так что еще неизвестно, кто из нас тупой.

   
 
 автор: XPraptor   (27.11.2006 в 01:16)   письмо автору
 
   для: Владимир55   (27.11.2006 в 01:10)
 

[поправлено модератором]

   
 
 автор: Владимир55   (27.11.2006 в 01:10)   письмо автору
 
   для: XPraptor   (27.11.2006 в 00:30)
 

[поправлено модератором]

   
 
 автор: XPraptor   (27.11.2006 в 00:30)   письмо автору
 
   для: Владимир55   (27.11.2006 в 00:13)
 

Суперглобальный массив $_GET содержит все переменные, переданные в строке URL после символа ? (вопросительного знака).
В коде передается номер страницы в url http://www.site.ru/index.php?page=1, так вот $_GET["page"] это и есть значение переменной page которое в моем примере рано 1.
Но хакер тоже не лыком шит и что ему мешает передать в переменную page текст http://www.site.ru/index.php?page='delete from users' а ты возмешь да неглядя выполниш переменную где нить. поэтому и применяется функция intval() которая оставит только целое число от переменной, в результате примера с запросом от хакера, переменная будет равна 0, потому что никаких цифр нет в строке 'delete from users'.

[поправлено модератором]

   
 
 автор: Владимир55   (27.11.2006 в 00:13)   письмо автору
 
   для: Drago   (27.11.2006 в 00:06)
 

Свойства integer - это единственное, что я и сам прекрасно знаю. Мои вопросы о другом - я их сформулировал выше.

   
 
 автор: Drago   (27.11.2006 в 00:06)   письмо автору
 
   для: Владимир55   (26.11.2006 в 21:27)
 

Функция intval() возвращает переменную типа integer. В этом коде, она применена для того, чтобы исключить некорректные данные переданные переменной $_GET['page']. То есть, после применения intval(), переменная $page всегда будет целым числом.

   

Сообщения:  [1-10]   [11-15] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования