检查是否是用户,然后检查成员

时间:2015-10-08 16:02:02

标签: php mysqli

所以我正在检查访问该页面的人是否是用户,然后将其重定向到注册页面,如果他们不是。

然后我正在检查用户是否是会员(付费订阅),如果没有,则重定向到用户页面。

重定向非用户工作 但是使用下面的代码,由于is_member检查

,没有人可以访问会员页面
<?php
error_reporting(0);
session_start();
include('connect.php');
ob_start();

if(!isset($_SESSION['username']))
{
    header("**********");
}
else
{
    $username =$_SESSION['username']  ;
}
$check = $mysqli->query("SELECT is_Member FROM users WHERE username = $username");
$row = mysql_fetch_assoc($check);
$isMember = $row['is_member'];
if ($isMember == 0){
    header("*************");
}

is_member是1或0: 1表示他们是成员

连接文件:

<?php
$servername = "*****";
$user = "*****";
$password = "*****";
$dbname = "******";

$mysqli = new mysqli($servername, $user, $password, $dbname); //used to connect to the database

if ($mysqli->connect_error) {
     die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
}
?>

2 个答案:

答案 0 :(得分:4)

WHERE username = $username");

如果变量是一个字符串(即:&#34; john&#34;,那么它应该用引号括起来:

WHERE username = '$username'");

然后你使用mysql_函数mysql_fetch_assoc,它不与其他任何MySQL API混合使用。

必须为mysqli_fetch_assoc读取,并为该函数添加i

请参阅以下链接http://php.net/manual/en/mysqli.error.phphttp://php.net/manual/en/function.error-reporting.php 并将其应用于您的代码。

您还应在每个标头后添加exit;,否则您可能希望代码继续执行。

另一件事;您的代码很容易注入SQL。你最好使用准备好的陈述。

答案 1 :(得分:1)

您的支票似乎总是错误的,因为没有is_member值,这是一个错字。替换这个:

$isMember = $row['is_member'];

用这个:

$isMember = $row['is_Member'];

此外,您的else声明可能应包含更多