Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 登录和授权页面问题(会话)_Php - Fatal编程技术网

Php 登录和授权页面问题(会话)

Php 登录和授权页面问题(会话),php,Php,我正在用Wordpress建立我的网站。我正在为学校创建一个登录系统,以便登录我的系统查看您的信息。我遇到了一个问题,当用户使用授权登录时,他们无法进入授权页面,即查看产品页面 请帮忙 下面是登录代码 session_start(); if($_SERVER["REQUEST_METHOD"] == "POST") { // School code and password sent from Form $myschoolcode = ($_POST['schoolcode']); $mypa

我正在用Wordpress建立我的网站。我正在为学校创建一个登录系统,以便登录我的系统查看您的信息。我遇到了一个问题,当用户使用授权登录时,他们无法进入授权页面,即查看产品页面

请帮忙

下面是登录代码

session_start();
if($_SERVER["REQUEST_METHOD"] == "POST") {

// School code and password sent from Form
$myschoolcode = ($_POST['schoolcode']);
$mypassword = ($_POST['password']);

$sql = "SELECT school_id FROM schools_info WHERE SchoolCode = '$myschoolcode' and Password = '$mypassword'";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
$active = $row['active'];
$count = mysql_num_rows($result);

// If result matched $myschoolcode and $mypassword, table row must be 1 row
if($count == 1) {
session_register("myschoolcode");
$_SESSION['login_school'] = $myschoolcode;

header("location: ../view-products/");
}
else
{
?>
    <script type="text/javascript">
    alert("Your School Code or Password is incorrect, please reenter");
    history.back();
    </script>
    <?php
}

}

如果我能-1这个我会的。最后一个问题是会话,第一个也是最重要的问题是存储普通密码?甚至连一个粗糙的MD5都没有?甚至连一个mt_rand()都没有?就这么简单?->大问题!第二)获取用户输入的数据,这些数据甚至没有经过过滤或验证,并立即将其插入到查询中,您认为这样做是安全的,因为您使用了

“$请现在给我注射”

你应该使用PDO。请看一下Php PDO手册

好吧,除了我的咆哮之外,仅仅从您的视图来看,我不明白您为什么要从$\u会话变量执行另一个查询

如果凭据与您所做的匹配,则只需设置会话变量

现在,在每个视图页面的顶部或在此视图中(例如,该页面),您需要做的是:

if(!isset($_SESSION['LoggedIn'])){ // If session variable 'LoggedIn' is not set then
        die("Access denied, you must <a href='index.php'><bold>Login</bold></a> to view this page!"); // Die with the message Access Denied, You must Login to view this page!
} else { // If session variable LoggedIn is set then yyyyaaay! Do your thing man.
  .........
}
如果(!isset($\u SESSION['LoggedIn']){//如果未设置会话变量'LoggedIn',则
die(“拒绝访问,您必须查看此页面!”);//如果消息拒绝访问,则必须登录才能查看此页面!
}否则{//如果设置了会话变量LoggedIn,那么yyyyyaaay!做你该做的事。
.........
}
请阅读我的评论。您必须使用某种密码保护=任何一种?也别忘了PDO

编辑1


在实现上述解决方案之前,不要忘记添加session_start()(不过您可能已经知道了)

谢谢。我现在明白了。系统处于早期阶段,安全模块将在稍后实施。好吧,那很好,你让我害怕了一会儿!每个人都从某个地方开始,所以不要小看你自己或你的努力!!祝您好运,先生/妈妈,一如既往地享受。
if(!isset($_SESSION['LoggedIn'])){ // If session variable 'LoggedIn' is not set then
        die("Access denied, you must <a href='index.php'><bold>Login</bold></a> to view this page!"); // Die with the message Access Denied, You must Login to view this page!
} else { // If session variable LoggedIn is set then yyyyaaay! Do your thing man.
  .........
}