Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.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/2/google-app-engine/4.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
Can';不要将变量添加到php会话中_Php_Session_Configuration_Session Variables_Session Cookies - Fatal编程技术网

Can';不要将变量添加到php会话中

Can';不要将变量添加到php会话中,php,session,configuration,session-variables,session-cookies,Php,Session,Configuration,Session Variables,Session Cookies,我试图将变量添加到会话中,并在函数中读取该变量 下面是index.php: <?php include("include/config.php"); if(!empty($txt_user) && !empty($txt_pass)) { $result=login_func($txt_user,$txt_pass); if($result==1) { header("Location: homepage.php"); }

我试图将变量添加到会话中,并在函数中读取该变量

下面是index.php:

<?php
include("include/config.php");

if(!empty($txt_user) && !empty($txt_pass))
{
    $result=login_func($txt_user,$txt_pass);

    if($result==1)
    {
        header("Location: homepage.php");
    }else{
        $alert_class="alert-danger";
    }
}
?>
<form action="<?php echo("".$_SERVER['PHP_SELF']."");?>" method='post' class='form-validate' id="test">
                <div class="form-group">
                    <div class="email controls">
                        <input type="text" name='txt_user' placeholder="Kullanıcı Adınız" class='form-control' data-rule-required="true">
                    </div>
                </div>
                <div class="form-group">
                    <div class="pw controls">
                        <input type="password" name="txt_pass" placeholder="Şifreniz" class='form-control' data-rule-required="true">
                    </div>
                </div>
                <div class="submit">
                    <input type="submit" value="Giriş Yap" class='btn btn-primary'>
                </div>
            </form>
<?php

ini_set('session.gc_maxlifetime', 3600);
session_start(); 
ob_start();

include("class.php");
include("functions.php");

**connections to db**
?>
function login_func($user,$pass)
{
  $sql=mysql_query("SELECT * FROM table WHERE user_name='$user' AND pass='$pass' LIMIT 1");

  $control_number=mysql_num_rows($sql);
  if(($control_number==1))
  {
    $_SESSION['login_id']=@mysql_result($sql,0,'id');
    $_SESSION['login_name']=@mysql_result($sql,0,'name');
    $_SESSION['login_email']=@mysql_result($sql,0,'email');

    return 1; // true
  }else{
    return 2; //false
  }
}
因此,如果我将以下命令添加到homepage.php,则每个echo的结果都是空的:

   echo $_SESSION['login_id'];
   echo $_SESSION['login_name'];
   echo $_SESSION['login_email'];
即使我只是在函数中执行相同的回显操作,它也不会给出任何输出

所以我被困在这里,找不到导致这个问题的原因。谢谢你的帮助

请不要担心语法错误,我认为唯一的问题是使用错误的会话和会话配置


您正在尝试访问
$txt\u user
$txt\u pass
变量

除非您使用的是PHP5.3及以下版本,否则将从php中删除注册表

注册globals是一个巨大的安全风险,在任何情况下都应该避免


尝试使用
$\u POST['txt\u user']
$\u POST['txt\u pass']
而不是
不要使用
mysql.*
函数。它们只会使您容易受到SQL注入的攻击。请使用
mysqli.*
或准备好的查询。感谢您的评论,我使用的是PHP5.3和所有在服务器上本地工作的代码,而且代码很旧,所以需要升级。