登陆后session无法保存用户名密码,怎么办
我的代码是这样
index.php
-----------------------------------------------------------------------------
include('session.php');
include('config.php');
include('function.php');
if (!islogin($_SESSION['username'],$_SESSION['userpass'])){echo "error1";
if (islogin($_POST['workername'],$_POST['workerpass']))
{echo "error2";
$_SESSION['username']=$_POST['workername'];
$_SESSION['userpass']=$_POST['workerpass'];
$id=session_id();
setcookie("PHPSESSID",session_id());
}
else echo "error3";

echo "test";
echo $_POST['workername'].$_POST['workerpass']."<BR>";
echo $_SESSION['username'].$_SESSION['userpass'];
?>
------------------------------------------------------------------------------
session.php
----------------------------------------------------------------------------
<? 
session_start();
?>
-----------------------------------------------------------------------------
错误如下:
Warning: open(/tmp\sess_cd37fa0f0cf4d39cc563ae5d3958231b, O_RDWR) failed: m (2) in session.php on line 2
空的error1空的error3test

解决方案 »

  1.   

    在你的网站的根目录旁边建一个tmp目录
      

  2.   

    也可以修改php.ini中的session.save_path,把它改成你的电脑上已有的可写的目录即可
      

  3.   

    function.php
    --------------------------------------------------------------------------
    function islogin($name,$pass)
    {
    include('config.php');
    mysql_select_db($dbname,$link);
    if ($name!="")
    {
    $name = ltrim($name);
    $name=rtrim($name);
    $query="select * from worker where login_name='".$name."'";
    $result=mysql_query($query,$link);
    $get=@mysql_fetch_object($result);
    @mysql_close();
    if($get->login_pass==$pass)
    {echo $name;
    echo $pass;
    echo "test";
    return true;}
    else {echo "false";return false;}
    }
    else {echo "空的";return false;}

    }
      

  4.   

    我用php.info函数检查了一下我的session.save_path
    对着啊,就是
    session.save_path /tmp /tmp  
      

  5.   

    我在c:\apache\htdocs\下建了一个tmp
    在c:\apache\htdocs\oa\下也建了一个tmp
    htdocs是我的服务器的根目录
    oa是我这个程序的根目录
    而且php信息里检查出来的路径就是
    session
    Session Support enabled Directive Local Value Master Value 
    session.auto_start
     Off Off 
    session.cache_expire
     180 180 
    session.cache_limiter
     nocache nocache 
    session.cookie_domain
     no value no value 
    session.cookie_lifetime
     0 0 
    session.cookie_path
     / / 
    session.entropy_file
     no value no value 
    session.entropy_length
     0 0 
    session.gc_maxlifetime
     1440 1440 
    session.gc_probability
     1 1 
    session.name
     PHPSESSID PHPSESSID 
    session.referer_check
     no value no value 
    session.save_handler
     files files 
    session.save_path
     /tmp /tmp 
    session.serialize_handler
     php php 
    session.use_cookies
     On On 
      

  6.   

    和你的程序无关,是你php的配置问题,检查你的session相关配置
      

  7.   

    还是有这个提示错误
    Warning: open(/tmp\sess_cd37fa0f0cf4d39cc563ae5d3958231b, O_RDWR) failed: m (2) in Unknown on line 0Warning: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0
      

  8.   

    c:\apache 下有没有建,我是说根目录旁边,就是指同级目录
      

  9.   

    apache下也建了
    都建了,还是这样:(
    急死了
    那phpinfo();里显示的信息是
    session.save_path
     /tmp /tmp 
    又怎么解释呢?这难道不是它的路径已经是tmp了吗
    我在c;\apache下也建了tmp目录了
    还是不行:(
      

  10.   

    session.save_path 后面写存放session的绝对路径试试比如session.save_path d:/tmp
    同时保证在d盘的根目录下有建tmp文件夹,从新启动apache
      

  11.   

    to:水宝
    按照你的方法,已经没有那个错误提示了
    但是登陆不进去
    空的error1空的error3test
    好象那个session保存不了我的登陆的用户名密码变量
      

  12.   

    在C:\php下建立sessiondata文件夹,
    改sess.save_path=c:\php\sessiondata应该可以的。
    你看一下sessiondata下有没有文件。有的话说明可以建立session。其余的就要检查程序了。、
      

  13.   

    我在c:\apache\htdocs\下建了一个tmp
    在c:\apache\htdocs\oa\下也建了一个tmp
    htdocs是我的服务器的根目录
    oa是我这个程序的根目录
    而且php信息里检查出来的路径就是
    -------------------------------------------
    在c:/目录下建立tmp目录(根目录)
    或者修改sess.save_path
      

  14.   

    c:\apache 下有没有建,我是说根目录旁边,就是指同级目录
    -------------------------------------------------------------
    这个不是根目录……