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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: авторизация

Сообщения:  [1-9] 

 
 автор: ronin   (19.04.2006 в 18:08)   письмо автору
 
   для: Саша   (19.04.2006 в 16:28)
 

CREATE TABLE 'users' (
'id_user' int(11) NOT NULL auto_increment,
'name' tinytext,
'password' tinytext,
PRIMARY KEY ('id_user')
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=4 ;

--
-- Дамп данных таблицы 'users'
--


INSERT INTO 'users' VALUES (1, 'vadim1', '2345');

   
 
 автор: Саша   (19.04.2006 в 16:28)   письмо автору
 
   для: ronin   (19.04.2006 в 16:14)
 

Да, покажите дамп таблицы users

   
 
 автор: ronin   (19.04.2006 в 16:14)   письмо автору
 
   для: Саша   (19.04.2006 в 13:59)
 

так существует, имееться база, может там кодировка или шифрование....

   
 
 автор: Саша   (19.04.2006 в 13:59)   письмо автору
 
   для: ronin   (19.04.2006 в 13:56)
 

>тот же результат
потому что пользователь с введенным логином должен существовать

   
 
 автор: ronin   (19.04.2006 в 13:56)   письмо автору
 
   для: Саша   (19.04.2006 в 12:22)
 

тот же результат

   
 
 автор: Саша   (19.04.2006 в 12:22)   письмо автору
 
   для: ronin   (19.04.2006 в 11:47)
 

так как появляется надпись: Ошибка идентификации: посетитель не зарегистрирован, делаем вывод, что не виполняется вот это условие if(mysql_num_rows($nme) > 0). Попробуйте вот этот код

<?php 
error_reporting
(E_ALL E_NOTICE); 
    
// Это файл handler.php 
    // Имя сервера базы данных, например $dblocation = "mysql28.noweb.ru" 
    // сейчас выставлен сервер локальной машины 
    
$dblocation "localhost"
    
// Имя базы данных 
    
$dbname "test"
    
// Имя пользователя... Скорее всего будет совпадать с вашим доменным именем 
    // у нас, например $dbuser = "softtime"; 
    
$dbuser "root"
    
// Пароль - в комментариях не нуждается ;-) 
    
$dbpasswd ""
    
// Соединяемся с сервером базы данных 
    
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd); 
    if (!
$dbcnx) { 
      echo( 
"<P>В настоящий момент сервер базы данных не 
                          доступен, поэтому корректное отображение 
                          страницы невозможно.</P>" 
); 
      exit(); 
    } 
    
// Выбираем базу данных 
    
if (! @mysql_select_db($dbname,$dbcnx) ) { 
      echo( 
"<P>В настоящий момент база данных не доступна, 
                          поэтому корректное отображение страницы 
                          невозможно.</P>" 
); 
      exit(); 
    } 
    
// Формируем и выполняем SQL-запрос для посетителя с 
    // именем $_POST['name'] 
    
$query "SELECT password FROM users WHERE name='".$_POST['name']."'"
    
$nme mysql_query($query); 
    if(!
$nme
    { 
      echo 
mysql_error(); 
      echo 
"Ошибка выполнения запроса"
      exit(); 
    } 
    
// Если запрос вернул результат - производим дальнейшую обработку 
    
if(mysql_num_rows($nme) > 0
    { 
       
// Получаем пароль 
       
$password mysql_result($nme0); 
       
// Сравниваем пароль из базы данных и введённый посетителем 
       
if ($_POST['password'] == $password
       { 
         
// Идентификация прошла успешно - осуществляем 
         // "вход" посетителя. Для того, чтобы в течении текущей 
         // сесси посетитель не вводил своё имя пароль повторно - 
         // передаём их через сессию 
         
if(session_start()) 
         { 
           
$_SESSION['user'] = $_POST['name']; 
           
$_SESSION['password'] = $_POST['password']; 
           
// Осуществляем автоматический переход на 
           // страницу index.php чтобы убедится, что 
           // посетитель "вошёл" 
           
echo "<HTML><HEAD> 
                 <META HTTP-EQUIV='Refresh' CONTENT='0; URL='index.php'> 
                 </HEAD><body>"


         } 
       } 
       else 
       { 
         echo 
"Ошибка идентификации: неправильный пароль"
         exit(); 
       } 
    } 
    
// Если в результате запроса не получено ни одной 
    // строки - посетитель с таким именем не зарегистрирован 
    
else 
    { 
      echo 
"Ошибка идентификации: посетитель не зарегистрирован"
      exit(); 
    } 
?>
[b][/b]

   
 
 автор: ronin   (19.04.2006 в 11:47)   письмо автору
 
   для: Boss   (18.04.2006 в 23:15)
 

это первая страница

<?php
session_start
();
   
// Это файл index.php
  
error_reporting(E_ALL E_NOTICE);
?>

<form action='handler.php' method=post>
Имя посетителя : <input type=text name=name value=<?php echo $_SESSION['user']; ?>><br>
Пароль : <input type=password name=password value=<?php echo $_SESSION['password']; ?>><br>
<input type=submit value=Отправить>
</form>
<?php
  
// Если посетитель "вошёл" - приветствуем его
  
if(isset($_SESSION['user'])) echo "Здравствуйте, ".$_SESSION['user']."!";
?>
</body>
</html>


файл обработчик

<?php
 error_reporting
(E_ALL E_NOTICE);
    
// Это файл handler.php
    // Имя сервера базы данных, например $dblocation = "mysql28.noweb.ru"
    // сейчас выставлен сервер локальной машины
    
$dblocation "localhost";
    
// Имя базы данных
    
$dbname "test";
    
// Имя пользователя... Скорее всего будет совпадать с вашим доменным именем
    // у нас, например $dbuser = "softtime";
    
$dbuser "root";
    
// Пароль - в комментариях не нуждается ;-)
    
$dbpasswd "";
    
// Соединяемся с сервером базы данных
    
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
    if (!
$dbcnx) {
      echo( 
"<P>В настоящий момент сервер базы данных не
                          доступен, поэтому корректное отображение
                          страницы невозможно.</P>" 
);
      exit();
    }
    
// Выбираем базу данных
    
if (! @mysql_select_db($dbname,$dbcnx) ) {
      echo( 
"<P>В настоящий момент база данных не доступна,
                          поэтому корректное отображение страницы
                          невозможно.</P>" 
);
      exit();
    }
    
// Формируем и выполняем SQL-запрос для посетителя с
    // именем $_POST['name']
    
$query "SELECT password FROM users WHERE name='vadim1'";
    
$nme mysql_query($query);
    if(!
$nme)
    {
      echo 
mysql_error();
      echo 
"Ошибка выполнения запроса";
      exit();
    }
    
// Если запрос вернул результат - производим дальнейшую обработку
    
if(mysql_num_rows($nme) > 0)
    {
       
// Получаем пароль
       
$password mysql_result($nme0);
       
// Сравниваем пароль из базы данных и введённый посетителем
       
if ($_POST['password'] == $password)
       {
         
// Идентификация прошла успешно - осуществляем
         // "вход" посетителя. Для того, чтобы в течении текущей
         // сесси посетитель не вводил своё имя пароль повторно -
         // передаём их через сессию
         
if(session_start())
         {
           
$_SESSION['user'] = $_POST['name'];
           
$_SESSION['password'] = $_POST['password'];
           
// Осуществляем автоматический переход на
           // страницу index.php чтобы убедится, что
           // посетитель "вошёл"
           
echo "<HTML><HEAD>
                 <META HTTP-EQUIV='Refresh' CONTENT='0; URL='index.php'>
                 </HEAD><body>"
;

         }
       }
       else
       {
         echo 
"Ошибка идентификации: неправильный пароль";
         exit();
       }
    }
    
// Если в результате запроса не получено ни одной
    // строки - посетитель с таким именем не зарегистрирован
    
else
    {
      echo 
"Ошибка идентификации: посетитель не зарегистрирован";
      exit();
    }
?>

появляется надпись: Ошибка идентификации: посетитель не зарегистрирован

   
 
 автор: Boss   (18.04.2006 в 23:15)   письмо автору
 
   для: ronin   (18.04.2006 в 18:23)
 

Телепаты в отпуске...
Прикрепи php скрипт....

   
 
 автор: ronin   (18.04.2006 в 18:23)   письмо автору
 
 

Здравствуйте! у меня такая проблема: я скачал скрипт авторизации с этого сайта, но он не работает, похоже не передаеться сессия, сразу говорю тегов или пустого пространства перед

session_start(); 

- не имееться, видимо требуется изменить что-то в php.ini?

   

Сообщения:  [1-9] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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