如何仅在用户登录php时显示特定页面
您好,我在核心PHP中创建了一个管理面板,没有登录到管理面板,我可以看到管理面板内的菜单。有人能帮我解决这个问题吗。 这是我的密码 Blogs.php如何仅在用户登录php时显示特定页面,php,mysql,Php,Mysql,您好,我在核心PHP中创建了一个管理面板,没有登录到管理面板,我可以看到管理面板内的菜单。有人能帮我解决这个问题吗。 这是我的密码 Blogs.php <?php $connection = mysql_connect("localhost", "root", "") or die(mysql_error()); $db = mysql_select_db("accountant", $connection); $name=$_FILES["image"]["tmp_name"]; $ty
<?php
$connection = mysql_connect("localhost", "root", "") or die(mysql_error());
$db = mysql_select_db("accountant", $connection);
$name=$_FILES["image"]["tmp_name"];
$type=$_FILES["myfile"]["type"];
$size=$_FILES["myfile"]["size"];
$temp=$_FILES["myfile"]["tmp_name"];
$error=$_FILES["myfile"]["error"];
if($error>0)
die("error while uploading");
else
{
if($type == "image/png" || $type == "image/jpeg" ||$type == "image/jpg" || $type == "image/svg" || $size >2000000)
{
move_uploaded_file($temp,"upload/".$name);
echo "upload complete";
}
else
{
die("Format not allowed or file size too big!");
}
}
形象
login.php
<?php
session_start()
?>
<!DOCTYPE html>
<html>
<head>
<title>Login Form</title>
<link href="style.css" type="text/css" rel="stylesheet">
</head>
<body>
<form method="post" action="login_model.php">
<div class="table">
<div class="message">
<?php
if(isset($_SESSION["message"]))
{
echo"Registration Successful";
unset($_SESSION["message"]);
}
if(isset($_SESSION["messagefail"]))
{
echo"You entered wrong cradentials...Try Again here";
unset($_SESSION["messagefail"]);
}
if (isset($_SESSION['logout'])) {
echo "Logout Successful";
session_destroy();
}
?>
</div>
<h1 align="center"> ADMIN Login Page </h1>
<table align="center" border="1">
<tr>
<td> User Name : <input type="text" name="admin_email" id="admin_email" ></td>
</tr>
<tr>
<td> Password : <input name="admin_password" type="password" id="admin_password" ></td>
</tr>
<tr>
<td><input type="submit" name="submit1" value="Submit"/>
</tr>
</table>
</div>
</form>
登录表单
管理员登录页面
用户名:
密码:
login_model.php
<?php
$connection = mysql_connect("localhost", "root", "") or die(mysql_error());
$db = mysql_select_db("accountant", $connection);
$name = $_POST["admin_email"];
$password = $_POST["admin_password"];
if(isset($_POST['submit1'])){
$query = "SELECT * FROM admin_login where admin_email= '$name' AND admin_password= '$password' ";
$result = mysql_query($query);
$rows=mysql_num_rows($result);
if($rows>0){
session_start();
header("Location:blog.php");
}
else
{
echo "Invalid Username or Password";
}
}
?>
您可以这样做:
在代码开头的每一页上,您都必须检查会话。
会话将仅通过成功登录进行设置。
如果找不到会话,请将其重定向到登录页面。
blog.php上的示例代码
<?php
If(!isset($_SESSION['YOUR_SESSION_Variable']))
{
header('Location: login.php');
}?>
假设您的登录文件在同一位置为“login.php”。
<?php
$connection = mysql_connect("localhost", "root", "") or die(mysql_error());
$db = mysql_select_db("accountant", $connection);
$name = $_POST["admin_email"];
$password = $_POST["admin_password"];
if(isset($_POST['submit1'])){
$query = "SELECT * FROM admin_login where admin_email= '$name' AND admin_password= '$password' ";
$result = mysql_query($query);
$rows=mysql_num_rows($result);
//Change this condition also like :
if($rows==1){
session_start();
// Set Your Session Variable Here like following:
$_SESSION['userId'] = "Your User Id From The Query";
header("Location:blog.php");
}
else
{
echo "Invalid Username or Password";
}
}
?>
类似于您的另一个问题-来自给定/公认的答案;那么这里有什么问题?我看不到任何与您想要做的事情相关的内容。如果没有loggin,如果我将直接url设置为localhost/accounting/admin/blog.php,那么它将打开该特定页面,但它应该仅在用户登录时显示,否则它将重定向到登录页面。您在这里没有相关代码。问下面给你答案的人。在你发布的问题中,我无法在已解决的数据库中插入隐藏字段id。你的解释与此处的代码完全无关。谢谢你的url工作,但如果我尝试登录,我也无法使用正确的凭据登录。@user5751258你应该启动会话session_start()代码>它只会检查用户的会话是否处于活动状态,如果未处于活动状态,则会将其重定向到登录页面。但我无法使用正确的凭据登录also@SanzeebAryal我已经开始上课了
<?php
$connection = mysql_connect("localhost", "root", "") or die(mysql_error());
$db = mysql_select_db("accountant", $connection);
$name = $_POST["admin_email"];
$password = $_POST["admin_password"];
if(isset($_POST['submit1'])){
$query = "SELECT * FROM admin_login where admin_email= '$name' AND admin_password= '$password' ";
$result = mysql_query($query);
$rows=mysql_num_rows($result);
//Change this condition also like :
if($rows==1){
session_start();
// Set Your Session Variable Here like following:
$_SESSION['userId'] = "Your User Id From The Query";
header("Location:blog.php");
}
else
{
echo "Invalid Username or Password";
}
}
?>