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