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

Форум PHP

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

 

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

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

тема: Пример работы с сессией
 
 автор: Dwep   (06.06.2008 в 13:59)   письмо автору
 
 

Добрый день! Обьясните пожалуйста на примере, как работать с сесией, например для авторизации, что бы ввел пасс и логин и потом если верно то что бы через GET передавался не логин с паролем а сесия...
Вообщем на примере покажите ПЛИЗ! Желательно с коментариями :)

   
 
 автор: neokortex   (06.06.2008 в 15:13)   письмо автору
 
   для: Dwep   (06.06.2008 в 13:59)
 

как это делаю я
пользователю при входе на сайт сохраняется кука типа 1654151а565151ugh515651
при регистрации указывается логин и пароль, которые сохраняются в базу вместе с кукой
приповторном входе на сайт один из скриптов проверяет куку пользователя и сверяет с данными в базе, если находит, то пользователь получает сообщение в роде: "привет vasya_pupkin"
если не находит то просит авторизоваться
авторизация проходит так: пользователь вводит логин и пароль. Скрипт проверяет есть ли пользователь с такими логином и паролем, если находит, то просто заменяет старую куку новой (update).
Я считаю что плюс такой системы в том, что ид пользователя всегда уникально и его хрен подберешь, при этом оно постоянно меняется
А уж как это реализовывать - это все коды и по каждому пункту разбираться надо отдельно.

   
 
 автор: Dwep   (06.06.2008 в 15:27)   письмо автору
 
   для: neokortex   (06.06.2008 в 15:13)
 

а можешь кусочек кода дать? с комментариями )

   
 
 автор: SiM(R)   (06.06.2008 в 16:31)   письмо автору
 
   для: neokortex   (06.06.2008 в 15:13)
 

По-моему, Вы слегка запутались в понятиях.
Кука - это cookie
сессия - это SESSION.

   
 
 автор: Dwep   (07.06.2008 в 08:38)   письмо автору
 
   для: SiM(R)   (06.06.2008 в 16:31)
 

Мне надо примерчик сессии. Вобщем в первом посте расписано что мне надо :)

   
 
 автор: Гость   (07.06.2008 в 08:57)   письмо автору
 
   для: Dwep   (07.06.2008 в 08:38)
 

Я сегодня добрый)


<?

if (empty($_POST['Login']) || empty($_POST['pass']))
{  
// Форма для ввода логина и пароля
  
include "incl/S1.txt";
  echo (
"Введите имя и пароль");
  include 
"incl/S2.txt";
  exit;


...

$test=mysql_query("select `pass`, `id_user` FROM `users` WHERE name = '".$login."'");
$t=mysql_fetch_array($test);
if (!
$t)
{
  include 
"incl/S1.txt";
  print(
"<font color=red size=3>Неверно введенно имя или пароль</font>");
  include 
"incl/S2.txt";
  exit;
}
elseif (
$t['pass']==$pass)
// Имя и пароль совпали, созаем сессию
  
session_start();
  
$_SESSION['login'] = true
  
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; 
  
$_SESSION['id_user']=$t['id_user'];
  
header("Location: main.php");
  exit;
}
else
{
  include 
"incl/S1.txt";
  print(
"<font color=red size=3>Неверно введенно имя или пароль</font>");
  include 
"incl/S2.txt";
  exit;
}
?>

Проверка на main.ph

<?php 

session_start
();

if (empty(
$_SESSION['login'])&& $_SESSION['ip'] != $_SERVER['REMOTE_ADDR']) 

  
header("Location: index.php");
  exit;



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

   
 
 автор: Valick   (07.06.2008 в 09:01)   письмо автору
 
   для: Dwep   (07.06.2008 в 08:38)
 

Мне надо примерчик сессии
Всё что вам надо - это хорошая книга. И не думайте, что я пытаюсь вас "отфутболить". Просто различного рода примерами в данном вопросе можно скорее навредить, чем помочь. Хотя если цели научится нет, то и "непоймикемнаписаный код" тоже сойдёт :)

   
 
 автор: Valick   (07.06.2008 в 08:57)   письмо автору
 
   для: neokortex   (06.06.2008 в 15:13)
 

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

   
 
 автор: mihdan   (07.06.2008 в 10:22)   письмо автору
 
   для: Dwep   (06.06.2008 в 13:59)
 

http://softtime.ru/bookphp/help.php
http://softtime.ru/php5/index.php

Официальная документация

   
Rambler's Top100
вверх

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