Php $\未在远程服务器上设置会话
我正在用php编写一个登录页面,设置$u会话时遇到问题。我是php新手,不知道自己做错了什么。该脚本在本地主机上运行良好,但当我将其推送到远程服务器时,它就不起作用了。可能是php.ini文件吗?谢谢你的帮助Php $\未在远程服务器上设置会话,php,session,Php,Session,我正在用php编写一个登录页面,设置$u会话时遇到问题。我是php新手,不知道自己做错了什么。该脚本在本地主机上运行良好,但当我将其推送到远程服务器时,它就不起作用了。可能是php.ini文件吗?谢谢你的帮助 <? start_session(); $dbc = mysqli_connect($host,$name,$dpassword,$database) or die('Error can not connect to co
<?
start_session();
$dbc = mysqli_connect($host,$name,$dpassword,$database) or die('Error can not connect to corp database');
$q="SELECT * FROM corporate WHERE (email='$theemail' AND password='$md5pass' AND activated = '1')";
$result= mysqli_query($dbc,$q) or die("Error: ".mysqli_error($dbc));;
if(@mysqli_num_rows($result) == 1)
{
//get the entire row
$getrow = mysqli_fetch_array($result);
//also tired
//$_SESSION = mysqli_fetch_array($result, MYSQLI_ASSOC);
//set session, but does not get set!
$_SESSION['lname'] = $getrow['lname'];
$_SESSION['fname'] = $getrow['fname'];
//set cookie for an hour
setcookie("lname", $getrow['lname'], time()+60*60,"/","http://www.limozoor.com",1);
setcookie("fname",$getrow['fname'],time()+60*60,"/","http://www.limozoor.com",1);
//if no header is not sent, send it.
if(!headers_sent())
{
header('Location: http://www.limozoor.com/login/homepage.php');
exit();
}//inner
}//outter
}
?>
你不应该使用:
session_start();
不是
如果未正确调用该函数,浏览器将不会实际存储任何会话数据
这会是您的会话开始吗
您有start_session(),但我认为应该是session_start()尝试更改这些代码段
start_session();
进入
及
进入
这可能只是疏忽,但代码中的函数不正确:它不应该是
start\u session()
,而应该是session\u start()
除此之外,我在php.ini设置中没有看到任何可能导致会话无法工作的内容。
您应该将这些行放在php.ini中error\u reporting=E|u ALL | E_STRICT
和display\u errors=On
。它将允许您查看尽可能多的错误消息
最后,您可以检查apache错误日志,看看是否可以找到任何有意义的错误消息。默认情况下,在Linux上,它将位于/var/log/apache2/error.log或/var/log/httpd/error.log中。是否设置了cookie?重定向是否按预期进行?cookies已设置,我被重定向回index.php,这意味着会话中没有存储数据。另一个可能的原因(但极不可能)是apache用户没有写入/tmpSorry的权限,我使用了Session_start(),我只是编写了它,没有从脚本中粘贴它。这不是问题!。
start_session();
start_session();
session_start();
$_SESSION['lname'] = $getrow['lname'];
$_SESSION['fname'] = $getrow['fname'];
if($getrow['lname']!='' && $getrow['fname']!=''){
$_SESSION['lname'] = $getrow['lname'];
$_SESSION['fname'] = $getrow['fname'];
}