Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Пример самой простой Авторизации 
V
    Опции темы
helflip
Дата 2.10.2006, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 14.5.2006
Где: Moscow

Репутация: 2
Всего: 4



Народ можите привести пример самой простой авторизации с ипользованием базы MsSQL! smile 
А то блин, везде все через-чур сложно для новичка в ПХП smile 
И везде МуСКЛ smile 
На форуме почитал темы, подредактировал коды, попробовал ни че не работает, море ошибок smile 
Или ссылочку киньте какую нибудь!
ПЛЗ!! smile 
--------------------
 
PM MAIL   Вверх
sOckets
Дата 2.10.2006, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ЖгуПоПонедельникам
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 24.8.2006
Где: ws2.lib

Репутация: нет
Всего: 2



Срочно читать + используй Поиск

Это сообщение отредактировал(а) sOckets - 2.10.2006, 09:18


--------------------
Я Будущий сотрудник Google Inc. Юзаем Google Code Search для поиска исходников. Юзаем GMail как почту.
PM   Вверх
helflip
Дата 2.10.2006, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 14.5.2006
Где: Moscow

Репутация: 2
Всего: 4



sOckets

Дык,блин, этож моя тема и есть мне так ни кто и не помог все послали: читай мануал, поиском пользуйся,
я так ни чего и не понял smile 
Да и еще репу -1 дали smile 
--------------------
 
PM MAIL   Вверх
sOckets
Дата 2.10.2006, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ЖгуПоПонедельникам
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 24.8.2006
Где: ws2.lib

Репутация: нет
Всего: 2



гы smile Не заметил что это ты , сам понимаешь понедельник smile
Так щяс будем терзать гугл.


--------------------
Я Будущий сотрудник Google Inc. Юзаем Google Code Search для поиска исходников. Юзаем GMail как почту.
PM   Вверх
helflip
Дата 2.10.2006, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 14.5.2006
Где: Moscow

Репутация: 2
Всего: 4



Создайте закрепленную тему, блин с самым назойливым вопросом - АВТОРИЗАЦИЕЙ, самой простой, какой только можно! Чтобы любой новичек понял и людям поможите и себя освободите! Вам это сделать максимум 5 минут от вашей жизни, зато миллион благодарностей сразу!! smile 
  smile 
--------------------
 
PM MAIL   Вверх
sOckets
Дата 2.10.2006, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ЖгуПоПонедельникам
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 24.8.2006
Где: ws2.lib

Репутация: нет
Всего: 2



http://www.php.com.ua/forum/viewtopic.php?t=6346 тут пока посмотри , только о безопастности думаю тебя учить не надо.


--------------------
Я Будущий сотрудник Google Inc. Юзаем Google Code Search для поиска исходников. Юзаем GMail как почту.
PM   Вверх
helflip
Дата 2.10.2006, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 14.5.2006
Где: Moscow

Репутация: 2
Всего: 4



Вот посмотри пожалуста мой код как я понял вроде того:
Код

<html>
<head>
<title> -=Identification=-</title>
</head>
<body>
<?php
session_start();
// полечение данных из формы
if (isset($_POST['login']) and $_POST['login'] == 'Login')
{
    if (isset($_POST['userid']))
    {
        $login=$_POST['userid'];
    }
    if (isset($_POST['userpsw']));
    {
        $password=$_POST['userpsw']? md5($_POST['userpsw']) : '';
    }

    $msconnect=mssql_connect("ххх","ххх","");
    $msdb=mssql_select_db('[sample_db]',$msconnect);
    // получение пароля и логина из базы
    $zapros1 = "SELECT * FROM [user] 
             WHERE userid='".$login."' 
             AND userpassword='".$password."'";
    $rezylt1 = mssql_query($zapros1);
     if($rezylt1=0){
     echo "Неправильный Логин или пароль";
    }
   else {
    $_SESSION['auth']=1;
   }
    
    // переходим на страничку админа
   header("Location: http://ims/kickflip/ats/1.php");
}?>

<table border="5" align="center" bgcolor="Gray">
    <tr >
     <form action="" method="POST">
    <td>Id:</td><td><input type="text" name="userid"></td> 
    </tr>
    <tr>
    <td>PSW:</td><td><input type="password" name="userpsw"></td>
    </tr>
    <tr>
    <td><input type="submit" name="login" value="Login"></td>
    <td><input type="submit" name="cancel" value="Cancel"></td>
    </tr>
    </form>
    
</body>    
</html>


и Вот страничка куда переходит:
Код

<html>
<head>
<body>
<?php
//стартуем сессию, и проверяем на прохождение авторизации
session_start();
if(!isset($_SESSION['auth'])) {
    die('Access...');
}
$title="--=Список всех пользователей=--";
$text=$msconnect=mssql_connect("ххх","ххх","");
$msdb=mssql_select_db('[sample_db]',$msconnect); 
$msquery0 = "SELECT * FROM [user]";
$msresults0 = mssql_query($msquery0);

?>
  <table  width="30%"align="left" bgcolor="Gray" border="5">
   <tr bgcolor="Navy">
    <td align="center"><B><font color="Silver" size="3">Имя пользователя</td></font>
<?php
while ($row1= mssql_fetch_array($msresults0))
 {
    
    ?> <tr><td  width="10%" ><a href="3.php?id_user=<?=$row1['N']?>"><?php echo "<b>". $row1['userid']."</b>"."</td>";
        
 }

//шаблон
include_once"template.php";
?>
</a>
</table>
</body>
</head>
</html>



Добавлено @ 10:17 
А блин не работает, он полюбому входит, что с паролем, что без него smile 
ПОНЕДЕЛЬНИК smile [censored 5] smile 
--------------------
 
PM MAIL   Вверх
sOckets
Дата 2.10.2006, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ЖгуПоПонедельникам
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 24.8.2006
Где: ws2.lib

Репутация: нет
Всего: 2



Извини у меня сейчас нету под рукой PHP , и MSSQL тем более , ты что сам не можешь проверить ?
Так давай я тебе хотябы распишу смысл "авторизации" , значит тебе понадобяться 2 файла , допустим это auth_check.php и login.php , файл login.php имеет 2 функции :
1) Показывает форму авторизации
2) Проверяет посланные данные с формы.

В форме авторизации должно быть 2 поля , это LOGIN и PASSWORD.

Алгоритм работы login.php

Код

if ((isset($_POST['login']) and (isset($_POST['password']))
{
     // Тут ты принемаешь данные с формы и работаеш с ними , то есть идёт коннект к базе и сверка данных + работаешь с куками.
} else {
     // Если не были посланы данные с формы показываем форму
}


Алгоритм работы auth_check.php

Код

// Проверяешь есть ли куки , если есть то сверяешь с базой (см выше) если нету то шлёшь на авторизацию в [B]login.php[/B] если есть продлеваешь время.


Прости просто нету MSSQL и PHP чтоб проверить и написать , а так этот код пишешься в 10 минут. 


--------------------
Я Будущий сотрудник Google Inc. Юзаем Google Code Search для поиска исходников. Юзаем GMail как почту.
PM   Вверх
helflip
Дата 2.10.2006, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 14.5.2006
Где: Moscow

Репутация: 2
Всего: 4



Цитата

// Тут ты принемаешь данные с формы и работаеш с ними , то есть идёт коннект к базе и сверка данных + работаешь с куками.

А вот насчет РАБОТАЕШ С КУКАМИ, это тоесть занести логин и пароль в куки, Правильно японял
--------------------
 
PM MAIL   Вверх
helflip
Дата 2.10.2006, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 14.5.2006
Где: Moscow

Репутация: 2
Всего: 4



да и еще че там за проблемма с пробелами в базе, я гдето читал про какуюто функцию addslshes, чего она делает? Похоже у меня как раз такая трабла, у меня записи в базе с пробелами после самой записи.

--------------------
 
PM MAIL   Вверх
sOckets
Дата 2.10.2006, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ЖгуПоПонедельникам
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 24.8.2006
Где: ws2.lib

Репутация: нет
Всего: 2



учи мат часть. Извини нету времени тебе весь язык обьяснять.


--------------------
Я Будущий сотрудник Google Inc. Юзаем Google Code Search для поиска исходников. Юзаем GMail как почту.
PM   Вверх
helflip
Дата 2.10.2006, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 14.5.2006
Где: Moscow

Репутация: 2
Всего: 4



Ааа, блин, снова самому разбиратья smile  smile 
--------------------
 
PM MAIL   Вверх
sOckets
Дата 2.10.2006, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ЖгуПоПонедельникам
**


Профиль
Группа: Участник
Сообщений: 298
Регистрация: 24.8.2006
Где: ws2.lib

Репутация: нет
Всего: 2



А ты что думал smile Что я тут за тебя код писать буду ? smile Читай правила форума.


--------------------
Я Будущий сотрудник Google Inc. Юзаем Google Code Search для поиска исходников. Юзаем GMail как почту.
PM   Вверх
helflip
Дата 3.10.2006, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 14.5.2006
Где: Moscow

Репутация: 2
Всего: 4



Все, я как всегда разобрался сам smile 

Вот пример самой простой авторизации, без защиты, без всего через сессии.

У меня есть 2 файла auth2.php (Форма получение данных из формы их сравнение с записями в БД)
И 1.php (Страничка администратора с выводом информации о пользователях)

Файл auth2.php:

Код

<html>
<head>
<title> -=Identification=-</title>
</head>
<body>
<?php
//Конект к базе
$text=$msconnect=mssql_connect("xxx","xxx","");
$msdb=mssql_select_db('[sample_db]',$msconnect); 
//Старт сессии
session_start();
// полечение данных из формы
if (isset($_POST['login']) and $_POST['login'] == 'Login')
{
    if (isset($_POST['userid']))
    {
        $login=$_POST['userid'];
    }
    if (isset($_POST['userpsw']));
    {
        $password=$_POST['userpsw'];
    }

    // получение пароля и логина из базы и сравнение с данными из формы
    $zapros1 = "SELECT login,pass FROM [auth] 
             WHERE login = '".$login."' 
             AND pass = '".$password."'";
    $rezylt1 = mssql_query($zapros1); //Выполнение запроса
    
    $count=mssql_num_rows($rezylt1);//Если запись найдена count = 1(Тоько одна запись и должна быть)
    if($count == 1) {                //Если count = 1 тогда
        
    }
    while($row=mssql_fetch_array($rezylt1))//
    {
     if($row['login']==$login and $row['pass']==$password){//Сравниваем логи и пароль на совпадение с записью в базе
     $_SESSION['auth']=1;//Заносим в массив сесии auth значение = 1 и потом проверяем на страничке админа на это
    header("Location: 1.php");//Если все совпало переходим а страничку админа
     }else {
     
     echo "Неправильный Логин или пароль...";//Если не совпало
     }
     }
   }
  //Дальше идет форма   
    ?>


<table border="5" align="center" bgcolor="Gray">
    <tr >
     <form action="" method="POST">
    <td>Id:</td><td><input type="text" name="userid"></td> 
    </tr>
    <tr>
    <td>PSW:</td><td><input type="password" name="userpsw"></td>
    </tr>
    <tr>
    <td><input type="submit" name="login" value="Login"></td>
    <td><input type="submit" name="cancel" value="Cancel"></td>
    </tr>
    </form>
    
</body>    
</html>
 

И файл 1.php (Админка) 

Код

<html>
<head>
<body>
<?php
session_start();//Старт сессии
if(!isset($_SESSION['auth'])) { //ПРоверяем на то значение, которое присваивали Сессии в auth.php
    die('Access...');//По другому не зайти
}
//Опять коннект к базе
$title="--=Список всех пользователей=--";
$text=$msconnect=mssql_connect("ххх","ххх","");
$msdb=mssql_select_db('[sample_db]',$msconnect); 
//Выбираем данные, сортируем и т.п.
$msquery0 = "SELECT     userid AS Expr1, [user].*
             FROM         [user]
             ORDER BY userid";
$msresults0 = mssql_query($msquery0);
//Табличка для вывода
?>
  <table  width="30%"align="left" bgcolor="Gray" border="5">
   <tr bgcolor="Navy">
    <td align="center"><B><font color="Silver" size="3">№</td></font>
    <td align="center"><B><font color="Silver" size="3">Имя пользователя</td></font>
<?php
while ($row1= mssql_fetch_array($msresults0))
 {
    
    ?> <tr><td width="2%"><?php echo $row1['N']?></td><td  width="10%" ><a href="3.php?id_user=<?=$row1['N']?>"><?php echo "<b>". $row1['userid']."</b>"."</td>";
        
 }

//шаблон
include_once"template.php";//Ну и все
?>
</a>
</table>
</body>
</head>
</html>



Помойму для новичка в ПХП неплохо, особенно разобраться. А потом идут всякие дополнения! smile

Добавлено @ 09:32 
sOckets.

Спасибо за настовление и помощь, было бы 100 постов, дал бы репу smile 




--------------------
 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0891 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.