[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вход и Выход
Гость_Ярослав
у меня при входе выполняется скрипт:


<?php
session_start();// вся процедура работает на сессиях. Именно в ней хранятся данные пользователя, пока он находится на сайте. Очень важно запустить их в самом начале странички!!!

if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную
if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
//заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную

if (empty($login) or empty($password)) //если пользователь не ввел логин или пароль, то выдаем ошибку и останавливаем скрипт
{
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
}
//если логин и пароль введены,то обрабатываем их, чтобы теги и скрипты не работали, мало ли что люди могут ввести
$login = stripslashes($login);
$login = htmlspecialchars($login);

$password = stripslashes($password);
$password = htmlspecialchars($password);

//удаляем лишние пробелы
$login = trim($login);
$password = trim($password);


// подключаемся к базе
include ("db.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь



$result = mysql_query("SELECT * FROM users WHERE user='$login'",$db); //извлекаем из базы все данные о пользователе с введенным логином
$myrow = mysql_fetch_array($result);
if (empty($myrow['password']))
{
//если пользователя с введенным логином не существует
exit ("Извините, введённый вами логин или пароль неверный.");
}
else {
//если существует, то сверяем пароли
if ($myrow['password']==$password) {
//если пароли совпадают, то запускаем пользователю сессию! Можете его поздравить, он вошел!
$_SESSION['login']=$myrow['login'];
$_SESSION['id']=$myrow['id'];//эти данные очень часто используются, вот их и будет "носить с собой" вошедший пользователь
echo "Вы успешно вошли на сайт! <a href='index.php'>Главная страница</a>";
}

else {
//если пароли не сошлись
exit ("Извините, введённый вами логин или пароль неверный.");
}
}

?>


А на главной странице у меня должны быть:
кнопка входа(если вы не зашли)
и выхода(если зашли)
Вот как я сделал:

<?php
if(isset($_SESSION['id']))
{
echo '<input type="button" value="Вихід" onclick=location.href=(off.php) style="position: absolute;left:1179px;top:110px;width:80px;height:33px;">';
// Здесь если пользователь авторизована информация
}
else {
echo '<form method="post" action="testreg.php">
<p style="position: absolute; left:1060px; top:26px;">Login:</p>
<input type="text" name="login" style="position: absolute; left:1100px; top:40px;">
<p style="position: absolute; left:1035px; top:66px;">Password:</p>
<input type="password" name="password" style="position: absolute; left:1100px; top:80px;">
<input type="submit" value="Log In" style="position: absolute;left:1179px;top:110px;width:80px;height:33px;">
</form>'
;
// Здесь информация гостям сайта..
}
?>

off.php убивает сессию:

<?php
session_destroy();
location.href='index.php'
?>


Если там куча ошибок то я только 5 день в php сижу :rolleyes:



Спустя 8 минут, 29 секунд (8.07.2012 - 15:16) Денис777 написал(а):
Гость_Ярослав скрипт Поппова , я тоже начал с него теперь до сих пор мучаюсь , переписывать его

Спустя 18 минут, 51 секунда (8.07.2012 - 15:35) Guest написал(а):
Цитата (Денис777 @ 8.07.2012 - 12:16)
Гость_Ярослав скрипт Поппова , я тоже начал с него теперь до сих пор мучаюсь , переписывать его

а подсказки как правильно сделать не будет а? huh.gif или хоть своего варианта unsure.gif ?

Спустя 27 секунд (8.07.2012 - 15:35) inpost написал(а):
off.php:
location.href='index.php' - нет в PHP такой функции.

Собственно фраза: "есть там много ошибок" мне непонятна. Что конкретно от нас хочешь?

Спустя 2 часа, 26 минут, 14 секунд (8.07.2012 - 18:01) PHPLIVE написал(а):
а где javascript? тут не всё ,что должно быть

Спустя 23 минуты, 22 секунды (8.07.2012 - 18:25) Денис777 написал(а):
Цитата (PHPLIVE @ 8.07.2012 - 15:01)
а где javascript? тут не всё ,что должно быть

Я не особо селен , но javascript тут вообще не к чему , человек только учиться и пытаеться написать регистрацию и авторизаию

Спустя 36 минут (8.07.2012 - 19:01) inpost написал(а):
PHPLIVE
В данном случае переадресация на JS не нужна, она делается на уровне PHP через header();
JS используется очень редко, и только в JS скриптах.

Спустя 51 минута, 22 секунды (8.07.2012 - 19:52) ИНСИ написал(а):
Тут по коду можно много чего сказать, покажу простой пример, как реализуют данный функционал:
if((isset($_POST['login'],$_POST['password'])) && ($_POST['login'] != '' && $_POST['password'] != '')) {

// Если на сервере PHP ниже 5.3 версии и включена директива "маг. ковычки" необходимо обработать через stripslashes
$row = mysql_query("
SELECT *
FROM `users`
WHERE `user` = '"
. mysql_real_escape_string($_POST['login']) . "' AND `password` = '" .mysql_real_escape_string($_POST['password']) . "'
LIMIT 1
"
);

if(mysql_num_rows($row) > 0) {

$data = mysql_fetch_assoc($row);

$_SESSION['login'] = $data['login'];
$_SESSION['id'] = $data['id'];

echo "Вы успешно вошли на сайт! <a href='index.php'>Главная страница</a>";

} else {

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

}

}
Быстрый ответ:

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