Autor Zpráva
hrubos
Profil
Plz , how to solve if when user login, system can realize he is an admin or an user???
intimidant
Profil *
dát mu do db sloupec admin s hodnotami 0 / 1 :o)
czcore
Profil *
intimidant: hrubě :-)
hrubos
Profil
hej, show me example. I still don't understand ur suggestion.
Thanx bro much
czcore
Profil *
if u do not understand, you should learn total basic of programing apliactions
hrubos
Profil
u can show me detaily???
nightfish
Profil
hrubos
well i guess you can switch to czech... really no need to speak english here...

however, you can use something like
$query = "select admin from users where login = '$login'";
$result = mysql_query($query);
if ($result && mysql_num_rows($result)) {
$res = mysql_$result($result,0,0:
} else $res = "n";
if ($res == "y") {
//user is admin
}
hrubos
Profil
takjo, ale teky jsem zahranicni studentka.Vim ze nekdy napisu cesky spatne.

Takze, chtela bych se zeptat ze jsetli jsme vytvorila tabulka user,ve ktere jsou pole "user_name", a pole" pass word ". Nevim presne ze po registrovani, admin a user muze byt rozdelit???

Co musim zacit s database???
24k
Profil *
omg , si nekdo dela srandu?
hrubos
Profil
coze ???
krteczek
Profil
hrubos:
Tabulka (příklad):

CREATE TABLE `users` (
`users_id` int(11) NOT NULL auto_increment,
`users_name` varchar(50) collate utf8_czech_ci NOT NULL,
`users_name_hash` varchar(40) collate utf8_czech_ci NOT NULL,
`users_password_hash` char(40) collate utf8_czech_ci NOT NULL,
`users_admin` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`users_id`),
UNIQUE KEY `users_name` (`users_name`),
KEY `users_name_hash` (`users_name_hash`),
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci;

users_name_hash => sha1(users_name)//pro jednoduchou a bezpečnou kontrolu
users_password_hash => sha1(password)//heslo se ukládá jen v sha1 tvaru, nepotřebujeme originál
users_admin => 1/0 (true/false)//prostě jestli je to admin nebo ne

jak ověřit uživatele:

//někde si definuj název tabulky:
define("Tab_Users", "useri");

//funkce pro ověření přihlášení, bud přihlásí (nastaví sessiony) a reload, nebo vrátí false
function user_verify($name, $pass)
{
$name = sha1($name);
$pass = sha1($pass);
$dotaz = "SELECT * FROM " . Tab_Users . " WHERE users_name_hash='" . $name . "' AND users_password_hash='" . $pass . "' ";
if($v = mysql_query($dotaz, $spojení))
{
if(mysql_num_rows($v) ==1)
{
$r = mysql_fetch_assoc($v);
$_SESSION['user_login'] = 1;
$_SESSION['user_name'] = $r['users_name'];
if($r['users_admin'] == 1)
{
$_SESSION['user_admin'] = 1;
}
header("location: http://" . $_SERVER['SERVER_NAME']);
exit;
}
}
return false;
}

použití:

if((!empty($_POST['name'])) && (!empty($_POST['pass'])))
{
if(user_verify($_POST['name'], $_POST['pass']) === false)
{
echo '<p>Lituji, heslo, nebo jméno nesouhlasí.</p>';
}
}

krteczek
Toto téma je uzamčeno. Odpověď nelze zaslat.