mysql селект

Dido_net

Registered
Здравейте, тук се пробвам да направя нещо с локалния ми тракер.. искам да направя още един човек админ, добре, правя го, но като се опита да влезе в админ панела му излиза че няма права, погледнах кода на админския панел и видях това:


// Additional admin check by miskotes
$level=mysql_fetch_array(mysql_query("SELECT id_level FROM users_level WHERE admin_access='yes'"));
$ranid=mysql_fetch_array(mysql_query("SELECT id, random FROM users WHERE id_level='". $level["id_level"] ."'"));
$aid = 0 + $_GET["user"];
$arandom = $_GET["code"];
if (!$aid || empty($aid) || $aid==0 || !$arandom || empty($arandom) || $arandom==0)
{
standardheader('Access Denied');
err_msg(ERROR,NOT_ADMIN_CP_ACCESS);
stdfoot();
exit;
}
if ($arandom!=$ranid["random"] || $aid!=$ranid["id"])
{
standardheader('Access Denied');
err_msg(ERROR,NOT_ADMIN_CP_ACCESS);
stdfoot();
exit;
}



тази част на таблицата users която се ползва е това :

Код:
id  |   id_level   |    random
-----------------------------
1   |   8                |   342343
2   |   8                |   134133

а на таблицата users_level е това :

Код:
id   |   admin_access
-----------------------
8    |   yes


съмнявам се, че защото кода селекира 1во мене, защото съм с id 1 и за това не може да сравни с неговите id и random както трябва. как да оправя проблема? :roll:
 

jooorooo

Registered
какво е това random ? не знам дали не е някакъв идентификатор. пробваи ако го направиш като твоя.
 

Dido_net

Registered
random е число което се генерира при регистрация, генерират го с rand
а линка за админ панела представлява ?user=USER_ID&code=RANDOM

където USER_ID е равно на юзър ид-то пък рандома е рандом кода на избрания юзър.. :roll:
 

jooorooo

Registered
или аз не схванах смисъл или има грешка....... :!:

SELECT id_level FROM users_level WHERE admin_access='yes'

id | admin_access
id различно от id_level
 

Горе