Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Убрать ошибку Use of undefined constant [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (4): « 1 [2] 3 4 »   

> Без описания
resik
Отправлено: 06 Января, 2014 - 18:42:25
Post Id



Новичок


Покинул форум
Сообщений всего: 51
Дата рег-ции: Дек. 2013  


Помог: 0 раз(а)




caballero пишет:
Цитата:
Предлагаю сделать так:

еще один грамотей не понимающий что идентификатор сессии придет всегда и поэтому проверять его бессмысленно


Я же писал:
Цитата:
Но, если честно, все равно непонятно что за лисопет вы хотите изобрести

поэтому к чему ваш бессмысленный пост я хз.

И к слову о грамотеях, которые 'глушат' ошибки @ми, лучше промолчу Радость

(Отредактировано автором: 06 Января, 2014 - 19:14:42)

 
 Top
bestbios
Отправлено: 06 Января, 2014 - 19:02:47
Post Id



Гость


Покинул форум
Сообщений всего: 75
Дата рег-ции: Сент. 2013  


Помог: 1 раз(а)




caballero пишет:
в сессии могут хранится данные никак не связанные с авторизацией а PHPSESSID придет всегда если сессии не отключены вообще на сервере


откуда PHPSESSID возьмется? вы считаете сервер сам его ставит безо всяких на то оснований со стороны PHP?
 
 Top
caballero
Отправлено: 06 Января, 2014 - 20:04:27
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
поэтому к чему ваш бессмысленный пост я хз.

а какая информативность вашего поста?

Цитата:
откуда PHPSESSID возьмется? вы считаете сервер сам его ставит безо всяких на то оснований со стороны PHP?

основания - включенный механизм сессий в PHP. Если он включен и вы им пользуетесь хотя бы на одной странице - PHP уже пошлет куку с идентификатором и она будет приходить пока не закроете браузер или явно ее не удалите.
Еще раз - есть стандартный механизм поддержки сессий и нечего туда лезть. Разрабу предоставляется $_SESSION с которым и полагается работать.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
bestbios
Отправлено: 06 Января, 2014 - 21:21:26
Post Id



Гость


Покинул форум
Сообщений всего: 75
Дата рег-ции: Сент. 2013  


Помог: 1 раз(а)




caballero пишет:
Цитата:
поэтому к чему ваш бессмысленный пост я хз.

а какая информативность вашего поста?

Цитата:
откуда PHPSESSID возьмется? вы считаете сервер сам его ставит безо всяких на то оснований со стороны PHP?

основания - включенный механизм сессий в PHP. Если он включен и вы им пользуетесь хотя бы на одной странице - PHP уже пошлет куку с идентификатором и она будет приходить пока не закроете браузер или явно ее не удалите.
Еще раз - есть стандартный механизм поддержки сессий и нечего туда лезть. Разрабу предоставляется $_SESSION с которым и полагается работать.


Юзер сделал какие-то действия, например авторизовался. За это он получает куку PHPSSID.
Далее на других страницах сайта идет проверка наличия PHPSSID, если есть, то продолжаем сессию: session_start();
Если PHPSSID у юзера отсутствует, следовательно он не авторизовывался ранее. Так зачем мне для каждого такого неавторизованного запускать сессию и в ней уже делать проверки переменных сессии? Зачем мне впустую напрягать сервер? Если проще изначально проверить наличие PHPSSID.

(Отредактировано автором: 06 Января, 2014 - 21:22:36)

 
 Top
caballero
Отправлено: 06 Января, 2014 - 22:06:50
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
Юзер сделал какие-то действия, например авторизовался. За это он получает куку PHPSSID
.

PHPSSID не имеет никакого отношения к авторизации и иметь не может.


ты и правда такой, скажем так, "интелектуал" ? Получай молотком
(Добавление)
Цитата:
Зачем мне впустую напрягать сервер?

чем напрягать?
(Добавление)
и вообще лучше завязывай с програмированием. Пойди там, бананки потаскай на базаре или типа того. Все больше пользы.

(Отредактировано автором: 06 Января, 2014 - 22:25:53)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
DelphinPRO
Отправлено: 06 Января, 2014 - 22:27:31
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




не, ну вообще-то не лишено смысла, чтобы не стартовать сессию, если она не нужна.
В php5.4 даже функцию ввели session_status
там же, в комментах, кстати, есть универсальная функция проверки "стартанутости" сессии Улыбка


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
caballero
Отправлено: 06 Января, 2014 - 22:53:28
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




если в каком то файле сессионные данные не используются тогда просто не вызывается session_start
куки с идентификатором в любом случае никто не проверяет

Функция session_status() возвращает состояние текущей сессии а не соcтояние куки с PHPSESSID

кстати в принятой ныне архитектуре с единой точкой входа сессия запускается всегда.
На сайтах написанных еще "по-дедовски" такое можно было практиковать

(Отредактировано автором: 06 Января, 2014 - 22:58:43)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
bestbios
Отправлено: 06 Января, 2014 - 23:14:56
Post Id



Гость


Покинул форум
Сообщений всего: 75
Дата рег-ции: Сент. 2013  


Помог: 1 раз(а)




caballero пишет:
Цитата:
Юзер сделал какие-то действия, например авторизовался. За это он получает куку PHPSSID
.

PHPSSID не имеет никакого отношения к авторизации и иметь не может.
ты и правда такой, скажем так, "интелектуал" ? Получай молотком


Про авторизацию было написано для примера, чтобы вам было проще понять.

Я конечно не гуру php, но по-моему нет причин чтобы не использовать сессии и PHPSSID в авторизациях. Если это совершенно неправильно, то буду рад услышать ваши доводы.

caballero пишет:

(Добавление)
Цитата:
Зачем мне впустую напрягать сервер?

чем напрягать?


Вы что, не знаете механизма работы сессий? Так я вам расскажу Улыбка
При старте сессии для каждого юзера апач создает временный файл в папке temp с идентификатором PHPSSID.
Теперь представьте какая работа предстоит серверу по созданию/удалению этих файлов если юзеров будет 100,200к,1кк

И только не надо кричать, что это все не правильно и нужно делать по другому. В данной ситуации задача поставлена именно так, как есть.

(Отредактировано автором: 06 Января, 2014 - 23:21:00)

 
 Top
caballero
Отправлено: 06 Января, 2014 - 23:28:24
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
При старте сессии для каждого юзера апач создает временный файл в папке temp с идентификатором PHPSSID.


не обязательно, может быть использован мемкеш, например или какая нибудь быстрая БД типа редиса.

Цитата:
Теперь представьте какая работа предстоит серверу по созданию/удалению этих файлов если юзеров будет 100,200к,1кк


так работают все сервера. На твоем быдлосайте может и не нужны сесии. но сервера с такой нагрузкой без сессий не работают. Просто не обходятся.

Цитата:
В данной ситуации задача поставлена именно так, как есть.

задача бессмысленная и поставлена по идиотски. Можно использовать или неиспользовать сессии но сессионную куку никто не проверяет.
Те кто так пытаются делать (не будем тыкать пальцами) приходят на форум с дебильными вопросами почему не работает.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
bestbios
Отправлено: 07 Января, 2014 - 00:54:24
Post Id



Гость


Покинул форум
Сообщений всего: 75
Дата рег-ции: Сент. 2013  


Помог: 1 раз(а)




Я так и не услышал рационального объяснения нелогичности продолжения сессии с помощью

CODE (htmlphp):
скопировать код в буфер обмена
  1.     if(isset($_REQUEST[PHPSESSID])) session_start();


Судя по манере общения, быдло здесь только одно, и это точно не я.
 
 Top
Мелкий Супермодератор
Отправлено: 07 Января, 2014 - 11:38:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




bestbios пишет:
нелогичности продолжения сессии с помощью

0) как правило, сессии работают через куки. А куки по-умолчанию в $_REQUEST не попадают.
1) упомянутый выше http://www.php.net/manual/en/fun...ssion-status.php
2) в старых версиях isset($_COOKIE[session_name()]


-----
PostgreSQL DBA
 
 Top
caballero
Отправлено: 07 Января, 2014 - 11:50:12
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
Я так и не услышал рационального объяснения нелогичности продолжения сессии с помощью

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

Мелкий
Почему то казалось что $_REQUEST это сборная $_GET,$_POST и $_COOKIE

(Отредактировано автором: 07 Января, 2014 - 11:51:09)



-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
teddy
Отправлено: 07 Января, 2014 - 11:54:20
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




caballero пишет:
Почему то казалось что $_REQUEST это сборная $_GET,$_POST и $_COOKIE

Так и есть по умолчанию
Мелкий
php.net пишет:
Ассоциативный массив (array), который по умолчанию содержит данные переменных $_GET, $_POST и $_COOKIE.

с php 5.3 появилась возможность расширять реквест

(Отредактировано автором: 07 Января, 2014 - 11:55:21)

 
 Top
Мелкий Супермодератор
Отправлено: 07 Января, 2014 - 12:15:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




caballero пишет:
Почему то казалось что $_REQUEST это сборная $_GET,$_POST и $_COOKIE

Это определяется в php.ini, директива request_order
http://nl1.php.net/manual/en/ini...ni.request-order

teddy пишет:
Так и есть по умолчанию

Так оно не есть, о чём в мануале специально указано.

teddy пишет:
с php 5.3 появилась возможность расширять реквест

Не с PHP5.3, а гораздо раньше. Но когда именно - не знаю, не заметил.


-----
PostgreSQL DBA
 
 Top
teddy
Отправлено: 07 Января, 2014 - 12:19:39
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




Мелкий
Ну как нет... с 5.3 и появился этот request order

по умолчанию реквест содержит $_GET, $_POST, $_COOKIE
http://php.net/manual/ru/reserve...bles.request.php

(Отредактировано автором: 07 Января, 2014 - 12:21:08)

 
 Top
Страниц (4): « 1 [2] 3 4 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB