Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: авторизация
 
 автор: inferno100   (15.09.2010 в 04:22)   письмо автору
 
 

Доброе время! )
Глубоко уважаемые помогите пожалуйста сделать авторизацию на 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;
                                                };
?>

ахинея. Это должна была быть переадресация если не правильно заполнены

  Ответить  
 
 автор: heed   (15.09.2010 в 13:47)   письмо автору
 
   для: 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 и второй вытаскивается откуда-нибудь оттуда где его никто никогда не найдёт :)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования