|
|
|
| У меня весь сайт состоит из одного файла index.php, но в нем несколько разделов. Выбор нужного раздела осуществляется при помощи передаче в скрипт параметра, например ol.knet.ru?linker=ShowOnimod (соответственно открывается раздел с моей RTS). Проблема в том, что у меня сессии не работают видимо из-за того, что скриптовый файл единственный (помниться, что когда-то у меня было несколько файлов - там переменная благополучно передавалась).
Сейчас функция session_start() вызывается каждый раз, а session_register() только при первом вызове страницы. Однако получается, что при обращении к другому разделу (т.е. новый вызов скрипта с другим параметром) зарегистрированная переменная теряет значение. Может я неправильно к ней обращаюсь - обращения идут внутри функций (я пробовал с GLOBAL и без - одинаково не работает). Как быть?
Отсюда же вытекает вопрос об организации счетчика посетителей, ведь не получается отследить момент с повторным открытием другого раздела страницы. Как правильно организовать счетчик? | |
|
|
|
|
|
|
|
для: Odin Kg
(18.09.2004 в 06:50)
| | Хм... вызвов в функции не должен влиять, например, следующий код работает
<?php
start();
if($_GET['linker']=='First')
{
register();
}
echo "<a href=index.php?linker=ShowBook>Гостевая книга</a><br>";
echo "<a href=index.php?linker=First>Главная страница</a><br>";
echo "test = ".$_SESSION['test'];
function start()
{
session_start();
}
function register()
{
$_SESSION['test'] = "value";
}
?>
|
Проблемы могут быть если используется вызов устаревшей функции session_register() и суперглобальный массив $_SESSION. Следует испоьзовать только либо $_SESSION, либо только session_register() наряду с включённой директивой register_globals.
PS Классный у вас ресурс, жаль не раскручен, шароварением не занимаетесь? | |
|
|
|
|
|
|
|
для: cheops
(18.09.2004 в 12:34)
| | Спасибо. Вроде через $_SESSION на моем домашнем компьютере всё работает. Правда когда попытался выложить в Инет, сервер стал выдавать мне какие-то гадости насчет сессий. Но видимо это проблема того сервера – попрошу разобраться.
Спасибо, что оценили мою работу. Кстати, мне удалось быстро создать сайт исключительно благодаря вашему форуму и учебнику по PHP. Под гостевую книгу я просто «содрал» пример с этого сайта (ну подправил немножко).
К сожалению, шароварением не занимаюсь, по крайней мере сейчас. Честно говоря, судьба этого проекта для меня пока очень туманна. Вероятнее всего, что он просто спокойно сгниет, так как игрушка с 2d-графикой у издателей считается старьём, а то, что она по играбильности тянет на Starcraft – это их волнует мало. Таким играм нужна реклама, иначе массовый пользователь просто не станет в ней разбираться. ol.knet.ru | |
|
|
|
|
|
|
|
для: Odin Kg
(18.09.2004 в 06:50)
| | Хм... а что требуется от счётчика? Если просто вывод количества посещений внизу страницы для всего сайта, тогда можно просто увеличивать его в начале index.php, если требуется статистика по каждому из разделов - вам придётся вводить отдельный файл или запись для каждого из разделов и увеличивать их в соотвествующем месте index.php. Если интересно только общая посещаемость, то можно использовать лишь одну цифру в файле или базе, увеличивая её при каждом посещении index.php или раздела. Если требуется динамика посещения во времени - придётся хранить записи для всех посещений с временными отметками (потом эти данные можно сжать, например по месяцам или неделям). | |
|
|
|
|
|
|
|
для: cheops
(18.09.2004 в 12:48)
| | Да хочу просто знать, сколько человек мою страницу посетили. У меня здесь проблема была исключительно с сессиями. Кто-то где-то в Инете выложил ссылку на мою игру, а народ стал заходить сразу на раздел download, минуя Главную страницу (а счетчик срабатывал как раз там). Вот и получилось, что счетчик посетителей показывает 3 посещения, а счетчик скачиваний игры показывает 50 download-ов.
Кстати, вот еще вопрос: можно ли как-то стандартными средствами отследить момент, что пересылка файла по download полностью завершена. А то сейчас я отслеживаю только щелчок по ссылке download, а ведь там можно и отмену нажать.
Еще вопрос. У ваших примеров очень наглядный вид – правильно происходит табулирование. Вы каким редактором пользуетесь? А то я с PHP Expert Editor намучился – он эти табуляции ставит по какому-то собственному принципу(приходиться потом пробелы руками вписывать), а мне бы хотелось, чтобы редактор осуществлял форматирование по принципу Microsoft Visual C++. | |
|
|
|
|
|
|
|
для: Odin Kg
(19.09.2004 в 16:41)
| | >Кстати, вот еще вопрос: можно ли как-то стандартными
>средствами отследить момент, что пересылка файла по download
>полностью завершена. А то сейчас я отслеживаю только щелчок
>по ссылке download, а ведь там можно и отмену нажать.
Пожалуй средствами PHP вряд ли... для этого нужен контроль над сервером.
>Еще вопрос. У ваших примеров очень наглядный вид – правильно
>происходит табулирование. Вы каким редактором пользуетесь? >осуществлял форматирование по принципу Microsoft Visual C++.
IDE-средам разработанным для PHP до VS ещё далеко... Здесь уже поднимался пару раз вопрос о редакторах, но я приличной темы не нашёл что-бы сослаться. Мы по большой части используем AceHTML 5 Pro (http://www.visicommedia.com/download/) и Far.
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=117 | |
|
|
|