[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: аунтетификация :)
Gradus
В общем код достаточно лёгкий,скачал в инете,но он не работает.Почему понять не могу при отправке ничего не выдаёт,просто обновляеться и всё.
вот код login.php
Код
<?php
$connection = mysql_connect("localhost","","")    or die("Couldn't make connection.");
$db = mysql_select_db("", $connection)     or die("Couldn't select database");

$target=$_SERVER["PHP_SELF"];

if (isset($_SESSION['level'])) {
        if (isset($logout)){
            session_unregister("level");
        }else{
           echo"
            <form name=form1 method=post action=$target>
                
                    You are logged
                    
                    
                        <input name=logout type=hidden value=logout>
                        <input name=submit type=image src=logout.gif  border=0>
                                                 </form>";
                 }
                               }
if (!isset($_SESSION['level'])) {
    if (isset($username)){
        $query = "SELECT level FROM users WHERE username='$username' AND password='$password'" or die("Wrong Password");
        $sql_results = mysql_query($query,$connection);
            while ($row = mysql_fetch_array($sql_results)) {
                $level = $row['level'];
                    session_register("level");
            }
    }
    if (isset($_SESSION['level'])) {
           echo"
            <form name=form1 method=post action=$target>
                        You are logged in
                        <input name=logout type=hidden value=logout>
                        <input name=submit type=image src=logout.gif  border=0 >
            </form>";
    }else{
        echo"
            <form name=form1 method=post action=$target>
                    username:
                                               <input type=text name=username class=form>

                                password:
                    
                        <input type=text name=password class=form>
                
                        <td align=right>
                        <input name=submit type=image src=go.gif  border=0 >
                                    
                
            </form>";
    }
}
?>

Вот.И лежит файл в примером
Код
<?php session_start();?>
<?php include("login.php"); ?>
<?php
if ((isset($_SESSION['level'])) && ($_SESSION['level']==1)) {
                echo "I want only guests to see this";
         }?>    
<?php if ((isset($_SESSION['level'])) && ($_SESSION['level']==2)) {
                echo "I want only employers to see this";
        }?>    

        <?php if ((isset($_SESSION['level'])) && ($_SESSION['level']==3)) {
                echo "I want only friends to see this";
        
        }?>    

        <?php if ((isset($_SESSION['level'])) && ($_SESSION['level']==4)) {
                echo "I want only family to see this";
        }?>

Естественно в бд всё есть smile.gif
Весь день провозился.Это лучший аунтефикатор который я видел для скрытыя чего-то определёного на страничке,другие либо всю страницу блокируют либо с регистрацией.



Спустя 12 часов, 46 минут, 20 секунд (2.10.2008 - 12:15) NRG написал(а):

Спустя 7 минут, 44 секунды (2.10.2008 - 12:23) Adil написал(а):
Делj в глобальных перменных:

http://phpfaq.ru/globals

Спустя 1 час, 5 минут, 56 секунд (2.10.2008 - 13:29) md5 написал(а):

Спустя 4 часа, 50 минут, 51 секунда (2.10.2008 - 18:20) Gradus написал(а):
Спасибо всем,непонял правдо в чём там ошибка ну да ладно smile.gif
По вашим ссылкам сделал скрипт,всё хорошо работает кроме куки sad.gif
Код
<?php
session_start();

if (isset($_POST['login']) && isset($_POST['password']))
{
    $login = mysql_real_escape_string($_POST['login']);
    $password = md5($_POST['password']);

    // делаем запрос к БД
    // и ищем юзера с таким логином и паролем

    $query = "SELECT `user_active`
            FROM `users`
            WHERE `username`='{$login}' AND `user_password`='{$password}'
            LIMIT 1";
    $sql = mysql_query($query) or die(mysql_error());

    // если такой пользователь нашелся
    if (mysql_num_rows($sql) == 1)
    {
        // то ставим об этом метку в сессии

        $row = mysql_fetch_assoc($sql);
        $_SESSION['user_id'] = $row['user_active'];


        setcookie("login", $login, time() + 36000,"/");
        setcookie("password", $password, time() + 36000,"/");


echo "Вы прошли!";
    }
    else{
        die('Такой логин с паролем не найдены в базе данных.');
    }
}
// если пользователь не авторизован
if (!isset($_SESSION['user_id'])) {
    // то проверяем его куки
    // вдруг там есть логин и пароль к нашему скрипту

    if (isset($_COOKIE['login']) && isset($_COOKIE['password'])) {
        // если же такие имеются
        // то пробуем авторизовать пользователя по этим логину и паролю
        $login = mysql_real_escape_string($_COOKIE['login']);
        $password = mysql_real_escape_string($_COOKIE['password']);

        // и по аналогии с авторизацией через форму:

        // делаем запрос к БД
        // и ищем юзера с таким логином и паролем

   $query = "SELECT `user_active`
            FROM `users`
            WHERE `username`='{$login}' AND `user_password`='{$password}'
            LIMIT 1";
        $sql = mysql_query($query) or die(mysql_error());

        // если такой пользователь нашелся
        if (mysql_num_rows($sql) == 1) {
            // то мы ставим об этом метку в сессии (допустим мы будем ставить ID пользователя)
echo "Куки пашут";
            $row = mysql_fetch_assoc($sql);
            $_SESSION['user_id'] = $row['user_active'];

        }
        else {
            // пустота пока
        }
    }
}

?>

только не обзывайтесь smile.gif первый раз в жизни куки и сессии трогаю )

Спустя 1 час, 7 минут, 52 секунды (2.10.2008 - 19:28) Ghost написал(а):
займись элементарной отладкой.
посмотри как исполняется скрипт и выведи на экран ключевые значения.
походу проверь настройки бразера - может там вообще куки отключены.


_____________
ДАВАЙ ДЕНЬГИ
R543264623869
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.