Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.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 - Fatal编程技术网

Php 会话寄存器不工作

Php 会话寄存器不工作,php,session,Php,Session,我在网站登录脚本上注册会话时遇到问题: 事情是这样的,我用webmatrix在我的网站上工作,我在两台不同的计算机上处理相同的文件,我还将网站上传到服务器上。在这三种情况下,它都可以正常工作! 最近,我在一台笔记本电脑上创建了完全相同的工作环境,webmatrix+xampp mysql db-只是在这里我发现会话拒绝创建,代码: (登录页面包含在index.php页面中 <?php session_start(); $no_mail_pass_error=""; $no_user_err

我在网站登录脚本上注册会话时遇到问题: 事情是这样的,我用webmatrix在我的网站上工作,我在两台不同的计算机上处理相同的文件,我还将网站上传到服务器上。在这三种情况下,它都可以正常工作! 最近,我在一台笔记本电脑上创建了完全相同的工作环境,webmatrix+xampp mysql db-只是在这里我发现会话拒绝创建,代码:

(登录页面包含在index.php页面中

<?php
session_start();
$no_mail_pass_error="";
$no_user_error="";
$wrong_pass_error="";

if ($_POST['submit_login']){

$log_email = $_POST ["log_email"]; //VAR $email = to what usename has entered
$log_password = $_POST ["log_password"]; //VAR $password = to what usename has entered
$remember_me = $_POST ["remember_me"];

$log_email = strip_tags($log_email);
$log_password = strip_tags($log_password);

$log_email = mysql_real_escape_string($log_email);
$log_password = mysql_real_escape_string($log_password);

if ($log_email==""||$log_password=="") {
$no_mail_pass_error='
    <div id="login_errors_div" style="display:none;">
    <table border="0">
    <tr>
    <td>
    <img src="ec_mark_25.png"/>   
    </td>
    <td>
    no mail    
    </td>    
    </tr>
    </table>
    <hr />
     </div>

     ';
}
else {

$login_connect = mysql_connect ("***", "***", "***")

or die ("couldnt connect");
mysql_select_db (***) or die ("not found"); //if db was not found die
mysql_query("SET NAMES 'utf8'");

$login_query = mysql_query("SELECT * FROM users WHERE email='$log_email'"); //search for specific username entered

$login_numrows = mysql_num_rows($login_query); //check that it appears AT LEAST in ONE row

if ($login_numrows!=0) // IF IT APPEARS IN NONE - NO USER EXISTS

    {

    while ($row = mysql_fetch_assoc($login_query)) //Takes the whole row of the specific user and extracts all the fields
    {
        $dbemail = $row['email'];
        $dbpassword = $row['password']; //Sets thoes fields into variables
        $id = $row['id'];
        $log_firstname = $row['firstname'];
        $log_lastname = $row['lastname'];
    }

    if ($log_email==$dbemail&&md5($log_password)==$dbpassword)

    {

    if ($remember_me=='on') {
    setcookie ("email",$email,time()+604800);

          session_register('email');
          $_SESSION['email']=$log_email;

          session_register('id');
          $_SESSION['id']=$id;

          session_register('firstname');
          $_SESSION['firstname']=$log_firstname;

          session_register('lastname');
          $_SESSION['lastname']=$log_lastname;

    header ("Location: homepage.php");
    }
    else if ($remember_me=='') {

          session_register('email');
          $_SESSION['email']=$log_email;


          session_register('id');
          $_SESSION['id']=$id;

          session_register('firstname');
          $_SESSION['firstname']=$log_firstname;

          session_register('lastname');
          $_SESSION['lastname']=$log_lastname;


          header ("Location: homepage.php");
          }

    }
    else {
    $wrong_pass_error='
    <div id="wrong_pass_error_div" style="display:none;">
    <table border="0">
    <tr>
    <td>
    <img src="ec_mark_25.png"/>   
    </td>
    <td>
   wrong pass   
    </td>    
    </tr>
    </table>
    <hr />
     </div>
     ';
    }


    }

    else {
    $no_user_error='
    <div id="no_user_error_div" style="display:none;">
    <table border="0">
    <tr>
    <td>
    <img src="ec_mark_25.png"/>   
    </td>
    <td>
    user not found
    </td>    
    </tr>
    </table>
    <hr />
     </div>
     ';
    }
}

}
?>
<form name="login_form" id="logn_form" method="post" action="index.php">
<table border="0" style="margin-left: 60px; margin-bottom: 3px;">

    <tr>    

    <td id="login_info">mail</td>
    <td id="login_info">pass</td>
    <td></td>
    </tr>

    <tr>
    <td><input id="login_input" name="log_email" type="text"/></td>
    <td><input id="login_input" name="log_password" type="password"/></td>
    <td><input id="login_submit" name="submit_login" type="submit" value="enter"/></td>
    </tr>

    <tr>
    <td valign="top">
    <!-- TABLE FOR REMEMBER ME -->  
    <table style="margin: 0px; padding:0px;"><tr>
    <td>  
    <input name="remember_me" type="checkbox"/>
    </td>
    <td>remember me</td>
    </tr></table>
    <!-- TABLE FOR REMEMBER ME - END -->    
        </td>
    <td valign="top"><div style="margin-top: 5px; margin-right: 5px;"><a id="forgot_password_a" href="#">forgot pass</a></div></td>
    </tr>
    </table>
    </form>

邮件
通过
记得我吗

什么可能会阻止会话注册?

检查PHP将会话数据保存在何处。您可以使用phpinfo()找到它,并可以在PHP.ini中对其进行更改。我认为它称为session.save_path,并确保apache用户(或任何web服务器)对该目录具有写访问权限


另外,请查看PHP保存会话数据的位置。您可以使用phpinfo()找到它,并可以在PHP.ini中对其进行更改。我认为它称为session.save_path,并确保apache用户(或任何web服务器)对该目录具有写访问权限


另请查看

将我的评论作为答案发布;)

检查您的PHP版本(我相信它们与这两种环境不同)

自PHP5.3起,
session\u register
已被弃用,在PHP5.4中被删除。只需删除会话寄存器,并使用会话['key']=“value”取而代之


请参阅文档。

将我的评论作为答案发布;)

检查您的PHP版本(我相信它们与这两种环境不同)

自PHP5.3起,
session\u register
已被弃用,在PHP5.4中被删除。只需删除会话寄存器,并使用会话['key']=“value”取而代之


请参阅文档。

检查您的PHP版本(我相信它们与这两种环境不同)<代码>会话_寄存器从PHP5.3开始就被弃用,在PHP5.4中被删除。只需删除会话寄存器,并使用会话['key']=“value”取而代之。看文档这是真的非常感谢!!如果你把它作为一个答案发布,我可以标记它..谢谢:)检查你的PHP版本(我相信它们不同于两种环境)<代码>会话_寄存器从PHP5.3开始就被弃用,在PHP5.4中被删除。只需删除会话寄存器,并使用会话['key']=“value”取而代之。看文档这是真的非常感谢!!如果你把它作为一个答案贴出来,我可以把它标记出来。谢谢:)