Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Druggy

Страницы: [1] 2
1
PHP / Подкиньте идейку
« : 10 Ноября 2005, 02:01:08 »
Наду написать, систему авторизации с проверкой того прошел ли пользователь авторизацию или нет. Это нужно для того чтобы с разных компов не могли войти под одной учетной записью. Подкуиньте пожалуйста идейку. как это реализовать... Это как я понимаю, как на форумах "Сейчас на форуме..."

Своих мыслей нету. Надеюсь поможите советом!

2
Веб Сервера / mode rewrite
« : 07 Июня 2005, 02:19:47 »
RewriteRule ^kurs/?$ module.php?r=kurs

3
Веб Сервера / как сделать "/"?
« : 07 Июня 2005, 02:18:33 »
нет мне редирект не ну нужен )))
у меня и так все работает. просто вот интересная задача.

своих мыслей по решению которой у меня совсем нет.
у кого какие идеи?

2 Croaker:
Да вот просто интересно.
Да и вообще это более эстетично что-ли...

4
Веб Сервера / как сделать "/"?
« : 06 Июня 2005, 00:45:16 »
Вопрос уже поднимал, но ответа так и не получил.

набираем http://www.artlebedev.ru/tools
а в строке адреса получается http://www.artlebedev.ru/tools/

Как это сделать?
Вообще ума не приложу...
Это ведь где-то просто в Апаче настраивается?

Может вопрос и кажется глупым, но увидел что такое есть, но не понял как сделать, теперь ломаю себе голову.

У меня вот лично в проектах все работает так:

RewriteRule ^control/?$ /index.php?section=control (например)
тоесть и со слешем работает и без него тоже самое выдает, но как сделать чтобы он в конце сам добавлялся...

вот это загадка...

5
PHP / Помогите разобраться со скриптом
« : 15 Апреля 2005, 15:15:30 »
делаю запрос  select * from users where username=\'name\' - все хорошо.
делаю запрос  select * from users where passwd=password(\'pass\') - сообщает об ошибке: ERROR 1267 (HY000): Illegal mix of collations (cp1251_general_cs,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation \'=\'.

6
PHP / Помогите разобраться со скриптом
« : 15 Апреля 2005, 15:06:01 »
А вот хрен его знает, как они так получаются.
в htm


может что с этим не так:
запустил phpMyAdmin
он вот что показывает:
MySQL-кодировка: UTF-8 Unicode (utf8)
Сопоставление соединения с MySQL: cp1251_general_cs

7
PHP / Помогите разобраться со скриптом
« : 15 Апреля 2005, 14:46:25 »
default-character-set=cp1251

8
PHP / Помогите разобраться со скриптом
« : 15 Апреля 2005, 14:26:05 »
на винде.

9
PHP / Помогите разобраться со скриптом
« : 15 Апреля 2005, 14:22:00 »
блин может у меня с кодировками что не так?
в конфигурационном файле такая строка:
default-character-set=cp1251

запустил phpMyAdmin
он вот что показывает:
 MySQL-кодировка:  UTF-8 Unicode (utf8)
 Сопоставление соединения с MySQL: cp1251_general_cs

... ???

10
PHP / Помогите разобраться со скриптом
« : 15 Апреля 2005, 14:14:07 »
я понимаю. просто не знаю как это исправить.
как я понимаю данные которые ввожу всетаки находятся в кодировке cp1251_general_ci, IMPLICIT, а то что лежит в базе находится в кодировке latin1_swedish_ci,COERCIBLE, так ведь? И как все сделать чтобы в одной кодировке работало?
Блин вообще не понимаю уже ничего. сколько часов одну это херню делаю =))) крыша едет! )))

11
PHP / Помогите разобраться со скриптом
« : 15 Апреля 2005, 13:51:12 »
блин теперь он мне на запрос select * from users where username=\'name\' and passwd=password(\'pass\');
выдает следующее сообщение об ошибке:
ERROR 1267 (HY000): Illegal mix of collations (cp1251_general_ci,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation \'=\'

12
PHP / Помогите разобраться со скриптом
« : 15 Апреля 2005, 13:37:37 »
через MySQL монитор, через импорт .sql файла все темже MySQL монитором, могу из сценария создать... результат всегда один и тот же... блин.

13
PHP / Помогите разобраться со скриптом
« : 15 Апреля 2005, 13:35:46 »
Цитировать
Croaker:
Ты как пользователя добавляешь?

INSERT INTO users(username, passwd)
VALUES(\'username\', password(\'password\'));

14
PHP / Помогите разобраться со скриптом
« : 15 Апреля 2005, 12:33:58 »
убрал ALTER DATABASE `base` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_cs;



Вот значит вопрос всеравно имеет место:
Случай номер один:

Создаю базу используя операторы:
DROP DATABASE IF EXISTS base;
CREATE DATABASE base;
USE base;
DROP TABLE IF EXISTS users;
CREATE TABLE users
(
   username   CHAR(16) NOT NULL PRIMARY KEY,
   passwd      CHAR(16) NOT NULL
);
INSERT INTO users(username, passwd)
      VALUES(\'username\', \'password\');
GRANT SELECT, INSERT, UPDATE, DELETE
ON base.*
TO db_login@localhost IDENTIFIED BY \'db_password\';

Сценарий такой:

<?php

	
$username = empty($_POST[\'username\']) ?null: $_POST[\'username\'];
	
$passwd = empty($_POST[\'passwd\']) ?null: $_POST[\'passwd\'];
	
$action_keeper = empty($_POST[\'action_keeper\']) ?null: $_POST[\'action_keeper\'];



	
function display_form()
	
{
?>
<form action="" method="post">
<input type="hidden" name="action_keeper" value="login">
Имя пользователя <input type="text" name="username" size="24" maxlength="16" value="">

Пароль <input type="password" name="passwd" size="24" maxlength="16" value="">

<input type="submit" value="Войти">
</form>
<?php
  
	
}



	
if ($action_keeper != \'login\')
	
{
	
	
display_form();
	
}
	
else
	
{
	
	
if (!$username or !$passwd)
	
	
{
	
	
	
print \'Вы ввели не все необходимые для авторизации данные.\';
	
	
	
display_form();
	
	
}
	
	
else
	
	
{
	
	
	
$db_conn = mysql_connect(\'localhost\', \'hFdb48H3La5HJf1k\', \'q2hj56rG6RDstx7p\');
	
	
	
mysql_select_db(\'ion\');
	
	
	
$query = "select * from users where username=\'$username\' and passwd=\'$passwd\'";
	
	
	
$result = mysql_query($query);
	
	
	
if(!$result)
	
	
	
{
	
	
	
	
print \'Невозможно выполнить запрос к базе данных.\';
	
	
	
	
display_form();
	
	
	
	
exit;
	
	
	
}
	
	
	
if (mysql_num_rows($result) > 0)
	
	
	
	
print \'Вы вошли
Скрытая информация.\';
	
	
	
else
	
	
	
{
	
	
	
	
print \'Вы не вошли
\';
	
	
	
	
display_form();
	
	
	
}
	
	
}
	
}

?>


Ввожу нужную информацию - все работает, ввожу неправильно или не ввожу вовсе - выдает ошибки, которые нужно, типа там "не ввели"/"не вошли"... одним словом все хорошо, только вот пароль в базе данных храниться в незашифрованом виде.


Пытаемся его там зашифровать (Случай номер два):

Создаю базу используя операторы:
DROP DATABASE IF EXISTS base;
CREATE DATABASE base;
USE base;
DROP TABLE IF EXISTS users;
CREATE TABLE users
(
   username   CHAR(16) NOT NULL PRIMARY KEY,
   passwd      CHAR(16) NOT NULL
);
INSERT INTO users(username, passwd)
      VALUES(\'username\', password(\'password\'));
GRANT SELECT, INSERT, UPDATE, DELETE
ON base.*
TO db_login@localhost IDENTIFIED BY \'db_password\';

Сценарий такой:

<?php

	
$username = empty($_POST[\'username\']) ?null: $_POST[\'username\'];
	
$passwd = empty($_POST[\'passwd\']) ?null: $_POST[\'passwd\'];
	
$action_keeper = empty($_POST[\'action_keeper\']) ?null: $_POST[\'action_keeper\'];



	
function display_form()
	
{
?>
<form action="" method="post">
<input type="hidden" name="action_keeper" value="login">
Имя пользователя <input type="text" name="username" size="24" maxlength="16" value="">

Пароль <input type="password" name="passwd" size="24" maxlength="16" value="">

<input type="submit" value="Войти">
</form>
<?php
  
	
}



	
if ($action_keeper != \'login\')
	
{
	
	
display_form();
	
}
	
else
	
{
	
	
if (!$username or !$passwd)
	
	
{
	
	
	
print \'Вы ввели не все необходимые для авторизации данные.\';
	
	
	
display_form();
	
	
}
	
	
else
	
	
{
	
	
	
$db_conn = mysql_connect(\'localhost\', \'hFdb48H3La5HJf1k\', \'q2hj56rG6RDstx7p\');
	
	
	
mysql_select_db(\'ion\');
	
	
	
$query = "select * from users where username=\'$username\' and passwd=password(\'$passwd\')";
	
	
	
$result = mysql_query($query);
	
	
	
if(!$result)
	
	
	
{
	
	
	
	
print \'Невозможно выполнить запрос к базе данных.\';
	
	
	
	
display_form();
	
	
	
	
exit;
	
	
	
}
	
	
	
if (mysql_num_rows($result) > 0)
	
	
	
	
print \'Вы вошли
Скрытая информация.\';
	
	
	
else
	
	
	
{
	
	
	
	
print \'Вы не вошли
\';
	
	
	
	
display_form();
	
	
	
}
	
	
}
	
}

?>


Неработает, пишет все время что не вошли.

Ввожу запрос "select * from users where username=\'username\' and passwd=password(\'password\');" напрямую, через MySQL монитор.
Ответ MySQL: Empty set (0.00 sec)


Люди вы же умные! подскажите! ж))))
А то я уже совсем ничего не понимаю...

15
PHP / Помогите разобраться со скриптом
« : 15 Апреля 2005, 12:06:02 »
кодировка базы + кодировка в которой сравнивать... разве не надо? ж)

Страницы: [1] 2