|
|
|
| Вот код страницы enter.php ! Цель вообще - дает доступ к странице admin.php !
Хотел, чтобы подсказали - как сделать так, чтобы он сравнивал данные не с $admin и $pass, а с данных которые ввели в форму и БД MYSQL, где уже есть 2 ячейки с admin и pass данным(то есть можно сказать зарегаными юзерами) !
<?php
session_start();
$admin = 'admin';
$pass = '1111';
if($_POST['submit']){
if($admin == $_POST['user'] AND $pass == $_POST['pass']){
$_SESSION['admin'] = $admin;
header("Location: admin.php");
exit;
}else echo '<p>Логин или пароль неверны!</p>';
}
?>
<p><a href="index.php">Главная</a> | <a href="contact.php">Контакты</a> | <a href="admin.php">Админка</a></p>
<hr />
Это страница авторизации.
<br />
<form method="post">
Username: <input type="text" name="user" /><br />
Password: <input type="password" name="pass" /><br />
<input type="submit" name="submit" value="Войти" />
</form>
|
| |
|
|
|
|
|
|
|
для: Belkin
(14.07.2011 в 06:10)
| | авторизация | |
|
|
|
|
|
|
|
для: Belkin
(14.07.2011 в 06:10)
| | Возможно вас заинтересует приложение по ссылке http://softtime.ru/info/authorization.php | |
|
|
|
|
|
|
|
для: cheops
(14.07.2011 в 11:26)
| | Спасибо за варианты )
полезны, действительно спасибо ! )
но хотел бы все-таки узнать, как сделать из предложенного !
Без всяких проверок куки, просто чтобы сверяло пароль и пасс из бд. | |
|
|
|
|
|
|
|
для: Belkin
(14.07.2011 в 13:26)
| | Просто подставляйте сравнение в WHERE-условие (только убедитесь, что значения экранированы, чтобы не было возможности провести SQL-инъекцию) и извлекайте количество возвращенных строк - если 0, не логин и пароль не подходят, если 1 - подходят
SELECT COUNT(*) FROM tbl
WHERE user = '{$_POST['user']} AND pass = '{$_POST['pass']}'
|
| |
|
|
|
|
|
|
|
для: cheops
(14.07.2011 в 14:06)
| | Спасибо, попробую ! | |
|
|
|
|
|
|
|
для: cheops
(14.07.2011 в 14:06)
| | простите, ничего | |
|
|
|
|
|
|
|
для: Belkin
(14.07.2011 в 22:08)
| | Как делаете выводится ли какое-то сообщение об ошибке функцией mysql_error()? | |
|
|
|
|
|
|
|
для: cheops
(14.07.2011 в 22:22)
| | хотел сказать, что у вас пропущена кавычка, но как убедился, то в полный sql запрос вставить нельзя ) вот она пропадает, а так все сделал, вот код
(я его немного под себя сделал, мелочи разные)
Еще раз вам спасибо, действительно помогаете !
<?php
session_start();
$db = mysql_connect ("localhost", "root", "");
mysql_select_db("13.07.11", $db);
$name1 = $_POST['user'];
$name2 = $_POST['pass'];
if ($name1=='' or $name2 =='' ) {
echo 'Заполните все необходимые поля!';
} else {
$admin = mysql_result(mysql_query("SELECT COUNT(*) as cnt FROM names WHERE name1 = '{$_POST['user']}' AND name2 = '{$_POST['pass']}'"), 0);
if ($admin > 0) {
if($_POST['submit']){
$_SESSION['admin'] = $admin;
header("Location: admin.php");
exit;
}} else {
echo 'Пароль не верный';
} }
?>
<p><a href="index.php">Главная</a> | <a href="contact.php">Контакты</a> | <a href="admin.php">Админка</a></p>
<hr />
Это страница авторизации.
<br />
<form method="post">
Username: <input type="text" name="user" /><br />
Password: <input type="password" name="pass" /><br />
<input type="submit" name="submit" value="Войти" />
</form>
|
а вот маленький вопрос, когда человек ввел неверные данны, то если он нажимает обновить - запрос заново повторяется, а если ввести адресс этой страницы еще раз, то все нормально !
Пытался через заголовок отправить на эту же страницу, вот пример
$name1 = $_POST['user'];
$name2 = $_POST['pass'];
if ($name1=='' or $name2 =='' ) {
echo 'Заполните все необходимые поля!';
header("Location: enter.php");
} else ...
|
но он просто не открывает форму и долго грузит страницу, может есть еще способо?
На счет - - ничего не выводится, все нормально ! | |
|
|
|
|
|
|
|
для: Belkin
(14.07.2011 в 22:39)
| | >а вот маленький вопрос, когда человек ввел неверные данны, то если он нажимает обновить -
>запрос заново повторяется, а если ввести адресс этой страницы еще раз, то все нормально !
Если честно, пока не понятно, в чем проблема. | |
|
|
|
|
|
|
|
для: cheops
(14.07.2011 в 23:38)
| | ладно, это не сильно важно ! | |
|
|
|
|
|
|
|
для: Belkin
(14.07.2011 в 06:10)
| |
<?php
session_start();
include('bd_connect.php');
//если была нажата кнопка выхода
if (isset($_GET['exit'])){
unset($_SESSION['login']);
unset($_SESSION['pass']);
session_destroy();
}
if(isset($_SESSION['login']) && isset($_SESSION['pass'])){ //если в сессии лежит логин и пароль пользователя
if (!isset($_GET['exit'])) { //если не была нажата кнопка выхода
$login = $_SESSION['login'];
$pass = $_SESSION['pass'];
$db_connect = mysql_query("SELECT * FROM `users` WHERE `login`='$login'") or die(mysql_error());
$userinfo = mysql_fetch_array($db_connect);// в этой переменной лежит пароль из БД
if(strcmp($pass,md5($userinfo['pass'])) == 0) {// проверка схожести пароля
$sql="SELECT * FROM users WHERE `login`='$login'";
$resultat=mysql_query($db_connect);
$userinfo=mysql_fetch_array($resultat); // в этой переменной будет лежать вся информация о пользователе из БД
$status = 1;// статус, если 1, тогда пользователь авторизован
}
}
}
if ($state != 1){ // если после проверки куков, оказалось, что пользователь не авторизован, то идем дальше
if( (isset($_POST['login'])) && (isset($_POST['pass'])) ){ // если пользователь ввёл логин и пароль
$login = $_POST['login'];
$sql = "SELECT id, pass FROM users WHERE `login`='$login'";
$resultat = mysql_query($sql);
if(mysql_num_rows($resultat) > 0) { // если пользователь есть в БД
$userinfo = mysql_fetch_array($resultat); // в этой переменной лежит пароль из БД и номер пользователя
$pass = $_POST['pass'];
if(strcmp($pass,md5($userinfo['pass']))==0){
// достаём все данные из БД
$db_connect ="SELECT * FROM users WHERE login='$login'";
$resultat = mysql_query($db_connect);
$userinfo = mysql_fetch_array($resultat); // в этой переменной будет лежать вся информация о пользователе из БД
$status = 1; // статус, если 1, тогда пользователь авторизован
$_SESSION['login']=$userinfo['login'];
$_SESSION['pass']=$userinfo['pass'];
}
}
}
}
if ($status == 1){
echo "привет .... бла бла бла";
}
else {
echo "<div>
<table align='center' >
<form action='index.php' method='post'>
<tr><td>Логин:</td><td><input type='text' name='login' title='Ваш Логин'></td><td rowspan='5'><img src='1.jpg' width='60'></td></tr>
<tr><td>Пароль:</td><td><input type='password' name='pass' title='Ваш Пароль'></td></tr>
<tr><td></td><td align='center'><input type='submit' value='Войти'></td></tr>
</form>
<tr><td></td><td><a href='#'>Регестрация</a></td></tr>
<tr><td></td><td><a href='#'>Забыли пароль?</a></td></tr>
</tdble>
</div>";
}
?>
|
примерно так) | |
|
|
|