Php 检查用户是否已登录,然后检查用户是否已在选中单选按钮的情况下登录

Php 检查用户是否已登录,然后检查用户是否已在选中单选按钮的情况下登录,php,Php,这是我在这里的第一篇帖子,所以请对评论保持温和 我有一个我正在玩的网站。它有一个基本的登录页面/注册页面。如果用户未登录,他可以访问所有页面,但无法查看价格。用户登录后,价格将变为可用。我的问题是,当用户在登录页面上时,他可以选择两个单选按钮中的一个,选择的用户将登录,并显示其中一个单选按钮的特定内容。。i、 e:登录并点击高价(登录后我可以看到高价)注销并点击登录并选中低价,然后我只看到低价 这是我的login.php代码 <?php require('db.php'); // If f

这是我在这里的第一篇帖子,所以请对评论保持温和

我有一个我正在玩的网站。它有一个基本的登录页面/注册页面。如果用户未登录,他可以访问所有页面,但无法查看价格。用户登录后,价格将变为可用。我的问题是,当用户在登录页面上时,他可以选择两个单选按钮中的一个,选择的用户将登录,并显示其中一个单选按钮的特定内容。。i、 e:登录并点击高价(登录后我可以看到高价)注销并点击登录并选中低价,然后我只看到低价

这是我的login.php代码

<?php
require('db.php');
// If form submitted, insert values into the database.
if (isset($_POST['username'])){

    $username = stripslashes($_REQUEST['username']); // removes backslashes
    $username = mysqli_real_escape_string($con,$username); //escapes special characters in a string
    $password = stripslashes($_REQUEST['password']);
    $password = mysqli_real_escape_string($con,$password);

//Checking is user existing in the database or not
    $query = "SELECT * FROM `users` WHERE username='$username' and password='".md5($password)."'";
    $result = mysqli_query($con,$query) or die(mysql_error());
    $rows = mysqli_num_rows($result);
    if($rows==1){
        $_SESSION['username'] = $username;
        header("Location: index.php"); // Redirect user to index.php
        }else{
            echo "<div class='form'><h3>Username/password is incorrect.</h3><br/>Click here to <a href='login_page.php'>Login</a></div>";
            }
}else{?>

<!-- header ends here -->
<!-- ****************************************** -->
<!-- enquiry / newsletter / login / register goes here -->
<div class="container">
</div>
<div class="clear"></div>
<!-- Main page content goes here -->
<div class="content_landing">
<p><div class="form">
<h2>Log In to view Prices and Specials</h2>
<form action="" method="post" name="login">
<input type="radio" name="radio" value="birthday" checked> Birthday Prices<br>
 <input type="radio" name="radio" value="corporate"> Corporate Prices<br>
<input type="text" name="username" placeholder="Username" required /><br>
<input type="password" name="password" placeholder="Password" required /><br>
<input name="submit" type="submit" value="Login" />
</form>
<p>Not registered yet? <a href='registration.php'>Register Here</a></p>
</div></p>
<?php } ?>
</div>
</div>

您只需分配一个新的会话变量,在显示定价时检查该变量:

<?php
require('db.php');
if (isset($_POST['username'])){
    $username = stripslashes($_REQUEST['username']);
    $username = mysqli_real_escape_string($con,$username);
    $password = stripslashes($_REQUEST['password']);
    $password = mysqli_real_escape_string($con,$password);
    $query = "SELECT * FROM `users` WHERE username='$username' and password='".md5($password)."'";
    $result = mysqli_query($con,$query) or die(mysql_error());
    $rows = mysqli_num_rows($result);
    if($rows==1){
        $_SESSION['username'] = $username;
        $_SESSION['view_type'] = (!empty($_POST['corporate']))? 'c' : 'b';
        header("Location: index.php");
        exit;
    }else{
        echo "<div class='form'><h3>Username/password is incorrect.</h3><br/>Click here to <a href='login_page.php'>Login</a></div>";
    }
} else { ?>...etc.
所以你可以这样做:

# Logged In?
if(isLoggedIn()) {
    # What kind of login?
    echo (isCorporate())? 'Higher value' : 'Lower value';
}
else
    # Not logged in...
    echo 'Log in to see price!';
在决定价格视图时,请对照
$\u会话['view\u type']
进行检查

要仅使用视图类型,您可以使用同一表单和复选框,如果选中,将允许您的逻辑忽略用户名和密码字段。您可以使用单独的表单和这些表单,您可以使用两个样式


@verjas我基本上希望用户登录以查看公司或生日派对的价格,或者如果他们没有登录,则只是为了查看页面内容。一旦他们登录产品页面,就会显示公司价格或生日价格。我没有使用数据库来存储价格。。。它们在产品页面的if isset中的每个产品描述下。是的,这很好,那么我向您展示的内容将起作用。如果您希望它们只需单击一个按钮,您可以创建单独的表单,他们可以在其中提交这两个选项,您只需设置视图类型。在我更好地了解您所做的工作时,有没有办法让我们来回聊天?而不是我在评论里问几百个问题?也许我能更好地解释我想要什么,然后一旦我做对了,我就可以更新我的问题了?在我更好地了解你所做的事情的同时,有没有一种方法可以让我们来回聊天?而不是我在评论里问几百个问题?也许我能更好地解释我想要什么,然后一旦我做对了,我就可以更新我的问题了?
# Checks if user is corporate
function isCorporate()
    {
        return (isset($_SESSION['view_type']) && $_SESSION['view_type'] == 'c');
    }
# Checks if user is birthday
function isBirthday()
    {
        return (isset($_SESSION['view_type']) && $_SESSION['view_type'] == 'b');
    }
# Checks if user is logged in at all
function isLoggedIn()
    {
        return (!empty($_SESSION['username']));
    }
# Logged In?
if(isLoggedIn()) {
    # What kind of login?
    echo (isCorporate())? 'Higher value' : 'Lower value';
}
else
    # Not logged in...
    echo 'Log in to see price!';
<?php
if(isset($_SESSION['username'])){ ?>
    <p>Pricing below:</p>
    <?php if(isCorporate()) { ?>
    <h1>$100</h1>
    <?php } elseif(isBirthday()) { ?>
    <h3>$50</h3>
    <?php } else { ?>
    <p><em>NOT SET YET</em></p>
    <?php } ?>
    <p><a class="link" href="logout.php" style="text-decoration:none">Logout</a></p>
<?php } else { ?>
    <a class="link" href="login_page.php" style="text-decoration:none">login</a> or <a class="link" href="registration_page.php" style="text-decoration:none">Register</a>
<?php } ?>