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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: ваше мнение по поводу session_start();
 
 автор: vorobey   (16.04.2010 в 21:26)   письмо автору
 
 

Есть 3 файла
1. index.php там форма mail pass - отправляет $_POST на второй файл (2)
2. form.php тут проверяются данные и если все ок то человек остается на form.php(если нет то говорит что нету такого в базе и...)
в form.php имеется форма для подготовки отправки данных на третий файл (add.php)
3. add.php Здесь заносится все в базу и редиректится на form.php(2).
Но в файле 2(form.php) проверка пост данных на наличие (mail pass).

Хочу реализовать сессией.

    session_start();
if (isset ($pass))$_SESSION['pass'] =$pass;
if (isset ($mail))$_SESSION['mail'] =$mail;


так делать можно или это не правильно в этом случае вообще сессию использовать?
ps mail и pass в базе в ручном режиме вводится.
и скажите если session_start(); не удалять session_destroy() она будет жить вечно или сама со временем исчезнет ?

pps сделал так:

session_start();
 echo "<pre>"; print_r($_SESSION);echo "</pre>";

 include('./engine/header.php');

 if (isset($_POST['pass']))  {$pass=$_POST['pass'];  if($pass=='')   {unset($pass);}}
 if (isset($_POST['mail']))   {$mail=$_POST['mail'];    if($mail=='')    {unset($mail);}}    


if (isset($_SESSION[arr][0])) {$pass=$_SESSION[arr][0];}
if (isset($_SESSION[arr][1])) {$mail=$_SESSION[arr][1];}

  $arr = array($pass, $mail);
  $_SESSION['arr'] = $arr;

все работает.
Вопрос такой. Если зайдут два пользователя, для них сесии разные или одинковые?

  Ответить  
 
 автор: mihdan   (17.04.2010 в 01:02)   письмо автору
 
   для: vorobey   (16.04.2010 в 21:26)
 

Как насчет register_globals = off ???

  Ответить  
 
 автор: neadekvat   (17.04.2010 в 01:19)   письмо автору
 
   для: mihdan   (17.04.2010 в 01:02)
 

И причем тут это, я не понимаю?..

  Ответить  
 
 автор: neadekvat   (17.04.2010 в 01:19)   письмо автору
 
   для: vorobey   (16.04.2010 в 21:26)
 

Либо я чето не понял, либо тут нафиг сессии не нужны.
Просто передаете из формы на страницу данные - это методы GET или POST (если присутствует пароль, то POST предпочтительнее, естессно).

Но про сессии все же почитайте, как раз тут в соседней теме ссылку оставил

  Ответить  
 
 автор: vorobey   (17.04.2010 в 01:29)   письмо автору
 
   для: neadekvat   (17.04.2010 в 01:19)
 

После записи данных в 3 файле (add.php) скрипт останавливается и пишет поздравляю.
далее идет редирект опять на страницу отправки даннх(но для каждого своя страница) так как add.php не может передать $_POST(передать конечно можно сделать но мне кажется гонять логин и пароль по формам туда-сюда это бред) поэтому имейл(пароль) и пасс в сессии.

  Ответить  
 
 автор: neadekvat   (17.04.2010 в 01:33)   письмо автору
 
   для: vorobey   (17.04.2010 в 01:29)
 

> поэтому имейл(пароль) и пасс в сессии.
И как это понять?

Так, ну если по кругу людей гонять собрались.. Сколько кругов и с каким промежутком времени? Если подразумевается, что за раз прошел сотню кругов и ушел с сайт - тогда сессии (причем не вижу смысла хранить пароль, да и как-то небезопасно это), а если на долгий срок - то тут уже куки надо вешать, а в бд заводить табличку с идентификаторами (не обязательно стандартными - можно свои хэши мутить и вообще много чего..).
В любом случаи вам стоит почитать об этих вещах - на куках и сессиях очень много дыр образуется в безопасности, так что вам быть читать просто =)

  Ответить  
 
 автор: vorobey   (17.04.2010 в 01:43)   письмо автору
 
   для: neadekvat   (17.04.2010 в 01:33)
 

ну неправильно выразился ) . имейл - это лгин. Извиняюсь дезориентировал.
там просто форма заказа и человек заходя вводит мыло и пароль - делает заказ - заказ добавляется -
далее переходит обратно на форму заказов(в этой же форме внизу появляется его толькочто сделанный заказ, посмотреть можно) если захотел сделал еще заказ ...

по типу как webkiosk.com.ua (только тут кипером логинется) заказы свои можно смотреть сколько угодно клац.. клац...
а если вышел на главну то гуд бай.

  Ответить  
 
 автор: neadekvat   (17.04.2010 в 08:17)   письмо автору
 
   для: vorobey   (17.04.2010 в 01:43)
 

Ну вам прямо надо везде подтвердить все? =) Очевидно, что здесь проще сессией будет, если надо пользователя гонять по страницам, сохраняя его данные.
Но ни в коем случаи пароль хранить в сессии не надо - об этом я уже выше написал

  Ответить  
 
 автор: vorobey   (17.04.2010 в 11:35)   письмо автору
 
   для: neadekvat   (17.04.2010 в 08:17)
 

>Очевидно, что здесь проще сессией будет
Проще как? Помоему проще сессий некуда.
>если надо пользователя гонять по страницам, сохраняя его данные.
зачем гонять? просто возвратить для его-же удобства(для пользователя страниц всего 2)
>Но ни в коем случаи пароль хранить в сессии не надо
А как быть тогда ? Или вы имели ввиду только md5 хранить можно?

  Ответить  
 
 автор: neadekvat   (17.04.2010 в 12:03)   письмо автору
 
   для: vorobey   (17.04.2010 в 11:35)
 

> Проще как? Помоему проще сессий некуда.
Вы считаете, что ваша ситуация - единственная возможная? Существует бесчиленное множество задач, и для каждой есть свое наиболее оптимальное решение. В вашем случаи вы его уже нашли еще до создания темы.

> А как быть тогда ? Или вы имели ввиду только md5 хранить можно?
Нет

  Ответить  
Rambler's Top100
вверх

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