Есть раздел обычного userа и администратора. Пароли и имена подключения администратора и user, храниться в отдельной таблице в базе данных. Столкнулся с проблемой. Когда обычный user подключается к системе, и если он нажимает на "Administration" то может идти дальше, система не реагирует на то, что он обычный user а не админ. Помогите устранить эту проблему. Заранее благодарю.
neverlose В PHP я новичок, поэтому не очень разбираюсь. Не могли бы вы помочь мне решить проблему с “user”? В базе данных в таблицах “admin” и “user” я создал поля “id”, присвоил им значение “999” и “333”. Пробовал таким образом решить проблему, но не работает: <?php // Show LOGIN links if this is the LOGOUT page. if (isset($_SESSION['email']) AND (substr($_SERVER['PHP_SELF'], -10) != 'logout.php')) { $my = 999; echo '<a href="logout.php">Logout</a><br /> <a href="change_password.php">Change Password</a><br /> <a href="view_users.php">View users</a><br /> <a href="view_unsubscribe_users.php">View unsubscribe users</a><br /> <a href="search.php">Search users</a><br /> '; } else { // Not logged in. echo ' <a href="register.php">Register</a><br /> <a href="index.php">Login</a><br /> <a href="forgot_password.php">Forgot Password</a><br /> '; } if($my->id<999){ header('Location: view_users.php'); }else { header('Location: index.php'); } ?> Может быть всё это нужно делать в файле “login.php”?
Хочешь чисто одминский подход? 1. создай таблицу users с колонками id, name, pass, privileges (ну и напиши форму регистрации пользователя и собсно сам файл регистрации. и на заметку прими значения priviltges 1=админ, 2=пользователь) 2. login.php примерно такой PHP: <?php session_start(); include('config.php'); include('antihack.php'); if (!$_POST["login"] or !$_POST["pass"]) { header("Location: index.php"); exit; } if ($_POST["login"]!="") {antihack($_POST["login"]);} if ($_POST["pass"]!="") {antihack($_POST["pass"]);} $query = "select count(*) from users where login='".$_POST["login"]."' and pass = '".$_POST["pass"]."'"; $lst = mysql_query($query); if (mysql_result($lst,0,0)== 1) { $auth_login = $_POST["login"]; $auth_pass = $_POST["pass"]; session_register("auth_login"); session_register("auth_pass"); header("Location: index.php"); } else { print "<font color='red'>Несуществующий пользователь или неверный пароль</font> <br>Для авторизации введите Имя пользователя и пароль в верхнем правом углу! на <a href=index.php>этой странице</a>"; } ?> далее на нужной страничке вытащи привилегии пользователя сессии можно сделать так: PHP: $res = mysql_query("SELECT priveleges as priv FROM users WHERE login = '".auth_login."'); $priv = mysql_fetch_assoc($res); далее (я так понимаю у тя "Админка" это ссылка) делаешь так: if ($priv["priv"] !=1) {echo "идёте в попу";} else { ссылка на админку} logout.php PHP: <?php session_start(); session_unregister("auth_login"); session_unregister("auth_pass"); session_destroy(); header("Location: index.php"); ?>