사용자가 admin (2)이거나 noarmal user (1) 인 경우 다른 내용을 표시하려고합니다. 로그인 잘 작동하지만 사용자가 'usertype'1 또는 2를 가지고 있는지 확인하기가 어렵습니다. PHP $ _SESSION을 사용하고 싶습니다.
<?php
mysql_connect('localhost', 'root', '');
mysql_select_db('news');
$sql = "SELECT users_tbl.usertype FROM users_tbl";
$result = mysql_query($sql);
$user = mysql_fetch_array($result);
$_SESSION['user'] = $user['user'];
$_SESSION['usertype'] = $user['usertype'];
if($_SESSION['user']['usertype'] == 2)
{?>
<h1>Only admin stuff</h1>
<$? }//Endif user is admin(2) ?>
을 아마 대신 일을 :
session_start();
if(isset($_POST['userid']) && isset($_POST['password'])){
$userid = $_POST['userid'];
$password = $_POST['password'];
$dbc = mysqli_connect('localhost', 'root', '', 'news');
if(!$dbc){
echo "Cannot connect to database";
exit;
}
$query = "SELECT * FROM users_tbl WHERE email = '$userid' AND password = sha1('$password')";
$result = $dbc->query($query);
if($result->num_rows)
{
$_SESSION['valid_user'] = $userid;
}
$dbc->close();
}
if(isset($_SESSION['valid_user'])){
header("location:prefs.php");
}else{
header("location:login.php");
echo 'Error';
}
이 난 시도 것입니다 : 이것은 내 authentication.php입니다
<!-- Log in -->
<form method="post" action="authentication.php">
<input type="text" name="userid" placeholder="E-mail" required/>
<input type="password" name="password" placeholder="Password" required/><br>
<button type="submit" name="submit" class="btn">Log in</button>
</form>
:
이
내 로그인 폼이다 사용자가 관리자인지를 매번 확인하기 위해 $ _SESSION [ 'usertype']을 저장 한 다음이 값을 사용하여 사용자가 2인지 확인하고, 관리자, 어쩌면 사용자가 로그인 할 때? 그러나 나는 이것을 어떻게하는지 모른다. 나는 이것에 아주 새롭다.
'$ _SESSION' 변수를 사용하기 전에'session_start()'를 호출해야합니다. 이것이 설정하지 않은 이유 중 하나 일 수 있습니다. – Stu
$ _SESSION [ 'valid_user'] isset – user1906437