Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2013, 19:29   #1
Glowworm
Пользователь
 
Аватар для Glowworm
 
Регистрация: 26.10.2011
Сообщений: 67
По умолчанию ошибка при авторизации

PHP код:
<?php 
    
require_once 'login.php'
    
$db_server=mysql_connect($db_hostname$db_username$db_password);
    
    if (!
$db_server) die ("Невозможно подключиться к MySQL: "mysql_error());
mysql_select_db($db_database
or die(
"Unable to select database: " mysql_error());
     
    
    
// Формируем и выполняем SQL-запрос для посетителя с 
    // именем $_POST['name'] 
    
$query "SELECT password, rules FROM administrator WHERE name='".$_POST['name']."'"
   
$nme mysql_query($query); 
    if(!
$nme)  
    {  
      echo 
mysql_error(); 
      echo 
"Ошибка выполнения запроса";  
      exit();  
    }  
    
// Если запрос вернул результат - производим дальнейшую обработку  
    
if(mysql_num_rows($nme) > 0)  
    {  
// Получаем пароль  
     
$password mysql_result($nme,0);       
       
$rules mysql_result($nme1);
         
// Сравниваем пароль из базы данных и введённый посетителем  
       
if ($_POST['password'] == $password
       { 
         
// Идентификация прошла успешно - осуществляем 
         // "вход" посетителя. Для того, чтобы в течении текущей 
         // сесси посетитель не вводил своё имя пароль повторно -  
         // передаём их через сессию 
         
         
         
if(session_start()) 
         { 
$_SESSION['user'] = $_POST['name']; 
           
$_SESSION['password'] = $_POST['password']; 
           
$_SESSION['rules'] = $_POST['rules']; 
           
// Осуществляем автоматический переход на  
           // страницу index.php чтобы убедится, что 
           // посетитель "вошёл" 

                 
if ($_SESSION['rules'] == Administrator){
                 
                 
"<HTML><HEAD> 
                 <META HTTP-EQUIV='Refresh' CONTENT='0; URL=add.php'> 
                 </HEAD><body>"

                 } else{
                 
                
"<HTML><HEAD> 
                 <META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'> 
                 </HEAD><body>"
; }
                 
                 } 
                  
         
       } 
       else  
       {  
         echo 
"Ошибка идентификации: неправильный пароль";  
         exit();  
       }  
    }  
    
// Если в результате запроса не получено ни одной  
    // строки - посетитель с таким именем не зарегистрирован  
    
else  
    {  
      echo 
"Ошибка идентификации: посетитель не зарегистрирован";  
      exit();  
    }  
?>
Не работает часть сравнения прав Администратора и если не Администратор, то выводить другую страницу.
$rules = mysql_result($nme, 1); Почему он ругается на эту часть
Glowworm вне форума Ответить с цитированием
Старый 05.06.2013, 21:50   #2
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Расширение Mysql для PHP устарело. Используйте MySQLi

В данном конкретном случае ошибка в том, что mysql_result вторым аргументом принимает номер строки. У вас же получается всего одна строка, но с несколькими полями. Вам нужно использовать mysql_fetch_assoc
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при регистрации/авторизации mvc3 razor naximuz ASP.NET 0 19.09.2012 19:34
Дополнительная переменная при авторизации Rendll Работа с сетью в Delphi 8 03.08.2012 14:33
Ошибка авторизации Lauri Общие вопросы Delphi 2 01.06.2011 10:59
Ошибка в коде авторизации TROJAN C/C++ Сетевое программирование 0 21.03.2011 20:14
Ошибка в авторизации kaviga PHP 7 14.02.2010 12:01