[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите разобраться с авторизацией через сессии.
Larik
К примеру
session_start()
там пользователь прошел все испытания
$_SESSION['log']=$row['log'];
$_SESSION['id']=$row['ID'];
Зарегестрировали допустим.
И где-нибудь используется Привет,$_SESSION['log'] и тд и тп.
Ну тогда получается,когда зайдет другой пользователь,то эти сессии перезапишутся и теперь там будет его id и его имя.
А как сделать чтобы было много пользователей?


_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
Игорь_Vasinsky
у каждого пользователя свой id из БД - и своя сессионная переменная.

они не перезапишуться

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Larik
Вот я понимаю что должна быть своя сессионая переменная.
row лог ,ид разные в бд,они определяются компом.
А саму область в массиве я же сам должен выбрать,я выбрал
['log'] ['id'] ,и здороваюсь я соотвествено с ['log'],ведь он же 1.
А если же я разные места заведу ,как понять с кем здороваться?
Вот если что скрипт:
<?php

session_start();// вся процедура работает на сессиях. Именно в ней хранятся данные пользователя, пока он находится на сайте. Очень важно запустить их в самом начале странички!!!
include ("lang.php");
if (isset($_POST['log'])) { $log = $_POST['log']; if ($log == '') { unset($log);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную
if (isset($_POST['pas'])) { $pas=$_POST['pas']; if ($pas =='') { unset($pas);} }
//заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную
if (empty($log) or empty($pas)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
{
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
}
//если логин и пароль введены,то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести
$log = stripslashes($log);
$log = htmlspecialchars($log);
$pas = stripslashes($pas);
$pas = htmlspecialchars($password);
//удаляем лишние пробелы
$log = trim($log);
$pas = trim($pas);
// подключаемся к базе
include ("db.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь

$result = mysql_query("SELECT * FROM users WHERE log='$log'",$db); //извлекаем из базы все данные о пользователе с введенным логином
$row = mysql_fetch_array($result);

if (empty($row['pas']))
{
//если пользователя с введенным логином не существует
exit ("Извините, введённый вами login или пароль неверный.");
}
else {
//если существует, то сверяем пароли
if ($myrow['pas']==$pas) {
//если пароли совпадают, то запускаем пользователю сессию! Можете его поздравить, он вошел!
$_SESSION['log']=$row['log'];
$_SESSION['id']=$row['ID'];//эти данные очень часто используются, вот их и будет "носить с собой" вошедший пользователь

echo "Вы успешно вошли на сайт,как ". $_SESSION['log']." ! <a href='index.php'>Главная страница</a>";
}
else {
//если пароли не сошлись

exit ("Извините, введённый вами login или пароль неверный.");
}
}

?>

ну там по сути внимание только к 5 строчкам обращать надо :)

_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.