|
|
|
| Доброе время! )
Глубоко уважаемые помогите пожалуйста сделать авторизацию на PhP через MySQL
сам уже мозг себе взорвал, ну не могу я понять как это написать, да и скрывать не буду я в ПхП юниор и учусь по книге взятой от сюда
вот то как я пробовал
<?php
//=ФУНКЦИИ ДЛЯ ПОИСКА АВТОРИЗИРУЮЩЕГОСЯ ПОЛЬЗОВАТЕЛЯ================
function chekadm(){
mysql_select_db("baseadm");
mysql_query("select*from adm");
}
function chekusr(){
mysql_select_db("baseusr");
mysql_query("select*from usr");
}
?>
|
и если не затруднит попроще, потом будет проще разобрать скрипт в будущем.
В SQL есть база и две таблица, таблица админа и таблица юзера.
какой функцией можно указать обработчику чтобы он сличил с одой базой, если фалсе то перешел на другую, если тру то залогинелся и перенаправил на админа или на юзера, в зависимости от того кто логинется.
Ну и я так понял то тут
<?php
function remain(){
header('refresh:5; url=index.php');
echo 'Вы не заполнили корректно поля, и через 5 секунд будете перенаправлены на главную страницу';
exit;
}
//========================================================================== ПРОВЕРКА НА ЗАПОЛНЕНИЕ ПОЛЕЙ=============================================
If(!$login || !$passw) die (remain());
//========================================================================== ФУНКЦИЯ НЕ ПРОШЕДШИХ НИ ОДНУ ПРОВЕРКУ С ПЕРЕАДРЕСАЦИЕЙ=============
function notchek(){
if (!$login==chekadm()){exit;}
if (!$login==chekusr()){exit;}
};
if(!notchek()){
header('refresh:5; url=index.php');
echo 'Вы ввели неверные данные и будите перенаправлены';
exit;
}
function passed_adm(){
if ($login==chekadm()){
exit;
}
};
function passed_usr(){
if ($login==chekusr()){
exit;
}
};
if ($login==passed_adm()){
header('refresh:5; url=/adm/index.php');
echo 'Вы зашли как администратор, сейчас вы будете перенаправлены на страницу администрирования';
exit;
};
if ($login==passed_usr()){
header('refresh:5; url=/usr/index.php');
echo 'Вы зашли как пользователь, сейчас вы будете перенаправлены на страницу пользователя';
exit;
};
?>
|
ахинея. Это должна была быть переадресация если не правильно заполнены | |
|
|
|
|
|
|
|
для: inferno100
(15.09.2010 в 04:22)
| | >В SQL есть база и две таблица,
суда по mysql_select_db("baseadm");
............
mysql_select_db("baseusr");
там две базы :)
> if (!$login==chekadm()){exit;}
> if (!$login==chekusr()){exit;}
функции chekadm() и chekusr() ничего не возвращают, они просто в холостую выполняют запрос к db и даже не проверяют как он там выполняется
if ($login !=chekadm()&& $login!=chekusr()) можно было-бы проверять если-бы они возвращали то что в $login
в $login тоже непонятно чего.
Дальше всё ещё запущеннее :)
По человечески хранят всех ников в одной таблице и там-же статус каждого из них
Потом выбирают статус WHERE `пароль`='MD5(пароль)' AND `ник`='ник'
И смотрят есть-ли mysql_num_rows() если есть, смотрят чего там вернул запрос
upd// с паролем даже не так, а аккуратнее `пароль`='пароль' оба в md5 и второй вытаскивается откуда-нибудь оттуда где его никто никогда не найдёт :) | |
|
|
|