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 :: пользователь и работа с сессиями

 PHP.SU

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


 Страниц (1): [1]   

> Без описания
LEONeso
Отправлено: 12 Ноября, 2010 - 16:20:59
Post Id



Посетитель


Покинул форум
Сообщений всего: 499
Дата рег-ции: Янв. 2010  
Откуда: Россия, Москва


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




Здравствуйте, испытываю проблемы с работой с сессиями, в частности хотел сделать
при false
инпут "логин"
инпут "пароль"
селектор"хранение сессии 15/30/60мин"
кнопка"вход"

при true
приветствие + "логин"
кнопка "выход"

ищу кто мог бы помощь решить эту делему, примеры с сессион регистр и сессион старт у меня выдают ошибки.

Подскажите, как верно начинать сессии(создавать) открывать, привязывать, закрывать по истечению промежутка времени.

Как вообще это организовывать.

session_create ? и тонна условий?

(Отредактировано автором: 12 Ноября, 2010 - 16:49:11)



-----
Для некоторых лучший способ написать что-нибудь осмысленное - это сесть _опой на клавиатуру.
 
 Top
Uchkuma
Отправлено: 12 Ноября, 2010 - 16:49:04
Post Id



Участник


Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010  
Откуда: Киров


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




Сессии в PHP - это уже читали?
 
 Top
LEONeso
Отправлено: 12 Ноября, 2010 - 16:51:07
Post Id



Посетитель


Покинул форум
Сообщений всего: 499
Дата рег-ции: Янв. 2010  
Откуда: Россия, Москва


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




Спасибо, почитаю, если возникнут вопросы, задам.


-----
Для некоторых лучший способ написать что-нибудь осмысленное - это сесть _опой на клавиатуру.
 
 Top
USB_user
Отправлено: 12 Ноября, 2010 - 16:53:10
Post Id



Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Янв. 2010  
Откуда: Киев


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




сессии создаются session_start()
а далее при переходе между страницами сохраняешь туда данные и считываешь оттуда данные
например:

$_SESSION['var_name'] = 1;

а там где тебе нужны эти значения, считываешь

$var = $_SESSION['var_name']

везде где используешь сессии прописывай в начале скрипта session_start() - если сессия есть то переменные будут браться из нее иначе она создастся.
 
 Top
LEONeso
Отправлено: 12 Ноября, 2010 - 19:15:25
Post Id



Посетитель


Покинул форум
Сообщений всего: 499
Дата рег-ции: Янв. 2010  
Откуда: Россия, Москва


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




USB_user, у меня небольшой индексный РНР файл, все запросы передаются пост или гет методом внутри файла т.е. информация заключена в if (isset($_POST/GET)) {} и выводится, только по нажатию кнопки (передача запроса). Хотел прикрутить логин форму с опционально закрывающийся сессией.

Собственно вопрос: session_start() используется в этом случае 1 раз, в начале файла? или каждый раз в if-else ?


-----
Для некоторых лучший способ написать что-нибудь осмысленное - это сесть _опой на клавиатуру.
 
 Top
LEONeso
Отправлено: 13 Ноября, 2010 - 10:07:16
Post Id



Посетитель


Покинул форум
Сообщений всего: 499
Дата рег-ции: Янв. 2010  
Откуда: Россия, Москва


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




PHP:
скопировать код в буфер обмена
  1. Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by

PHP:
скопировать код в буфер обмена
  1. Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent


session_start() использовать в самом начале страницы?

у меня:
register_globals = off

(Отредактировано автором: 13 Ноября, 2010 - 12:37:50)



-----
Для некоторых лучший способ написать что-нибудь осмысленное - это сесть _опой на клавиатуру.
 
 Top
Варяг
Отправлено: 13 Ноября, 2010 - 12:43:39
Post Id



Новичок


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


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




LEONeso session_start() нужно прописать так, чтобы пока до него код не дойдет ничего в браузер не выводилось - ни тега. а после него вывод в браузер. прописывать нужно один! раз.
 
 Top
LEONeso
Отправлено: 14 Ноября, 2010 - 01:28:44
Post Id



Посетитель


Покинул форум
Сообщений всего: 499
Дата рег-ции: Янв. 2010  
Откуда: Россия, Москва


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




У меня проблема, форма авторизации, работает, селектор пока не делал (на деструктор сессии) при перезагрузки страницы или при переходе по post/get ссылкам, сессия забывается.

возможно самой сессии так таковой и нет.

использую старт сессии в начале страницы


далее простая форма, которая проверяет 2 строки в бд
PHP:
скопировать код в буфер обмена
  1.  
  2. $query="SELECT * FROM user WHERE password='{$_POST['password']}' AND login='{$_POST['login']}' LIMIT 1";
  3. $sql=mysql_query($query) or die(mysql_error());
  4. if (mysql_num_rows($sql)==true)
  5. {
  6. $row = mysql_fetch_assoc($sql);//это Хз зачем нужно, но в примере используется
  7. echo 'Здравствуйте, '.$_SESSION['login'];
  8.  } else {
  9. echo "
  10. <input type=\"text\" name=\"login\" id=\"login\" value=\"\" maxlength=\"255\">
  11. <input type=\"text\" name=\"password\" id=\"password\" value=\"\" maxlength=\"58\">
  12. <input type=\"submit\" id=\"submit\" name=\"submit\" value=\"enter\">";
  13. }
  14.  

(Отредактировано автором: 14 Ноября, 2010 - 01:29:43)



-----
Для некоторых лучший способ написать что-нибудь осмысленное - это сесть _опой на клавиатуру.
 
 Top
LEONeso
Отправлено: 22 Ноября, 2010 - 12:10:40
Post Id



Посетитель


Покинул форум
Сообщений всего: 499
Дата рег-ции: Янв. 2010  
Откуда: Россия, Москва


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




форма авторизации и работа с сессиями - 9я строка

до сих пор не могу понять, принцип работы форм авторизаций, как они запоминают данные сессии и проверяют их, необходимо постоянно передавать post пароль и логин юзера и постоянно делать сверку с бд? или куки? ведь это все не безопасно.

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


-----
Для некоторых лучший способ написать что-нибудь осмысленное - это сесть _опой на клавиатуру.
 
 Top
Phantik
Отправлено: 22 Ноября, 2010 - 12:28:08
Post Id


Посетитель


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


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




Если вас так заботит процесс безопасной передачи логинов и паролей, то это надо копать в сторону https, сертификатов, выделенного IP и.т.д.

Сессия хранит данные по каждому пользователю пока он находится на сайте + некоторое время после (можно задать настройками).


В коде страниц, где вы хотите работать с сессиями их надо стартовать функцией session_start();

Далее если хотите что то запомнить в сессию, пишите
$_SESSION['myVariable'] = $myValue;

Далее на этой же странице или на любой другой(в этом случае необходимо вначале выполнить session_start(); ) вы можете обратиться к значению этой переменной
$myValue = $_SESSION['myVariable'];

Сессия уничтожится через какое-то время, задаваемое в настройках php.ini.

Используется в основном для хранения данных при переходе между различными страницами(скриптами). Для каждого посетителя сайта - сессия своя. Реализуется как правило через использование файлов на сервере и использование кукисов на клиенте.
 
 Top
OrmaJever Модератор
Отправлено: 22 Ноября, 2010 - 14:03:56
Post Id



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


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




Вот все пишут про авторизацию на сесиях а у меня просто с куками и всё отлично работает. И всё даже очень безопасно...


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
LEONeso
Отправлено: 22 Ноября, 2010 - 18:53:24
Post Id



Посетитель


Покинул форум
Сообщений всего: 499
Дата рег-ции: Янв. 2010  
Откуда: Россия, Москва


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




OrmaJever, шифрование? возможно привести простейший пример?


-----
Для некоторых лучший способ написать что-нибудь осмысленное - это сесть _опой на клавиатуру.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB