Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> авторизация, выход при закрытии браузера 
V
    Опции темы
aluk
Дата 27.3.2007, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 27.3.2007

Репутация: нет
Всего: -2



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

Добавлено @ 14:38
я думаю это можно организовать так: вобщем после авторизации идет постоянное соединение с MySQL  при закрытии браузера соединение обрывается и после того как пользователь открыл снова браузер и вставляет адрес то получается ошибка  что вследствии переадресует пользователя на страницу ввода логина, но как это все организовать и получится ли

 ! 
mishaSL
Модератор: Название темы должно отражать ее суть!



Это сообщение отредактировал(а) mishaSL - 27.3.2007, 14:40
PM MAIL ICQ   Вверх
SelenIT
Дата 27.3.2007, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



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




--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Папараццы
Дата 27.3.2007, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 475
Регистрация: 18.9.2006
Где: Баку

Репутация: нет
Всего: нет



Код

  class mysql 
 {
  var $sql_login="XXXXX";
  var $sql_passwd="XXXXXX";
  var $sql_database="XXXX";
  var $sql_host="localhost";
  var $conn_id;
  var $sql_query;
  var $sql_err;
  var $sql_res;
  function sql_connect()
  {
  $this->conn_id=mysql_connect($this->sql_host,$this->sql_login,$this->sql_passwd);
  $this->conn_log_id=mysql_connect($this->sql_host,$this->sql_login,$this->sql_passwd);
   mysql_select_db($this->sql_database);
  }
  function sql_close()
  {
   mysql_close($this->conn_id);
  }
  function sql_execute()
  {
   $this->sql_res=mysql_query($this->sql_query,$this->conn_id);
   $this->sql_err=mysql_error();
  }

    
session_start();
$ct=new mysql;
$login=$_SERVER['PHP_SELF'];
  if (isset($accesscheck)) {
  $GLOBALS['PrevUrl'] = $accesscheck;
  session_register('PrevUrl');
    }
    //tut uwe nacenajem konkretnij vvod POST s formi
  if (isset($_POST['name'])) {
  $loginUsername=$_POST['name'];
  $password=$_POST['pass'];
  $MM_fldUserAuthorization = "";
  $MM_redirectLoginSuccess = "insert.php"; //eto kuda budet napravlatj posle logina
  $MM_redirectLoginFailed = "index.php";
  $MM_redirecttoReferrer = false;
  //zaprosi na konnekt s saytom
  $ct->sql_connect();
  $LoginRS__query=sprintf("SELECT name, pass FROM users WHERE name='%s' AND pass='%s'",
    get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), get_magic_quotes_gpc() ? $password : addslashes($password)); 
  $ct->sql_query=$LoginRS__query;
  //$LoginRS = mysql_query($LoginRS__query, $dbmanagement) or die(mysql_error());
  $ct->sql_execute();
  $LoginRS=$ct->sql_res;
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
     $loginStrGroup = "";
    
    //Deklarirujem dve peremennije 
    $GLOBALS['MM_Username'] = $loginUsername;
    $GLOBALS['MM_UserGroup'] = $loginStrGroup;          

    //zaregestrirovatj dvce sistemnije peremennije v sessiju 
    session_register("MM_Username");
    session_register("MM_UserGroup");

    if (isset($_SESSION['PrevUrl']) && false) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];    
    }
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
if (isset($ct->conn_id))
 {
  $ct->sql_close(); 
 } 
 
    Эт для logina 

Код

 session_start();
  $MM_authorizedUsers = "";
  $MM_donotCheckaccess = "true";
 
 function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { 
   $isValid = False; 

  if (!empty($UserName)) { 
    $arrUsers = Explode(",", $strUsers); 
    $arrGroups = Explode(",", $strGroups); 
    if (in_array($UserName, $arrUsers)) { 
      $isValid = true; 
    } 
    if (in_array($UserGroup, $arrGroups)) { 
      $isValid = true; 
    } 
    if (($strUsers == "") && true) { 
      $isValid = true; 
    } 
  } 
  return $isValid; 
}

$MM_restrictGoTo = "index.php";
if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {   
  $MM_qsChar = "?";
  $MM_referrer = $_SERVER['PHP_SELF'];
  if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
  if (isset($QUERY_STRING) && strlen($QUERY_STRING) > 0) 
  $MM_referrer .= "?" . $QUERY_STRING;
  $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
  header("Location: ". $MM_restrictGoTo); 
  exit;
}

А эт уже на страницу для проверки...
  Просто если всё на одной странице ,надо подогнать


--------------------
/*---------------------------------------------------------------------------------*/
PM MAIL WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0675 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.