PHP Сессии

Статус
В этой теме нельзя размещать новые ответы.

Дэн

Постоялец
Регистрация
3 Май 2008
Сообщения
63
Реакции
8
Привет всем, я вот учу php и для развития пишу мини cms с MySql
Пишу не для продажи а так для себя, чтоб научится програмировать, и мне много моментов не понятно еще, вот например сессии, в гугле один копи паст, толкового ниче нет, а учебников внятных для начинающих я не находил (, Прошу разьяснить как правильно использовати сесии, и пояснить как их можно использовать для залогивания, и разлогивания, или дайте ссылочки на внятные ресурсы для новичков! За рание спасибо всем ;)
 
Сессии предназначены для хранения сведений о пользователях при переходах между несколькими страницами.

пример
<?
session_start();
$_SESSION['user'] = "куку";
echo 'Привет, '.$_SESSION['user']."<br>";
?>

если на любой странице можно вызвать код
Код:
echo 'Привет, '.$_SESSION['user']."<br>";
 
Суровые кодеры признают только официальный мануал: Для просмотра ссылки Войди или Зарегистрируйся

А так если вкратце и после основ, сессии на высокопосещаемых сайтах достаточно сильно грузят сервер. Лично я стараюсь информацию в сессии хранить как можно реже, если это возможно конечно (например, для гостей вообще сессии не создавать).
Данные, которые не нужно защищать от пользователя лучше хранить в куки.
И если на сайте при вызове любой страницы идет коннект к БД, то лучше сессии в БД хранить а не на диске...
Ну как-то так))
 
Суровые кодеры признают только официальный мануал: Для просмотра ссылки Войди или Зарегистрируйся
А так если вкратце и после основ, сессии на высокопосещаемых сайтах достаточно сильно грузят сервер. Лично я стараюсь информацию в сессии хранить как можно реже, если это возможно конечно (например, для гостей вообще сессии не создавать).
Данные, которые не нужно защищать от пользователя лучше хранить в куки.
И если на сайте при вызове любой страницы идет коннект к БД, то лучше сессии в БД хранить а не на диске...
Ну как-то так))

Все бы хорошо было если бы я по английски понимал тогда бы я и почитал стандартный мануал, может где есть нормальный перевод его с примерами кодов? чтоб вникнуть в смысл, а то я новичек как бы, ведь на примерах работы все лучше понимается :)
 
Вот вроде нормальный: Для просмотра ссылки Войди или Зарегистрируйся

Добавлено через 1 минуту
Но все равно советую научиться пользоваться английской версией мануала.
Это не так сложно как кажется. Нужны только базовые знания английского.
Просто в русском мануале тонны ошибок и неточностей, из-за которых потом можно часами выискивать баг (на себе проверено).
 
Вот нашел кусок кода с сессиясми, вроде работает:
PHP:
 <?php
 // URL скрипта
 $url = 'http://localhost/test/session.php';
 // Время жизни кукиша
 $duration = 1200;
  
 // Список пользователей и паролей
 $members = array(
   'Vladson'=>'123456'
 );
  
 session_start();
 if ( isset($_POST['login']) && isset($_POST['username']) && isset($_POST['password']) ) {
   $username = get_magic_quotes_gpc() ? stripslashes($_POST['username']) : $_POST['username'];
   $password = get_magic_quotes_gpc() ? stripslashes($_POST['password']) : $_POST['password'];
   if ( array_key_exists($username, $members) && $members[$username] === $password ) {
       $_SESSION['username'] = $username;
       $_SESSION['password'] = $password;
   }
   header('Location: ' . $url);
   exit;
 } elseif ( isset($_POST['logout']) ) {
   unset($_SESSION['username']);
   unset($_SESSION['password']);
   header('Location: ' . $url);
   exit;
 }
  
 $registred_user = false;
 if ( isset($_SESSION['username']) && isset($_SESSION['password']) ) {
   $username = get_magic_quotes_gpc() ? stripslashes($_SESSION['username']) : $_SESSION['username'];
   $password = get_magic_quotes_gpc() ? stripslashes($_SESSION['password']) : $_SESSION['password'];
   if ( array_key_exists($username, $members) && $members[$username] === $password ) {
       $registred_user = $username;
   }
 }
  
 ?><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <!--
   С уважением Vladson.
   http://dkflbk.nm.ru/
   E-Mail:dkflbk@nm.ru
 -->
 <html>
   <head>
     <title>test</title>
     <meta http-equiv="content-type" content="text/html; charset=windows-1251">
   </head>
   <body>
     <form action="<?=$url?>" method="post">
       <p>
 <?if(!$registred_user):?>
         Username:
         <br>
         <input type="text" name="username" value="Vladson">
         <br>
         Password:
         <br>
         <input type="password" name="password" value="123456">
         <br>
         <input type="hidden" name="login" value="true">
         <input type="submit" value="Login">
 <?endif?>
 <?if($registred_user):?>
         <input type="hidden" name="logout" value="true">
         <input type="submit" value="Logout">
 <?endif?>
       </p>
     </form>
   </body>
 </html>

Только вот мало понятно что к чему, кто может разьясните по точнее, буду очень благодарен
 
Ну это очередной говнокодец.
Не советую на такое смотреть... Лучше самому все потихоньку писать с нуля и так учиться... А не пытаться понять чужой гавнокод, имхо.

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

Но это опять же, просто пример.
 
Хороший совет, только вот я не знаю как правильно строить, ну всеравно спасибо буду искать инфу
 
Попробуйте почитать на spavkaweb.ru. Я, в свое время, с этих справочников начинал. Про сессии написано доступно и достаточно подробно.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху