#871 2011.01.11 20:26

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: PHP+MySQL

не может быть 2 primary ключа. он по определению может быть только 1.
если на login стоит primary и все его отличие от обычного id в типе varchar, то разница особо заметна не будет. хотя int, конечно, всегда будет быстрее varchar

Неактивен

#872 2011.01.11 22:18

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: PHP+MySQL

Понял. СпС.

Неактивен

#873 2011.01.15 20:25

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: PHP+MySQL

Вот такой парадокс:

Код:

1
span style="color: #0000BB"><?php//Столбцы: id и who - int и unsigned$array = $sql->query("SELECT `id`, `who`, `login`, `pw` FROM `users` WHERE `login`='$login' LIMIT 1;")->fetch_assoc();$_SESSION['id'] = $array['id'];$_SESSION['who'] = $array['who'];//Почему тогда?$id = isset($_GET['id']) ? abs((int)$_GET['id']) : 0;if($_SESSION['id'] !== $id and 1 < $_SESSION['who']) { header('Location: /?-=usr'); exit(); }//Работает??>

Я уже нашел выход, но все же почему так, если я везде int указал в базе?

Код:

1
span style="color: #0000BB"><?php$_SESSION['id'] = (int)$array['id'];$_SESSION['who'] = (int)$array['who'];?>

Отредактировано tipsun (2011.01.15 20:28)

Неактивен

#874 2011.01.15 23:06

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: PHP+MySQL

потому что INT оно только в базе, а при выборке оно всегда string. это же php.

Неактивен

#875 2011.01.15 23:18

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: PHP+MySQL

СпС. Я думал что снова где-то при переделке ошибку допустил.

Отредактировано tipsun (2011.01.15 23:19)

Неактивен

#876 2011.01.16 00:50

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: PHP+MySQL

зачем ты проверяешь тип переменной? не нужно оно тебе.

Неактивен

#877 2011.01.16 11:28

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: PHP+MySQL

Я проверяю значение.
who = 1 - админ, 2 - модер, 3 - юзер;
Чтоб получить доспук к изменению своей анкеты надо чтоб авторизация совпадала с ид (который был отправлен формой) либо это был админ
Если оба значения неверны, то выкидывает на главную

Отредактировано tipsun (2011.01.16 11:34)

Неактивен

#878 2011.01.16 15:20

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: PHP+MySQL

проверка значения в твоем случае должна выглядеть как !=, ты же проверяешь не только значение, но и тип переменной, чего в твоем случае делать не нужно.

Неактивен

#879 2011.01.16 16:44

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: PHP+MySQL

АА. СПС))
А как быть с 1 < $_SESSION['who']
- Тип проверяться не будет?
- нет оказывается smile

Отредактировано tipsun (2011.01.16 17:10)

Неактивен

#880 2011.01.17 08:34

Swinger
Участник
Зарегистрирован: 2009.09.09
Сообщений: 28
Карма: 1
Профиль

Re: PHP+MySQL

Надо легуляркой убрать все пробелы и переносы...
Но кроме текста тот, что в тэгах <pre> ... </pre>

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.027 s