Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2011, 16:29   #1
Русtam
Пользователь
 
Регистрация: 27.06.2011
Сообщений: 60
По умолчанию Непонятный счетчик

Здравствуйте, помогите разобраться в том , как работает этот скрипт (я не совсем понимаю работу сессий PHP ). В коментах скрипта отметил не понятные моменты. ЗАРАНЕЕ БОЛЬШОЕ СПАСИБО
PHP код:
<?php
session_register
('view1count'); ///для чего регистрируются эти переменные 
session_register('view2count');
session_register('view3count');
session_register('view4count');
?>
<?php
echo "<html><head><title>Счетчик посещений Web-страниц</title></head><body>";
if (isset(
$_GET['whichpage'])) {
echo 
"<b>В данный момент Вы просматриваете страницу
$_GET[whichpage].</b><br><br>\n";
$_SESSION["view".$_GET['whichpage']."count"]++;//для чего нужна эта терация
}
for (
$i 1$i <= 4$i++) {
if (isset(
$_GET['whichpage']) == $i) {
echo 
"<b><a href=\"sessions.php?".session_id()."&whichpage=$i\">
Страница 
$i</a></b>";///вот этот весь блок  тоже  не понятно зачем
нужен 
} else {
echo 
"<a href=\"sessions.php?".session_id()."&whichpage=$i\">Страница $i</a>";
}
if (!isset(
$_SESSION["view".$i."count"])) $_SESSION["view".$i."count"] = 0;
echo 
", которую Вы смотрели ".$_SESSION["view".$i."count"]." раз.<BR>\n";
}
echo 
"\n\n<br><br>\n\n";
echo 
"</body></html>";
?>
Русtam вне форума Ответить с цитированием
Старый 16.10.2011, 21:07   #2
Русtam
Пользователь
 
Регистрация: 27.06.2011
Сообщений: 60
По умолчанию

я не правильно написал вместо "терация" я хотел сказать инкремент :-)) не знаю почему я это написал я даже значение слова не знаю этого
Русtam вне форума Ответить с цитированием
Старый 17.10.2011, 00:20   #3
kirosin
Форумчанин
 
Аватар для kirosin
 
Регистрация: 15.01.2010
Сообщений: 209
По умолчанию

это не скрипт, а бред сушеного опарыша... советую этот бредокод выкинуть и не пудрить себе мозги.
почитать про сессии можно, например, тут: http://www.softtime.ru/bookphp/gl8_1.php
Все генитальное просто.
kirosin вне форума Ответить с цитированием
Старый 17.10.2011, 08:07   #4
mrgrudge
Форумчанин
 
Аватар для mrgrudge
 
Регистрация: 20.02.2010
Сообщений: 229
По умолчанию

ну без sessions.php выглядит и правда как то не совсем вразумительно....
думай как баг, действуй как баг, и ты найдешь баг )
mrgrudge вне форума Ответить с цитированием
Старый 17.10.2011, 14:04   #5
Русtam
Пользователь
 
Регистрация: 27.06.2011
Сообщений: 60
По умолчанию

Спасибо за ответы! kirosin я тоже так думаю. Я его взял из книги "PHP5 для начинающих " и не могу разобраться наверно по тому что это "бред сушеного опарыша" хотя в книге сказано что это очень простой скрипт. sessions.php-это он и есть. И Кстати в книге написано "Откройте файл в браузере и смените
страницу несколько раз.Теперь перейдите на другие страницы, а затем снова вернитесь к данному сценарию
. Количество посещений страниц сохранилось." но он ни хрена не сохраняет количество раз , (он всегда показывает что я посетил страницу 1 раз не зависимо от того сколько раз я на самом деле ее посетил )
Русtam вне форума Ответить с цитированием
Старый 19.10.2011, 05:42   #6
S-HaCK XORitY
Пользователь
 
Аватар для S-HaCK XORitY
 
Регистрация: 19.07.2011
Сообщений: 70
По умолчанию

Цитата:
Сообщение от Русtam Посмотреть сообщение
он всегда показывает что я посетил страницу 1 раз не зависимо от того сколько раз я на самом деле ее посетил )
странно у меня данный скрипт работал как надо, все инкрементил, посмотри настройки своего сервака в php.ini, а именно все что касается session
Made All in China - MAC OS...
S-HaCK XORitY вне форума Ответить с цитированием
Старый 19.10.2011, 05:51   #7
S-HaCK XORitY
Пользователь
 
Аватар для S-HaCK XORitY
 
Регистрация: 19.07.2011
Сообщений: 70
По умолчанию

PHP код:
<?php 
session_register
('view1count'); //регистрация суперглобальных переменных в массив $_SESSION
session_register('view2count'); 
session_register('view3count'); 
session_register('view4count'); 

// все это Г (то что выше) можно И НУЖНО, заменить на session_start()
?> 
<?php 
echo "<html><head><title>Счетчик посещений Web-страниц</title></head><body>"
if (isset(
$_GET['whichpage'])) { 
echo 
"<b>В данный момент Вы просматриваете страницу 
$_GET[whichpage].</b><br><br>\n"
$_SESSION["view".$_GET['whichpage']."count"]++;//инкремент посещений страницы

for (
$i 1$i <= 4$i++) { 
if (isset(
$_GET['whichpage']) == $i) { 
echo 
"<b><a href=\"sessions.php?".session_id()."&whichpage=$i\"> 
Страница 
$i</a></b>";///генерация 4х ссылок с указанием сессии и страницы в параметрах (хотя session_id() тут уже не нужен)
} else { 
echo 
"<a href=\"sessions.php?".session_id()."&whichpage=$i\">Страница $i</a>"

if (!isset(
$_SESSION["view".$i."count"])) $_SESSION["view".$i."count"] = 0
echo 
", которую Вы смотрели ".$_SESSION["view".$i."count"]." раз.<BR>\n"

echo 
"\n\n<br><br>\n\n"
echo 
"</body></html>"
?>
Made All in China - MAC OS...
S-HaCK XORitY вне форума Ответить с цитированием
Старый 19.10.2011, 14:20   #8
Русtam
Пользователь
 
Регистрация: 27.06.2011
Сообщений: 60
По умолчанию

Я использую денвер и проверял скрипт на 2 компах уже и везде одно и тоже он не инкрементирует (может ты что нибудь исправил в нем ). Да кстати (у меня браузер выдает ошибки из за того что переменные регистрируются именно так
Код:
session_register('view1count');
что тоже не понятно вроде все правильно) а менять на (session_start() не стал) хотел сделать именно так как в книге написано.
Русtam вне форума Ответить с цитированием
Старый 19.10.2011, 14:30   #9
Русtam
Пользователь
 
Регистрация: 27.06.2011
Сообщений: 60
По умолчанию

Я этот скрипт показывал преподавателю, но он тоже не понял для чего там инкремент (по тому что на его компе он тоже не работал ) и вообще этот счетчик можно было сделать проще и понятнее. Я думаю может в книги пытались максимально объяснить принцип работы сессий (а не создать грамотное приложение ).
Русtam вне форума Ответить с цитированием
Старый 20.10.2011, 13:47   #10
Русtam
Пользователь
 
Регистрация: 27.06.2011
Сообщений: 60
По умолчанию

ЭТОТ СКРИПТ ПРОСТО ДЬЯВОЛЬСКОЕ ОТРОДЬЕ , Я ПРОСТО В НЕДОУМЕНИЕ КАК ТАКОЕ ВОЗМОЖНО (Я ПРОВЕРЯЛ СКРИПТ НА 2 КОМПАХ НА ВСЕХ ДЕНВЕР СТОИТ И ОН НЕ РАБОТАЕТ НО СТОИЛО ЕГО ЗАГРУЗИТЬ НА РЕАЛЬНЫЙ ХОСТИНГ И ВДРУУУГ ОН ЗАРАБОТАЛ ) И МНЕ ПРЕПОДАВАТЕЛИ НЕ МОГУТ ОБЪЯСНИТЬ КАК ЭТО МОЖЕТ БЫТЬ "ЧУДО ГОВОРИТ" (хотя мои подозрения падают на то что в GET запросе что то не так когда через денвер пускаю )-ну или что с этим связанное но (но я не знаю что)
Русtam вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
непонятный скрипт osven JavaScript, Ajax 0 07.02.2010 06:13
непонятный баг brain-bras Общие вопросы C/C++ 4 14.10.2009 21:26
непонятный компилятор Waleriy Общие вопросы по Java, Java SE, Kotlin 2 11.12.2008 14:16
непонятный код Kostua Помощь студентам 5 27.04.2008 18:17