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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2011, 09:43   #1
Graf_troegubov
 
Регистрация: 04.04.2011
Сообщений: 9
По умолчанию Авторизация пользователя, правильно или нет?

Привет народ, есть пару скриптов авторизации точней обработчика, один скопипастиный, а второй уже сам накалякал пока копипастиный пытался настроить. Огромная простьба посмотрите что не так в копипастином (просто уже голова не соображает вроде перебрал все, и уже работать должно было и не раз и все равно неудача) он вообще обрабатывать ни че не хочет, выдает пустую страницу.
<?php
include "config.php";
if ($_POST['session_id'] !=session_id())
{
exit ("выход попытка передачи данных с дургого хоста. скрипт остановлен.");
}
else
{
$query = "SELECT * FROM users
WHERE login = '$_POST[login]' AND password=MD5('$_POST[password]')";
$nme = mysql_query($query);
if (!$nme) exit(mysql_error())
{
echo ("ошибка запроса");
}
if (mysql_num_rows($nme) == 1)
{
if (session_start())
{
$_SESSION['login'] = $_POST['login'];
$_SESSION['password'] = $_POST['password'];
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'>
</HEAD><body>";
}
else
{
exit ("не верный пароль");
}
else
{
exit ("посетитель не зарегестрирован");
}
?>
___________________________________ ___________________________________ ___________________________________ _____
Это был скопипастиный а вот мной написаный---
<?php
include "config.php";
if (isset($_POST['login']) && isset($_POST['password']))
{
$login = mysql_real_escape_string($_POST['login']);
$password = md5($_POST['password']);

$query = "SELECT `id`
FROM `users`
WHERE `login`='{$login}' AND `password`='{$password}'
LIMIT 1";
$sql = mysql_query($query);

// если такой пользователь нашелся
if (mysql_num_rows($sql) == 1)
{
exit ('такого логина нет');
}
else
{
echo ("такой логин есть");
}
}
?>
Вот здесь я понять не могу, в последнем блоке
if (mysql_num_rows($sql) == 1)
{
exit ('такого логина нет');
}
else
{
echo ("такой логин есть");
}
эксит и эсхо в правильном пордке стоят????
Заранее благодарен!!!!

Последний раз редактировалось Graf_troegubov; 04.04.2011 в 09:48.
Graf_troegubov вне форума Ответить с цитированием
Старый 04.04.2011, 09:46   #2
Graf_troegubov
 
Регистрация: 04.04.2011
Сообщений: 9
По умолчанию РЕ

Да и если не сложно, напишите как выводить ошибки в браузер если код не выполняется, ну типо как в mysql такого плана exit(mysql_error()) только для рнр.
Буду признателен!!!
Graf_troegubov вне форума Ответить с цитированием
Старый 04.04.2011, 11:44   #3
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

// если такой пользователь нашелся
if (mysql_num_rows($sql) == 1)
{
exit ('такого логина нет');
}
Сами себе противоречите .... в коментах написали, что найден, а ошибку выводите, что ничего нету.
Cronos20 вне форума Ответить с цитированием
Старый 05.04.2011, 00:44   #4
Graf_troegubov
 
Регистрация: 04.04.2011
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Cronos20 Посмотреть сообщение
// если такой пользователь нашелся
if (mysql_num_rows($sql) == 1)
{
exit ('такого логина нет');
}
Сами себе противоречите .... в коментах написали, что найден, а ошибку выводите, что ничего нету.
Так ведь при выполнении if (mysql_num_rows($sql) == 1) должно быть два варианта либо есть либо нету. Вот поэтому и ставлю и exit и echo, меня интересут в правильной ли последовательности они стоят)?
Graf_troegubov вне форума Ответить с цитированием
Старый 05.04.2011, 01:15   #5
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

if (mysql_num_rows($sql) == 1)
{
echo "Пользователь найден !!! Ура = есть авторизация";
}
Надеюсь теперь все очевидно на 100% )))))
Cronos20 вне форума Ответить с цитированием
Старый 06.04.2011, 08:30   #6
Graf_troegubov
 
Регистрация: 04.04.2011
Сообщений: 9
По умолчанию ре

Цитата:
Сообщение от Cronos20 Посмотреть сообщение
if (mysql_num_rows($sql) == 1)
{
echo "Пользователь найден !!! Ура = есть авторизация";
}
Надеюсь теперь все очевидно на 100% )))))
Дааа) более менее понятно, я конечно дико извиняюсь, что задаю столько вопросов)))) просто в книгах этого не пишут да и общаясь с народом как то лучше понимаешь. Вобщем для закрепления материала у if (mysql_num_rows($sql) == 1) ответ может быть ТОЛЬКО
echo "Пользователь найден !!! Ура = есть авторизация"
А если поставить значение if (mysql_num_rows($sql) > 0)
Graf_troegubov вне форума Ответить с цитированием
Старый 06.04.2011, 08:38   #7
Graf_troegubov
 
Регистрация: 04.04.2011
Сообщений: 9
По умолчанию (((

Блин, ни че не выходит.... Не находит пользователя, значет скрипт где то не правильно работает... а где? Я думаю наверное где осуществляется поиск в БД.
Graf_troegubov вне форума Ответить с цитированием
Старый 12.04.2011, 19:08   #8
Graf_troegubov
 
Регистрация: 04.04.2011
Сообщений: 9
По умолчанию копирование файла

if (mkdir($_POST['login'],0777))
{
echo "ok1";
}
$dir = opendir($_POST['login']);
{
echo "ok2";
}
if (!copy("index.php","$dir/index.php"))
{
echo "Не копируем";
}
else
{
echo "Отлчно";
}
closedir($dir);
{
echo "ok3";
}
Graf_troegubov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Правильно или нет вот в чём вопрос но ошибок нет... Alexcool Помощь студентам 2 10.01.2010 13:55
правильно решена или нет?? durachok) Помощь студентам 1 27.12.2008 08:23
правильно или нет FreeZZZ Паскаль, Turbo Pascal, PascalABC.NET 9 26.12.2008 09:39
решена правильно или нет??? durachok) Паскаль, Turbo Pascal, PascalABC.NET 3 25.12.2008 15:24
Посоветуйте ,правильно или нет Михаил Юрьевич Общие вопросы Delphi 2 14.06.2008 22:02