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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с мускулом 
:(
    Опции темы
R.M.
Дата 8.9.2005, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


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

Репутация: 0
Всего: 30



Есть таблица в базе, в этой таблице 1 строка в ней 2 поля login и password
В поле login значение admin
В поле password значение 123

Есть запрос

Код

$sql = "SELECT login, password FROM admin WHERE login = '".mysql_escape_string($_POST['login'])."' AND password = '".(mysql_escape_string($password))."' LIMIT 1";

$res = mysql_query($sql);
if ($res) 
{
if (mysql_num_rows($res) <= 0) 
{
echo "Вы ошиблись при вводе логина/пароля<br>";
} else {
$_SESSION['admin'] = 1;
header("Location:admin.php");
}
} else {
echo mysql_error();
}


Всё впорядке, но когда в базе я меняю пароль и ввожу новый пароль в форме он пишет "Вы ошиблись при вводе логина/пароля", меняю на 123 всё ок


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 8.9.2005, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 11
Всего: 261



Модератор: пожалуйста, создавайте темы В СПЕЦИАЛЬНОМ РАЗДЕЛЕ !!!

1. mysql_real_escape_string
2. не = , а BINARY =, куда точно БИНАРИ писать - не помню.
3. Пароль надо хэшированным хранить.
4. $password - может все-таки через $_POST?

Условия не логичные..
Код

if( ! $res )
 { echo mysql_error }
elseif( mysql_num_rows($res) == 0 ) 
 { ... }
else 
 { ... }

PM ICQ   Вверх
-=Ustas=-
Дата 9.9.2005, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

Репутация: 17
Всего: 69



Как и чем ты меняешь пароль?


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
R.M.
Дата 9.9.2005, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


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

Репутация: 0
Всего: 30



-=Ustas=-

В том то и дело что я через phpmyadmin просто меняю в поле например 123 на 12345 скрипт авторизации пишет что пароль неправильный. меняю обратно на 123 всё ок


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
-=Ustas=-
Дата 9.9.2005, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

Репутация: 17
Всего: 69



Меняй его своим скриптом.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
R.M.
Дата 9.9.2005, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


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

Репутация: 0
Всего: 30



-=Ustas=-

Я ево ща пробую написать, а разве есть разница кто меняет данные я или скрипт?


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
R.M.
Дата 9.9.2005, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


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

Репутация: 0
Всего: 30



-=Ustas=-

Меняю своим

Код

$sql = "UPDATE admin SET password = $new"; 

$res = mysql_query($sql);


результат тотже, всё меняется, авторизация непускает


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
-=Ustas=-
Дата 9.9.2005, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

Репутация: 17
Всего: 69



Слушай, что ты чудеса какие-то рассказываешь! smile Выкинь сюда весь код вместе с формами.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
R.M.
Дата 9.9.2005, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


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

Репутация: 0
Всего: 30



-=Ustas=-

Вот и я говорю чудеса! А может я чудак? smile Вот проверь.

Авторизация
Форма
auth.htm
Код

<style>
#itt {border: 1px solid rgb(108, 116, 127);}
</style>


<form action=auth.php method=post>
<table cellpadding=0 cellspacing=10 style="BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid;">
<tr>
<td>
Лоин: <input type=text name=login id=itt size=22><br><br>
Пароль: <input type=password name=password id=itt size=20><br><br>
<center><input type=submit value=Войти id=itt></center>
</td>
</tr>
</table>
</form>


Скрипт
auth.php
Код

<?
session_start();

$hostname = "localhost";
$username = "adminjbe";
$password = "123";
$dbName = "adminjbe";

$userstable = "admin";

MYSQL_CONNECT($hostname,$username,$password) OR DIE("Не конектится");
@mysql_select_db("$dbName") or die("Не могу выбрать базу данных ");

$sql = "SELECT login, password FROM admin WHERE login = '".mysql_escape_string($_POST['login'])."' AND password = '".(mysql_escape_string($password))."' LIMIT 1";

$res = mysql_query($sql);
if ($res) 
{
if (mysql_num_rows($res) <= 0) 
{
echo "Вы ошиблись при вводе логина/пароля<br>";
} else {
$_SESSION['admin'] = 1;
header("Location:admin.php");
}
} else {
echo mysql_error();
}
?>


Админка
admin.php
Код

<?
session_start();
if(isset($_SESSION['admin'])) { echo "
<a href=add.php>Добавить новость</a><br><br><a href=change.php>Сменить пароль</a>
";}
else
echo "Вы не авторизированы";
?>


Т.к. новости пашут, вот смена пароля
форма
change.php
Код

<?
session_start();
?>
<style>
#itt {border: 1px solid rgb(108, 116, 127);}
</style>

<?
if(isset($_SESSION['admin']))
echo "
<table cellpadding=0 cellspacing=10 style='BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid;'>
<tr>
<td>
<form action=changepass.php method=post>
Новый пароль: <input type=password name=new size=16 id=itt><br><br>
<center><input type=submit value=Сменить id=itt></center>
</form>
</td>
</tr>
</table>
";
else
echo "Вы не авторизированы";
?>


скрипт
changepass.php
Код

<?
$hostname = "localhost";
$username = "adminjbe";
$password = "123";
$dbName = "adminjbe";

$userstable = "admin";

if(isset($_POST['new']))
{$new = $_POST['new'];}

MYSQL_CONNECT($hostname,$username,$password) OR DIE("Не конектится");
@mysql_select_db("$dbName") or die("Не могу выбрать базу данных ");

$sql = "UPDATE admin SET password = $new"; 

$res = mysql_query($sql);
echo mysql_error();
MYSQL_CLOSE();
?>


Вот вобщем, я вообще непонимаю в чём дело smile

Это сообщение отредактировал(а) Куксикус - 9.9.2005, 14:21


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
-=Ustas=-
Дата 9.9.2005, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

Репутация: 17
Всего: 69



Дествительно, оказывается это ты чудик! smile
Как ты думаешь, что сможет сделать этот запрос?
Цитата

Код

UPDATE admin SET password = $new

Добавлено @ 14:32
Форма смены пароля:
Код

<form action=changepass.php method=post>
Ваш логин : <input type=text name=login size=16 id=itt><br><br>
Новый пароль: <input type=password name=new size=16 id=itt><br><br>
<center><input type=submit value=Сменить id=itt></center>

SQL-запрос в файле changepass.php
Код

$sql = "UPDATE
            admin
        SET
            password = '".$_POST['new']."'
        WHERE
            login = '".$_POST['login']."'";

Попробуй так.

Это сообщение отредактировал(а) -=Ustas=- - 9.9.2005, 14:32


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
R.M.
Дата 9.9.2005, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


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

Репутация: 0
Всего: 30



-=Ustas=-

Всё заработало, тока я так и непонял почему не работал новый пароль если я ево менял через phpmyadmin, ведь в базе всё менялось.
Большое тебе спасибо! Держи +

Ладно, вобщем я приду тока ночью терь, может ещё о чём поспрашиваю smile


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
-=Ustas=-
Дата 9.9.2005, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

Репутация: 17
Всего: 69



Да, и еще, используй для паролей хеширование md5. Безопасней будет.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Black
Дата 9.9.2005, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Web-Development
**


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

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



Цитата
Всё заработало, тока я так и непонял почему не работал новый пароль если я ево менял через phpmyadmin, ведь в базе всё менялось.


после смены пароля, чтобы он заработал тебе надо было дать команду серверу mysql
Цитата
FLUSH PRIVILEGES;



--------------------
Могу все, но ничего не умею :-)
PM WWW   Вверх
R.M.
Дата 10.9.2005, 00:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


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

Репутация: 0
Всего: 30



-=Ustas=-

Цитата
Да, и еще, используй для паролей хеширование md5. Безопасней будет.


Обязательно использую, просто чтобы меньше возни было и проще было найти ошибки я пока сделал так

Кстати главный глюк был изза таво што было 2 одинаковых переменных, одна - $password пароль к БД, а вторая такаяже пароль в авторизации, поэтому работал тока 123 т.к. пароль к БД был 123 smile


PHP-DIRECTOR

У меня и без неё все работает smile


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




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


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

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