<?
//Передача сессии (Если нет сессии, то создание сессии)
session_start();
//Создаем условие
if(!$_POST['do']){
//Описываем интерфейс формы
echo '
<h1><center><i>Добро пожаловать в базу дипломных работ</i></center></h1>
<img src="catalog.gif" alt="Colledg logo" border=0
align=right height = 202 width = 236>
<h3><p>Для продолжения работы введите логин и пароль!</p></h3>
<h4><form name="1" action="" method="post">
Логин:
<input name="login" type="text" value=""> <br/>
<p>Пароль:
<input name="password" type="password" value=""> <br/></p></h4>
<input name="do" type="submit" value="Войти">
</form>';
}
//Выполняем подключение к базе MySQL
else {
$db=new mysqli('localhost','root','','DataBase');
//Если кнопка нажата
//Проверяем данные
$login = $_POST['login'];
$upass = $_POST['password'];
$fio = $_POST['FIO'];
if($login !='' AND $upass !='') {
//Создаем запрос
$gg="SELECT * FROM users WHERE login='".$login."' AND password='".md5($upass)."'";
$q1=$db->query($gg);
$r = $q1->num_rows;
//Проверяем существует ли хоть одна запись
if($r==1) {
//Если есть, то создаем сессии и перенаправляем на эту страницу
$row =$q1->fetch_assoc();
$_SESSION['user'] = $row['login'];
$_SESSION['password'] = $row['password'];
$_SESSION['FIO'] = $row['FIO'];
//переход на главную форму
Header("Location: _index.php");
}
//Проверяем условие
else {echo 'Неверный логин/пароль.<p> Возможно Ваш аккаунт не активирован';}
}
//Проверяем условие
else {echo 'Введите данные';}
}
?>
Проблема в том что сообщение "неверный логин/пароль" и "введите данные" открываются в новом окне, а надо чтоб отображались на этой форме.
Спустя 8 минут, 38 секунд (24.12.2009 - 20:09) Stuff_f написал(а):
мда уж, весь скрипт, , как бы так сказать, что бы не обидить!!! требует до роботки, если ты не хочешь чтобы его развалили, интересная у тебя проверка, на ввод данных, если логин и пароль не пустые, мда знаешь можно ввести туда
и что тогда произойдет??? когда чел зайдет по такому логину??? остается только догадываться, сделай проверку строгую на сайте, т.е,
Имя и фамилия пользователя могут состоять из букв (но не из чисел), а также содержать апостроф, дефис или пробел. И трудно представить фамилию, состоящую более чем из 60 символов. Исходя из этого, для проверки фамилии можно использовать следующее регулярное выражение:
^[A-Za-z` -] {1, 60} $
В почтовом адресе могут содержаться: точка, запятая, косая черта ( / ). Значит для проверки подойдёт такой шаблон:
^[0-9A-Za-z`.,/ -] {1, 90} $
Строка username может состоять из чисел, букв, точки, символов подчёркивания и дефиса. Имя домена является набором строк, разделённых точкой, который обязательно должен завершаться доменным именем первого уровня. Таким образом, адрес электронной почты будет определяться следующим регулярным выражением:
^[_.0-9a-zA-Z-] +@ ([0-9a-zA-Z] [0-9a-zA-Z-] * .) + [a-zA-Z] {2, 4} $
<?
$h=system('ls -la');
echo $h;
?>
и что тогда произойдет??? когда чел зайдет по такому логину??? остается только догадываться, сделай проверку строгую на сайте, т.е,
Имя и фамилия пользователя могут состоять из букв (но не из чисел), а также содержать апостроф, дефис или пробел. И трудно представить фамилию, состоящую более чем из 60 символов. Исходя из этого, для проверки фамилии можно использовать следующее регулярное выражение:
^[A-Za-z` -] {1, 60} $
В почтовом адресе могут содержаться: точка, запятая, косая черта ( / ). Значит для проверки подойдёт такой шаблон:
^[0-9A-Za-z`.,/ -] {1, 90} $
Строка username может состоять из чисел, букв, точки, символов подчёркивания и дефиса. Имя домена является набором строк, разделённых точкой, который обязательно должен завершаться доменным именем первого уровня. Таким образом, адрес электронной почты будет определяться следующим регулярным выражением:
^[_.0-9a-zA-Z-] +@ ([0-9a-zA-Z] [0-9a-zA-Z-] * .) + [a-zA-Z] {2, 4} $
Спустя 4 минуты, 18 секунд (24.12.2009 - 20:13) Stuff_f написал(а):
если у тебя этот скрипт находится в файле _index.php.
то понятно почему она открывается сообщение неверный логин/пароль" и "введите данные" в новом окне,
то понятно почему она открывается сообщение неверный логин/пароль" и "введите данные" в новом окне,
//переход на главную форму
------->>>>Header("Location: _index.php");
}
//Проверяем условие
срабатывает после перехода на главную страницу ----> else {echo 'Неверный логин/пароль.<p> Возможно Ваш аккаунт не активирован';
}
Спустя 26 секунд (24.12.2009 - 20:13) qpayct написал(а):
ссылай на ту страницу, куда надо, а потом редиректь через промежуток времени (допустим 5 сек.)
<META HTTP-EQUIV="Refresh" CONTENT="5; URL=куда_перейти">
Спустя 1 минута (24.12.2009 - 20:14) Stuff_f написал(а):
qpayct
полностью согласен стобой но скрипт нужно переделать или я не прав?
полностью согласен стобой но скрипт нужно переделать или я не прав?
Спустя 36 минут, 36 секунд (24.12.2009 - 20:51) vox1k написал(а):
1. у меня сайт локальный, и не требует такой мощной защиты.
2. подскажите ответ на мой вопрос.
3. если можно с примером.
ЗАРАНЕЕ БЛАГОДАРЕН!!!
2. подскажите ответ на мой вопрос.
3. если можно с примером.
ЗАРАНЕЕ БЛАГОДАРЕН!!!
Спустя 3 минуты, 28 секунд (24.12.2009 - 20:54) Stuff_f написал(а):
а тебе уже подсказали читай выше убери Header
Спустя 5 минут, 58 секунд (24.12.2009 - 21:00) qpayct написал(а):
Цитата (Stuff_f @ 24.12.2009 - 19:14) |
qpayct полностью согласен стобой но скрипт нужно переделать или я не прав? |
автор видимо считает, что ты не прав
молодость зелена
Спустя 4 минуты, 58 секунд (24.12.2009 - 21:05) vox1k написал(а):
не помогает!
Спустя 7 минут, 52 секунды (24.12.2009 - 21:13) qpayct написал(а):
а форма твоя куда ссылается? action=""
Спустя 1 минута, 40 секунд (24.12.2009 - 21:15) vox1k написал(а):
поставил ссылку на эту же форму!
Спустя 6 минут, 5 секунд (24.12.2009 - 21:21) qpayct написал(а):
и Header("Location: _index.php"); убрал?
Спустя 3 минуты, 22 секунды (24.12.2009 - 21:24) vox1k написал(а):
Да. В том то и дело.
Спустя 4 минуты, 6 секунд (24.12.2009 - 21:28) qpayct написал(а):
код класса в студию
Спустя 6 минут, 4 секунды (24.12.2009 - 21:35) vox1k написал(а):
???????
Спустя 3 минуты, 21 секунда (24.12.2009 - 21:38) qpayct написал(а):
$db=new mysqli('localhost','root','','DataBase');
Спустя 8 минут, 52 секунды (24.12.2009 - 21:47) vox1k написал(а):
но как он у меня без Header("Location: _index.php"); будет переходить на главную форму
Спустя 1 минута, 56 секунд (24.12.2009 - 21:49) Stuff_f написал(а):
исправь
на
все будет ок
if(!$_POST['do']){
на
if (isset($_POST['do']))
{
все будет ок
Спустя 2 минуты, 51 секунда (24.12.2009 - 21:52) Stuff_f написал(а):
а переход вместо header вставь
<META HTTP-EQUIV="Refresh" CONTENT="5; URL=_index.php">
Спустя 9 минут, 36 секунд (24.12.2009 - 22:01) vox1k написал(а):
у меня теперь на страничке отображается только "введите данные"!!!
Спустя 2 минуты, 42 секунды (24.12.2009 - 22:04) Stuff_f написал(а):
после чего такое?
Спустя 40 секунд (24.12.2009 - 22:04) vox1k написал(а):
не знаю. все сделал правильно.
Спустя 3 минуты, 14 секунд (24.12.2009 - 22:08) Stuff_f написал(а):
вда сейчас пере праверю
намученное все
намученное все
Спустя 1 минута, 42 секунды (24.12.2009 - 22:09) vox1k написал(а):
спасиб тебе!!!
Спустя 14 минут, 40 секунд (24.12.2009 - 22:24) Stuff_f написал(а):
короче я хз потому что я ну под 40% во..й
ну что то типо того
переправеряй
ну что то типо того
<?
$html=<<< HTML
<h1><center><i>Добро пожаловать в базу дипломных работ</i></center></h1>
<img src="catalog.gif" alt="Colledg logo" border=0
align=right height = 202 width = 236>
<h3><p>Для продолжения работы введите логин и пароль!</p></h3>
<h4><form name="1" action="" method="POST">
Логин:
<input name="login" type="text" value="" style="border-top:1px solid; border-bottom:1px solid ;border-left:1px solid;border-right:1px solid;"> <br/>
<p>Пароль:
<input name="password" type="password" value="" style="border-top:1px solid; border-bottom:1px solid ;border-left:1px solid;border-right:1px solid;"> <br/></p></h4>
<input name="do" type="submit" value="Войти" style="border-top:1px solid; border-bottom:1px solid ;border-left:1px solid;border-right:1px solid;">
</form>
HTML;
echo $html;
if(isset($_POST['do']))
{
$db=mysql_connect('localhost','root','','DataBase');
$login = $_POST['login'];
$upass = $_POST['password'];
$fio = $_POST['FIO'];
if($login =="" && $upass == "")
{
echo "Введите данные";
}else{
$gg="SELECT * FROM users WHERE login='".$login."' AND password='".md5($upass)."'";
$q1=$db->query($gg);
$r = $q1->num_rows;
if($r==1) {
//Если есть, то создаем сессии и перенаправляем на эту страницу
$row =$q1->fetch_assoc();
$_SESSION['user'] = $row['login'];
$_SESSION['password'] = $row['password'];
$_SESSION['FIO'] = $row['FIO'];
header("location:_index.php");
exit;
echo "Неверный логин/пароль.<p> Возможно Ваш акаунт не активирован";
}
}
}else
{
}
переправеряй
Спустя 5 минут, 37 секунд (24.12.2009 - 22:30) vox1k написал(а):
1. Если ничего не ввожу то ничего не происходит - страничка обновляется
2. Если ввожу кривые логин/пароль выдает ошибку
Fatal error: Call to a member function query() on a non-object in index.php on line 26
3. Ввожу все правильно он не переходит на главную форму
2. Если ввожу кривые логин/пароль выдает ошибку
Fatal error: Call to a member function query() on a non-object in index.php on line 26
3. Ввожу все правильно он не переходит на главную форму
Спустя 9 минут, 3 секунды (24.12.2009 - 22:39) Stuff_f написал(а):
переправеряй тот код который я дал я просто отредактировал тотже скрипт
что бы не спамить форум
что бы не спамить форум
Спустя 2 минуты, 2 секунды (24.12.2009 - 22:41) Stuff_f написал(а):
<?
$html=<<< HTML
<h1><center><i>Добро пожаловать в базу дипломных работ</i></center></h1>
<img src="catalog.gif" alt="Colledg logo" border=0
align=right height = 202 width = 236>
<h3><p>Для продолжения работы введите логин и пароль!</p></h3>
<h4><form name="1" action="" method="POST">
Логин:
<input name="login" type="text" value="" style="border-top:1px solid; border-bottom:1px solid ;border-left:1px solid;border-right:1px solid;"> <br/>
<p>Пароль:
<input name="password" type="password" value="" style="border-top:1px solid; border-bottom:1px solid ;border-left:1px solid;border-right:1px solid;"> <br/></p></h4>
<input name="do" type="submit" value="Войти" style="border-top:1px solid; border-bottom:1px solid ;border-left:1px solid;border-right:1px solid;">
</form>
HTML;
echo $html;
if(isset($_POST['do']))
{
$db=mysql_connect('localhost','root','','DataBase');
$login = $_POST['login'];
$upass = $_POST['password'];
$fio = $_POST['FIO'];
if($login =="" && $upass == "")
{
echo "Введите данные";
}else{
$gg="SELECT * FROM users WHERE login='".$login."' AND password='".md5($upass)."'";
$q1=$db->query($gg);
$r = $q1->num_rows;
if($r==1) {
//Если есть, то создаем сессии и перенаправляем на эту страницу
$row =$q1->fetch_assoc();
$_SESSION['user'] = $row['login'];
$_SESSION['password'] = $row['password'];
$_SESSION['FIO'] = $row['FIO'];
header("location:_index.php");
exit;
}
}
}else
{
echo "Неверный логин/пароль.<p> Возможно Ваш акаунт не активирован";
}
Спустя 10 минут, 34 секунды (24.12.2009 - 22:51) Stuff_f написал(а):
ну ?
Спустя 2 минуты, 56 секунд (24.12.2009 - 22:54) vox1k написал(а):
выдает ошибку. там все вроде правильно.
Fatal error: Call to a member function query() on a non-object in D:\home\localhost\www\1k\DataBase\index.php on line 30
Fatal error: Call to a member function query() on a non-object in D:\home\localhost\www\1k\DataBase\index.php on line 30
Спустя 4 минуты, 30 секунд (24.12.2009 - 22:59) Stuff_f написал(а):
попробуй
сделай так перенеси
echo "Введите данные";
}else{
сюда --->>>>$db=mysql_connect('localhost','root','','DataBase');
$gg="SELECT * FROM users WHERE login='".$login."' AND password='".md5($upass)."'";
$q1=$db->query($gg);
$r = $q1->num_rows;
--->>>>$db=mysql_connect('localhost','root','','DataBase');
сделай так перенеси
echo "Введите данные";
}else{
сюда --->>>>$db=mysql_connect('localhost','root','','DataBase');
$gg="SELECT * FROM users WHERE login='".$login."' AND password='".md5($upass)."'";
$q1=$db->query($gg);
$r = $q1->num_rows;
Спустя 19 минут, 22 секунды (24.12.2009 - 23:18) Stuff_f написал(а):
ну шо???
Спустя 7 минут, 16 секунд (24.12.2009 - 23:25) Stuff_f написал(а):
ну что там?
Спустя 7 минут, 20 секунд (24.12.2009 - 23:33) qpayct написал(а):
Спустя 50 секунд (24.12.2009 - 23:34) qpayct написал(а):
а там.....
улыбочку, щас вылетит тапок
улыбочку, щас вылетит тапок
Спустя 2 минуты, 8 секунд (24.12.2009 - 23:36) Stuff_f написал(а):
qpayct ты о чем?
Спустя 4 минуты, 31 секунда (24.12.2009 - 23:40) Stuff_f написал(а):
vox1k
что за стыл?
что за стыл?
Спустя 2 часа, 8 минут, 18 секунд (25.12.2009 - 01:49) Evilsoul написал(а):
action="" - попробуй отправить переменные не на луну а на твой же файл.
если ты не указываешь путь в экшн то его можно вообще не писать.
если ты не указываешь путь в экшн то его можно вообще не писать.
Спустя 7 часов, 3 минуты, 53 секунды (25.12.2009 - 08:52) vox1k написал(а):
1. при пустых полях пишет введите данные +
2. но когда пишу криво или правильно ничего не происходит
2. но когда пишу криво или правильно ничего не происходит
Спустя 21 минута, 29 секунд (25.12.2009 - 09:14) qpayct написал(а):
а что должно происходить?
Спустя 2 часа, 4 минуты, 22 секунды (25.12.2009 - 11:18) Stuff_f написал(а):
Цитата (vox1k @ 25.12.2009 - 05:52) |
1. при пустых полях пишет введите данные + 2. но когда пишу криво или правильно ничего не происходит |
ну правильно, у тебя же нет проверки на кривизну, ввода данных, потому и не происходит не чего просто проверь занесло ли данные в таблицу
Спустя 6 часов, 35 минут, 45 секунд (25.12.2009 - 17:54) vox1k написал(а):
И так, что должно быть:
1. Если ничего не введено то показывать сообщение "Введите данные"
2. Если введено не правильно то показывать "неверный логин/пароль"
3. Если правильно то заходить на форму _index.php
1. Если ничего не введено то показывать сообщение "Введите данные"
2. Если введено не правильно то показывать "неверный логин/пароль"
3. Если правильно то заходить на форму _index.php
Спустя 3 часа, 13 минут, 27 секунд (25.12.2009 - 21:07) qpayct написал(а):
ну вот, цель уже на горизонте
Спустя 1 минута, 26 секунд (25.12.2009 - 21:09) vox1k написал(а):
ага
Спустя 2 минуты, 12 секунд (25.12.2009 - 21:11) qpayct написал(а):
тоесть в любом случае ссылаться твоя форма должна по идее на саму себя, а значит и проверка данных будет происходить где?
Спустя 4 минуты, 5 секунд (25.12.2009 - 21:15) vox1k написал(а):
нет. форма авторизации index.php
а главная форма _index.php
а главная форма _index.php
Спустя 1 минута, 48 секунд (25.12.2009 - 21:17) qpayct написал(а):
тоесть ты вводишь данные на index.php, а проверяешь их в _index.php ?
и при этом удивляешься почему на index.php нет результатов проверки _index.php или как?
и при этом удивляешься почему на index.php нет результатов проверки _index.php или как?
Спустя 5 минут, 51 секунда (25.12.2009 - 21:23) vox1k написал(а):
я уже сам запутался.
все проверки у меня идут на index.php а если вводишь правильный лог/пароль то переход на _index.php
все проверки у меня идут на index.php а если вводишь правильный лог/пароль то переход на _index.php
Спустя 54 минуты, 14 секунд (25.12.2009 - 22:17) qpayct написал(а):
вот и разберись, когда проспишься, что ты делаешь, как и зачем.
тебе тут уже всё разжевали по 2 раза
тебе тут уже всё разжевали по 2 раза
Спустя 10 минут, 11 секунд (25.12.2009 - 22:27) vox1k написал(а):
no comments!!!