Форум программистов, компьютерный форум, киберфорум
Наши страницы

PHP для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.69
Дмитрий154
1 / 1 / 0
Регистрация: 09.06.2012
Сообщений: 62
#1

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

08.08.2012, 00:02. Просмотров 1711. Ответов 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):

Авторизация на сайте - PHP
Здраствуйте, помогите авторизоваться на сайте с помощью библиотеки cURL. Форма аторизации: &lt;form action=&quot;?set=login&quot; method=&quot;post&quot;...

авторизация на сайте - PHP
Господа, приветствую! есть вопрос - на сайте есть форма авторизации. Вот кусок исходного кода &lt;form action=&quot;index.php&quot; method=&quot;post&quot;...

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

Авторизация на сайте - PHP
Здравствуйте. Не работает авторизация на сайте. Код с курса Жур Артур. Обработкич auth.php &lt;?php if($_SERVER == &quot;POST&quot;) { ...

Авторизация на сайте - PHP
Здравствуйте. Не могу понять почему не работает авторизация на сайте. Код с курса Жур Артур. if (auth_pass == &quot;&quot; || auth_pass.length &gt; 15...

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

18
Shankar
22 / 22 / 0
Регистрация: 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 / 0
Регистрация: 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
3091 / 2854 / 629
Регистрация: 06.01.2011
Сообщений: 8,340
08.08.2012, 07:24 #4
Цитата Сообщение от Дмитрий154 Посмотреть сообщение
Пишит что ошибка на 63 строке
После isset скобку откройте!
1
KOPOJI
Эксперт HTML/CSSЭксперт PHP
16702 / 6624 / 433
Регистрация: 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 / 0
Регистрация: 09.06.2012
Сообщений: 62
08.08.2012, 10:04  [ТС] #6
Эх... не фига не получается
0
KOPOJI
Эксперт HTML/CSSЭксперт PHP
16702 / 6624 / 433
Регистрация: 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 / 0
Регистрация: 09.06.2012
Сообщений: 62
08.08.2012, 10:30  [ТС] #8
Спасибо большое, поставил на сайт, http://cabinet.fcraft.ru/
Логин test пароль test
но не работает.
0
KOPOJI
Эксперт HTML/CSSЭксперт PHP
16702 / 6624 / 433
Регистрация: 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 / 0
Регистрация: 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
16702 / 6624 / 433
Регистрация: 12.06.2012
Сообщений: 19,880
Завершенные тесты: 1
08.08.2012, 10:43 #11
сравните мой код и ваш у вас там лишняя }
1
Дмитрий154
1 / 1 / 0
Регистрация: 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
16702 / 6624 / 433
Регистрация: 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 / 0
Регистрация: 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
16702 / 6624 / 433
Регистрация: 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
08.08.2012, 11:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.08.2012, 11:21
Привет! Вот еще темы с ответами:

Авторизация на сайте - PHP
Почему, если не ставить галку и войти под именем, то при закрытии браузера хрома, данные всё равно сохраняются, а в опере не сохраняются? ...

Авторизация на сайте - PHP
Подскажите, что нужно сделать, чтобы когда один пользователь при авторизации попадал на одну страницу, а другой на другую на сайте. Вот...

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

Авторизация на сайте - PHP
Друзья! Вот такая от у меня проблема. Скажу сразу, что я гуглил и внятного ответа так и не нашел. У меня есть расширение для Google...


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

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

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