Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/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_Session_Login Script - Fatal编程技术网

PHP登录脚本-可能的会话错误

PHP登录脚本-可能的会话错误,php,session,login-script,Php,Session,Login Script,我正在为一个客户开发一个登录系统,我遇到了一个我不确定如何解决的问题。我将其设置为,当用户试图访问某个目录的index.php时,他们需要登录。我这样做的代码是: <?php session_start(); if(!$_SESSION['myusername']){ header("location:Login_admin.php"); } ?> 最初,上面的代码没有session_start(),因此我添加了它以试图解决我的问题 实际问题是会话未注

我正在为一个客户开发一个登录系统,我遇到了一个我不确定如何解决的问题。我将其设置为,当用户试图访问某个目录的index.php时,他们需要登录。我这样做的代码是:

<?php
   session_start();
   if(!$_SESSION['myusername']){
      header("location:Login_admin.php");
   }
?>
最初,上面的代码没有session_start(),因此我添加了它以试图解决我的问题

实际问题是会话未注册。如果我转到director中的另一个页面(所有页面的顶部都有第一段代码)并登录,它会按照我的意愿将我发送到index.php,但当我尝试返回该页面时,它会使我再次登录。有一次,我的索引页面上有第一段代码,即使正确登录,它也会循环回到登录页面

我的一个朋友给我看了这个脚本,但实际上没有太大变化。剧本最初有:

session_register("myusername");
但经过一些调试后,我将其更改为:

$_SESSION['myusername'];
最后一点,我不是专家,这个问题可能被认为是一个愚蠢的错误,但就我个人而言,我无法理解

提前谢谢

$_SESSION['myusername'];
行绝对不做任何事 要给会话变量赋值,必须给会话变量赋值
PHP中为变量指定值的常用方法是,必须为每个会话变量指定一个值

$_SESSION['myusername'] = 'thename';
$_SESSION['password'] = '*******';

正确的方法是:$\u会话['myusername']=$myusername?下面的两个答案都帮助我解决了这个问题。谢谢大家!
$_SESSION['myusername'] = 'thename';
$_SESSION['password'] = '*******';