Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
Дмитрий154
1 / 1 / 1
Регистрация: 09.06.2012
Сообщений: 62
#1

авторизация на сайте - PHP

08.08.2012, 00:02. Просмотров 1735. Ответов 18
Метки нет (Все метки)

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

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?php include("db_connect.php");?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link href="/css.css" rel="stylesheet" type="text/css">
<link href="/menu.css" rel="stylesheet" type="text/css">
<link href="/style.css" rel="stylesheet" type="text/css">
<link href="/reset.css" rel="stylesheet" type="text/css">
<style>
body {
    margin: 0;padding:0;min-height: 100% !important; min-width: 100% !important;
    background-image: url(http://emou.ru/style/bg0.gif);
}
</style>
<title>Minecraft server - FullCraft</title>
</head>
 
<body>
<div class='cssmenu'>
<ul>
   <li class='active'><a href='http://cabinet.fcraft.ru'><span><font face="Times New Roman" size="3">Главная</font></span></a></li>
   <li><a href='/donate.html'><span><font face="Times New Roman" size="3">Услуги</font></span></a>
   </li>
   <li><a href='/we.html'><span><font face="Times New Roman" size="3">Почему мы?</font></span></a></li>
   <li><a href='/map.html'><span><font face="Times New Roman" size="3">Карта сервера</font></span></a></li>
</ul>
</div>
</body> 
 
<body>
<div align="center" id="error">
<?php
if(isset($_POST['submit'])){ //выполняем нижеследующий код, только если нажата кнопка
if(empty($_POST['login'])){ //если переменная логина пуста или не существует
echo"Вы не ввели логин"; // выводим сообщение об ошибке
}elseif(!preg_match("/[-a-zA-Z0-9]{3,15}/", $_POST['login'])){ //если переменная не соответствует шаблону -a-zA-Z0-9
echo"Вы неправильно ввели логин"; // выводим сообщение об ошибке
}elseif(empty($_POST['password'])){ //если переменная логина пуста или не существует
echo"Вы не ввели пароль"; // выводим сообщение об ошибке
}elseif(!preg_match("/[-a-zA-Z0-9]{3,30}/", $_POST['password'])){ //если переменная не соответствует шаблону -a-zA-Z0-9
echo"Вы неправильно ввели пароль"; // выводим сообщение об ошибке
}else{
$login = $_POST['login']; //присваеваем переменную
$password = md5($_POST['password']);//присваеваем переменную и кодируем её в md5 для безопасности
$query = mysql_query("SELECT * FROM `sashok724_launcher`  WHERE `user`='$login' AND `pass`='$password'"); //отправляем запрос на выборку всего содержимого , где поле логин равно переменной $login, а поле password равно переменной $password
$user = mysql_fetch_assoc($query); 
$row = mysql_num_rows($query); // считаем количество рядов результата запроса
if($row > 0){ //если их больше 0
echo "Вы авторизировались!".$user['login'];
}else{
echo "Неправильный логин или пароль!"; // выводим сообщение об ошибке!
}
 
}
 
}
?>
<div style="width: 180px; margin: 0px auto;">    <div class="set_item">
        <div class="box14">
 
<p><div style="width: 180px; margin: 0px auto;">
<form action="" method="post" enctype="multipart/form-data">
<input name="login" value="" placeholder="Логин " type="text">
<input name="password" value="" placeholder="Пароль" type="password">
 
<div align="center"><p></p><div class="btn-group" style="width: 180px; margin: 0px auto;"><input  class="blue" id="login" name="submit" value="Войти" type="submit"><input class="blue" onclick="location = '/reg.php'" value="Регистрация" type="button"></div><p></p></p>
        </div><!-- end box7 -->
    </div><!-- end set -->
 
</form>
</div>
</body>
</html>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.08.2012, 00:02
Я подобрал для вас темы с готовыми решениями и ответами на вопрос авторизация на сайте (PHP):

Авторизация на сайте
У меня есть сайт с админ панелькой, мне надо сделать так , что бы на страницу...

Авторизация в ВК на сайте
вот код: &lt;?php class Auth_Vk{ private $code; private $token; private $uid;...

Авторизация на сайте
Новичок. Хочу сделать авторизацию на сайт - изучаю материалы и пришел к выводу,...

Авторизация на сайте
Зделал простую авторизацию, типа работает! Если что то нето подскажите,...

Авторизация на сайте
Уважаемые форумчане, подскажите пожалуйста пример скрипта который, исключает...

авторизация на сайте
Господа, приветствую! есть вопрос - на сайте есть форма авторизации. Вот кусок...

18
Shankar
22 / 22 / 7
Регистрация: 22.11.2009
Сообщений: 61
08.08.2012, 05:15 #2
замените ваш аналогичный кусок, на
PHP
1
2
3
4
if($row > 0){ //если их больше 0
echo "Вы авторизировались!".$user['login'];
$_SESSION['validuser']=$user['login'];
}
и теперь все, что планируется показываться только авторизованным пользователям, обарочивайте в
PHP
1
2
3
4
5
6
7
if(существует, не пустая, равна чему-то...$_SESSION['validuser']){
     то выводим инфу
}
else
{
     выводим сообщение, о том, что надо авторизоватья, редиректим на страницу реги.
}
п.с. существует, не пустая, равна чему-то... - это заменить на функции, isset, empty и т.д.
п.с.с не забыть где-нибудь в самом начале, прописать session_start(); и проверить, что бы кодировка файлов была UTF-8 без BOM.

Ну это самое банальное, о безопасности сессии уже потом, по ходу дела...
0
Дмитрий154
1 / 1 / 1
Регистрация: 09.06.2012
Сообщений: 62
08.08.2012, 07:21  [ТС] #3
[/PHP]

и теперь все, что планируется показываться только авторизованным пользователям, обарочивайте в
PHP
1
2
3
4
5
6
7
if(существует, не пустая, равна чему-то...$_SESSION['validuser']){
     то выводим инфу
}
else
{
     выводим сообщение, о том, что надо авторизоватья, редиректим на страницу реги.
}
Не понил как это

Добавлено через 7 минут
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php include("db_connect.php");?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link href="/css.css" rel="stylesheet" type="text/css">
<link href="/menu.css" rel="stylesheet" type="text/css">
<link href="/style.css" rel="stylesheet" type="text/css">
<link href="/reset.css" rel="stylesheet" type="text/css">
<style>
body {
    margin: 0;padding:0;min-height: 100% !important; min-width: 100% !important;
    background-image: url(http://emou.ru/style/bg0.gif);
}
</style>
<title>Minecraft server - FullCraft</title>
</head>
 
<body>
<div class='cssmenu'>
<ul>
   <li class='active'><a href='http://cabinet.fcraft.ru'><span><font face="Times New Roman" size="3">Главная</font></span></a></li>
   <li><a href='/donate.html'><span><font face="Times New Roman" size="3">Услуги</font></span></a>
   </li>
   <li><a href='/we.html'><span><font face="Times New Roman" size="3">Почему мы?</font></span></a></li>
   <li><a href='/map.html'><span><font face="Times New Roman" size="3">Карта сервера</font></span></a></li>
</ul>
</div>
</body> 
 
<body>
<div align="center" id="error">
<?php
session_start(); 
if(isset($_POST['submit'])){ //выполняем нижеследующий код, только если нажата кнопка
if(empty($_POST['login'])){ //если переменная логина пуста или не существует
echo"Вы не ввели логин"; // выводим сообщение об ошибке
}elseif(!preg_match("/[-a-zA-Z0-9]{3,15}/", $_POST['login'])){ //если переменная не соответствует шаблону -a-zA-Z0-9
echo"Вы неправильно ввели логин"; // выводим сообщение об ошибке
}elseif(empty($_POST['password'])){ //если переменная логина пуста или не существует
echo"Вы не ввели пароль"; // выводим сообщение об ошибке
}elseif(!preg_match("/[-a-zA-Z0-9]{3,30}/", $_POST['password'])){ //если переменная не соответствует шаблону -a-zA-Z0-9
echo"Вы неправильно ввели пароль"; // выводим сообщение об ошибке
}else{
$login = $_POST['login']; //присваеваем переменную
$password = md5($_POST['password']);//присваеваем переменную и кодируем её в md5 для безопасности
$query = mysql_query("SELECT * FROM `sashok724_launcher`  WHERE `user`='$login' AND `pass`='$password'"); //отправляем запрос на выборку всего содержимого , где поле логин равно переменной $login, а поле password равно переменной $password
$user = mysql_fetch_assoc($query); 
$row = mysql_num_rows($query); // считаем количество рядов результата запроса
if($row > 0){ //если их больше 0
echo "Вы авторизировались!".$user['login'];
$_SESSION['validuser']=$user['login'];
}else{
echo "Неправильный логин или пароль!"; // выводим сообщение об ошибке!
}
 
}
 
}
 
 
 
if(isset$_SESSION['validuser'])){
     то выводим инфу
}
else
{
     выводим сообщение, о том, что надо авторизоватья, редиректим на страницу реги.
}
 
?>
<div style="width: 180px; margin: 0px auto;">    <div class="set_item">
        <div class="box14">
 
<p><div style="width: 180px; margin: 0px auto;">
<form action="" method="post" enctype="multipart/form-data">
<input name="login" value="" placeholder="Логин " type="text">
<input name="password" value="" placeholder="Пароль" type="password">
 
<div align="center"><p></p><div class="btn-group" style="width: 180px; margin: 0px auto;"><input  class="blue" id="login" name="submit" value="Войти" type="submit"><input class="blue" onclick="location = '/reg.php'" value="Регистрация" type="button"></div><p></p></p>
        </div><!-- end box7 -->
    </div><!-- end set -->
 
</form>
</div>
</body>
</html>

Пишит что ошибка на 63 строке
0
Para bellum
Эксперт PHP
3946 / 2932 / 926
Регистрация: 06.01.2011
Сообщений: 8,580
08.08.2012, 07:24 #4
Цитата Сообщение от Дмитрий154 Посмотреть сообщение
Пишит что ошибка на 63 строке
После isset скобку откройте!
1
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
08.08.2012, 09:50 #5
ошибки и недочеты по ходу кода:
1. session_start() должна быть до любого вывода любой информации (заголовков) в браузер.
2. if(empty.... если поставить пробел в поле ввода - то мы спокойно пройдем дальше и застрянем уже только на регулярках. вопрос. Зачем нам по коду дальше лезть если уже на первом шаге должны были выкинуть ее? Это я к тому что сначала надо хотя бы очистить от лишних пробелов - trim() перед проверкой на пустоту.
3. я лично не понимаю зачем в логине тире. к тому же в регулярке нет ни одной проверки на то что должна быть хотя бы одна буква и т.п., т.е. вот такой логин: ---- спокойно пройдет как нормальный - а это не есть гуд
4. зачем извлекать все поля (*) если нам нужен только логин? и пишите тогда SELECT `login` ..
5. как вам уже сказали - скобка после isset не открыта

Добавлено через 2 минуты
и еще одно - независимо от того, установлена сессия или нет - мы выводим форму авторизации

Добавлено через 23 минуты
перенесите session_start() и поставьте его в самом начале скрипта, перед
Цитата Сообщение от Дмитрий154 Посмотреть сообщение
PHP
1
include("db_connect.php");
Цитата Сообщение от Дмитрий154 Посмотреть сообщение
PHP
1
if(isset($_POST['submit'])){
дальше надо хотя бы убрать лишние пробелы
PHP
1
$login = trim($_POST['login']);
и уже работать с переменной логин а не присланным значением массива $_POST
preg_match заменить на хотя бы такой
PHP
1
if(!preg_match('/^[A-z?][A-z0-9]{2,14}$/ui',$login)) ...
для пароля - тоже хватит 15 символов, незачем 30 символов (имхо)
PHP
1
2
$zaproc = sprintf("SELECT `user` FROM `sashok724_launcher`  WHERE `user`='%s' AND `pass`='%s'",mysql_real_escape_string($login),mysql_real_escape_string($password)); //отправляем запрос на выборку всего содержимого , где поле логин равно переменной $login, а поле password равно переменной $password
$query = mysql_query($query);
PHP
1
2
3
4
5
6
7
8
if(isset($_SESSION['validuser'])){
     //делаем редирект куда нам там надо, но не через header!!!
echo "<script>document.location.replace('address.php');</script>";
}
else
{
     // а сюда вставляем код формы авторизации
}
1
Дмитрий154
1 / 1 / 1
Регистрация: 09.06.2012
Сообщений: 62
08.08.2012, 10:04  [ТС] #6
Эх... не фига не получается
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
08.08.2012, 10:25 #7
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?php session_start();
include("db_connect.php");?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link href="/css.css" rel="stylesheet" type="text/css">
<link href="/menu.css" rel="stylesheet" type="text/css">
<link href="/style.css" rel="stylesheet" type="text/css">
<link href="/reset.css" rel="stylesheet" type="text/css">
<style>
body {
    margin: 0;padding:0;min-height: 100% !important; min-width: 100% !important;
    background-image: url(http://emou.ru/style/bg0.gif);
}
</style>
<title>Minecraft server - FullCraft</title>
</head>
 
<body>
<div class='cssmenu'>
<ul>
   <li class='active'><a href='http://cabinet.fcraft.ru'><span><font face="Times New Roman" size="3">Главная</font></span></a></li>
   <li><a href='/donate.html'><span><font face="Times New Roman" size="3">Услуги</font></span></a>
   </li>
   <li><a href='/we.html'><span><font face="Times New Roman" size="3">Почему мы?</font></span></a></li>
   <li><a href='/map.html'><span><font face="Times New Roman" size="3">Карта сервера</font></span></a></li>
</ul>
</div>
</body> 
 
<body>
<div align="center" id="error">
<?php
if(isset($_POST['submit'])){ //выполняем нижеследующий код, только если нажата кнопка
$login = trim($_POST['login']);
$password = trim($_POST['password']);
if(empty($login)){ //если переменная логина пуста или не существует
echo"Вы не ввели логин"; // выводим сообщение об ошибке
}elseif(!preg_match('/^[A-z?][A-z0-9]{2,14}$/ui',$login)){ //если переменная не соответствует шаблону -a-zA-Z0-9
echo"Вы неправильно ввели логин"; // выводим сообщение об ошибке
}elseif(empty($password)){ //если переменная логина пуста или не существует
echo"Вы не ввели пароль"; // выводим сообщение об ошибке
}elseif(!preg_match('/^[A-z?][A-z0-9]{2,14}$/ui',$password)){ //если переменная не соответствует шаблону -a-zA-Z0-9
echo"Вы неправильно ввели пароль"; // выводим сообщение об ошибке
}else{
$password = md5($password);//присваеваем переменную и кодируем её в md5 для безопасности
$zapros = sprintf("SELECT `user` FROM `sashok724_launcher`  WHERE `user`='%s' AND `pass`='%s'",mysql_real_escape_string($login),mysql_real_escape_string($password));
$query = mysql_query($zapros); //отправляем запрос на выборку имени юзера , где поле логин равно переменной $login, а поле password равно переменной $password
$user = mysql_fetch_assoc($query); 
$row = mysql_num_rows($query); // считаем количество рядов результата запроса
if($row > 0){ //если их больше 0
echo "Вы авторизировались!".$user['login'];
$_SESSION['validuser']=$user['login'];
}else{
echo "Неправильный логин или пароль!"; // выводим сообщение об ошибке!
}
 
}
 
}
if(isset($_SESSION['validuser'])){
     //делаем редирект куда нам там надо, но не через header!!!
echo "<script>document.location.replace('address.php');</script>"; //вместо address.php нужный адрес пишешь
}
else
{
     // а сюда вставляем код формы авторизации
?>
<div style="width: 180px; margin: 0px auto;">    <div class="set_item">
        <div class="box14">
 
<p><div style="width: 180px; margin: 0px auto;">
<form action="" method="post" enctype="multipart/form-data">
<input name="login" value="" placeholder="Логин " type="text">
<input name="password" value="" placeholder="Пароль" type="password">
 
<div align="center"><p></p><div class="btn-group" style="width: 180px; margin: 0px auto;"><input  class="blue" id="login" name="submit" value="Войти" type="submit"><input class="blue" onclick="location = '/reg.php'" value="Регистрация" type="button"></div><p></p></p>
        </div><!-- end box7 -->
    </div><!-- end set -->
 
</form>
</div>
<? } /*закрываем блок else*/ ?>
</body>
</html>
1
Дмитрий154
1 / 1 / 1
Регистрация: 09.06.2012
Сообщений: 62
08.08.2012, 10:30  [ТС] #8
Спасибо большое, поставил на сайт, http://cabinet.fcraft.ru/
Логин test пароль test
но не работает.
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
08.08.2012, 10:38 #9
Цитата Сообщение от KOPOJI Посмотреть сообщение
PHP
1
2
3
4
5
6
if($row > 0){ //если их больше 0
echo "Вы авторизировались!".$user['login'];
$_SESSION['validuser']=$user['login'];
}else{
echo "Неправильный логин или пароль!"; // выводим сообщение об ошибке!
}
а, ну правильно же. у тебя в базе поле не login а user называется
поменяй этот код на вот такой
PHP
1
2
3
4
5
6
if($row > 0){ //если их больше 0
echo "Вы авторизировались!".$user['user'];
$_SESSION['validuser']=$user['user'];
}else{
echo "Неправильный логин или пароль!"; // выводим сообщение об ошибке!
}
1
Дмитрий154
1 / 1 / 1
Регистрация: 09.06.2012
Сообщений: 62
08.08.2012, 10:41  [ТС] #10
Я Вам очень благодарен, я наверное Вам надоел?

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php session_start();
include("db_connect.php");?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link href="/css.css" rel="stylesheet" type="text/css">
<link href="/menu.css" rel="stylesheet" type="text/css">
<link href="/style.css" rel="stylesheet" type="text/css">
<link href="/reset.css" rel="stylesheet" type="text/css">
<style>
body {
    margin: 0;padding:0;min-height: 100% !important; min-width: 100% !important;
    background-image: url(http://emou.ru/style/bg0.gif);
}
</style>
<title>Minecraft server - FullCraft</title>
</head>
 
<body>
<div class='cssmenu'>
<ul>
   <li class='active'><a href='http://cabinet.fcraft.ru'><span><font face="Times New Roman" size="3">Главная</font></span></a></li>
   <li><a href='/uslugi.php'><span><font face="Times New Roman" size="3">Услуги</font></span></a>
   </li>
   <li><a href='/me.php'><span><font face="Times New Roman" size="3">Отзывы</font></span></a></li>
   <li><a href='/map.html'><span><font face="Times New Roman" size="3">Карта сервера</font></span></a></li>
</ul>
</div>
</body> 
 
<body>
<div align="center" id="error">
<?php
if(isset($_POST['submit'])){ //выполняем нижеследующий код, только если нажата кнопка
$login = trim($_POST['login']);
$password = trim($_POST['password']);
if(empty($login)){ //если переменная логина пуста или не существует
echo"Вы не ввели логин"; // выводим сообщение об ошибке
}elseif(!preg_match('/^[A-z?][A-z0-9]{2,14}$/ui',$login)){ //если переменная не соответствует шаблону -a-zA-Z0-9
echo"Вы неправильно ввели логин"; // выводим сообщение об ошибке
}elseif(empty($password)){ //если переменная логина пуста или не существует
echo"Вы не ввели пароль"; // выводим сообщение об ошибке
}elseif(!preg_match('/^[A-z?][A-z0-9]{2,14}$/ui',$password)){ //если переменная не соответствует шаблону -a-zA-Z0-9
echo"Вы неправильно ввели пароль"; // выводим сообщение об ошибке
}else{
$password = md5($password);//присваеваем переменную и кодируем её в md5 для безопасности
$zapros = sprintf("SELECT `user` FROM `sashok724_launcher`  WHERE `user`='%s' AND `pass`='%s'",mysql_real_escape_string($login),mysql_real_escape_string($password));
$query = mysql_query($zapros); //отправляем запрос на выборку имени юзера , где поле логин равно переменной $login, а поле password равно переменной $password
$user = mysql_fetch_assoc($query); 
$row = mysql_num_rows($query); // считаем количество рядов результата запроса
if($row > 0){ //если их больше 0
echo "Вы авторизировались!".$user['user'];
$_SESSION['validuser']=$user['user'];
}else{
echo "Неправильный логин или пароль!"; // выводим сообщение об ошибке!
}
}
 
}
 
}
if(isset($_SESSION['validuser'])){
     //делаем редирект куда нам там надо, но не через header!!!
echo "<script>document.location.replace('me.php');</script>"; //вместо address.php нужный адрес пишешь
}
else
{
   // а сюда вставляем код формы авторизации
?>
<div style="width: 180px; margin: 0px auto;">    <div class="set_item">
        <div class="box14">
 
<p><div style="width: 180px; margin: 0px auto;">
<form action="" method="post" enctype="multipart/form-data">
<input name="login" value="" placeholder="Логин " type="text">
<input name="password" value="" placeholder="Пароль" type="password">
 
<div align="center"><p></p><div class="btn-group" style="width: 180px; margin: 0px auto;"><input  class="blue" id="login" name="submit" value="Войти" type="submit"><input class="blue" onclick="location = '/reg.php'" value="Регистрация" type="button"></div><p></p></p>
        </div><!-- end box7 -->
    </div><!-- end set -->
 
</form>
</div>
<? } /*закрываем блок else*/ ?>
</body>
</html>
теперь пишит что ошибка на на 62 строке но там просто знак }
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
08.08.2012, 10:43 #11
сравните мой код и ваш у вас там лишняя }
1
Дмитрий154
1 / 1 / 1
Регистрация: 09.06.2012
Сообщений: 62
08.08.2012, 10:57  [ТС] #12
Урааааааааааа все работает ) Но теперь другой вопрос, как сделать кнопку выход? ну чтобы куки или как там они сбросились. и ты снова перешел на страницу регестрации?

Добавлено через 3 минуты
Если я правильно понимаю то надо создать файл наприме "logout.php". в него вставить определеный код ... . а потом где хочешь видеть кнопку выход нужно добавить

HTML5
1
<input class="blue" onclick="location = '/logout.php'" value="Выход" type="button"></div>
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
08.08.2012, 11:04 #13
зачем создавать файл, не надо.
просто делаешь ссылку рядом с приветствием вида
HTML5
1
<a href="?exit">Выход</a>
и в начале каждого скрипта после session_start() проверяешь
PHP
1
2
3
if(isset($_GET['exit'])) {
session_destroy();
}
0
Дмитрий154
1 / 1 / 1
Регистрация: 09.06.2012
Сообщений: 62
08.08.2012, 11:12  [ТС] #14
А как сделать чтобы после нажатия этой кнопки, он перекидывал на главную страничку?

И как сделать чтобы была не ссылка, а кнопка, типо этого
HTML5
1
<input class="blue" onclick="location = '/logout.php'" value="Выход" type="button"></div>
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
08.08.2012, 11:21 #15
1. зачем перекидывать на главную страницу, пускай на этой же будет.
2. кто вам мешает ссылку сделать в виде кнопки?
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<style>
#logout_link {
display: inline-block;
width: 100px;
height: 25px;
text-align: center;
text-decoration: none;
background-color: wheat;
border-radius: 5px;
color: green;
font-size: 16pt;
}
#logout_link:hover {
color: blue;
}
</style>
HTML5
1
<a href="?exit" id="logout_link">Выход</a>
Добавлено через 1 минуту
ну можешь и кнопкой в принципе..
HTML5
1
<button onclick="document.location.replace('?exit');">Выход</button>
1
Дмитрий154
1 / 1 / 1
Регистрация: 09.06.2012
Сообщений: 62
08.08.2012, 12:02  [ТС] #16
Все помогло спасибо, а вот теперь другой вопрос
Как вывести, чтобы писалось " Ваш логин &user
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
08.08.2012, 12:05 #17
PHP
1
2
3
if(isset($_SESSION['validuser'])) {
echo "Ваш логин: ".$_SESSION['validuser'];
}
0
Дмитрий154
1 / 1 / 1
Регистрация: 09.06.2012
Сообщений: 62
08.08.2012, 12:09  [ТС] #18
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php session_start();
if(isset($_GET['exit'])) {
session_destroy();
}
include("db_connect.php");?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<!--Классы-->
<link href="/css.css" rel="stylesheet" type="text/css">
<link href="/menu.css" rel="stylesheet" type="text/css">
<link href="/style.css" rel="stylesheet" type="text/css">
<link href="/reset.css" rel="stylesheet" type="text/css">
<!--Классы-->
<!--Фон сайта-->
<style>
body {
    margin: 0;padding:0;min-height: 100% !important; min-width: 100% !important;
    background-image: url(http://emou.ru/style/bg0.gif);
}
</style>
<!--Фон сайта-->
<title>Minecraft server - FullCraft</title>
</head>
 
<body>
<div class='cssmenu'>
<ul>
   <li class='active '><a href='http://cabinet.fcraft.ru'><span><font face="Times New Roman" size="3">Главная</font></span></a></li>
    <li><a href='/uslugi.php'><span><font face="Times New Roman" size="3">Услуги</font></span></a>
   </li>
  <li><a href='/me.php'><span><font face="Times New Roman" size="3">Отзывы</font></span></a></li>
   <li><a href='/map.php'><span><font face="Times New Roman" size="3">Карта сервера</font></span></a></li>
</ul>
</div>
</body> 
<?php
$_SESSION['validuser']=$user['user'];
if(isset($_SESSION['validuser'])) {
echo "Ваш логин: ".$_SESSION['validuser'];
}?>
 
<div class="btn-group" style="width: 180px; margin: 0px auto;"><button class="blue" name="submit"  onclick="document.location.replace('?exit');">Выход</button>
 
</body>
</html>
Может вставил что то не так?
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16744 / 6635 / 860
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
08.08.2012, 15:17 #19
ы. а зачем вы отображаете приветствие за пределами <body>?

Добавлено через 2 минуты
Цитата Сообщение от Дмитрий154 Посмотреть сообщение
PHP
1
$_SESSION['validuser']=$user['user'];
и вот это зачем скажите пожалуйста. вы уничтожаете сессию
необъявленная (неинициализированная) переменная = NULL
т.к. $user['user'] - не существует на этой странице, то она равна NULL
следовательно вы присваиваете $_SESSION['validuser'] Значение NULL, т.е. просто-напросто уничтожаете ее
0
08.08.2012, 15:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.08.2012, 15:17
Привет! Вот еще темы с решениями:

Авторизация на сайте
Здравствуйте. Не работает авторизация на сайте. Код с курса Жур Артур. ...

Авторизация на сайте
Здраствуйте, помогите авторизоваться на сайте с помощью библиотеки cURL. Форма...

Авторизация на сайте
Здравствуйте помогите создать авторизации на сайте с помошю сессии

Авторизация на сайте
Здравствуйте. Не могу понять почему не работает авторизация на сайте. Код с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru