php5.3.3的session问题 php5.3.3的环境下,没有在代码开头使用session_start();也不会报错了,这是为什么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 session_start 报错的话.看一下是否正常的配置。在php 页面中phpinfo() 看下session 是否存在。session 的path 是否设置。具体的还要自己检查。1.php.ini中的output_buffering=off 改成output_buffering=4096 2.php.ini中的session.save_path是否设置好了 3.pgp.ini中的session.auto_start = 0 改成session.auto_start = 1 4.php代码session_start() 前面不能有输出,而且必须放在首行;在session_start()的php代码之前的任何字符都被看作headers。所以解决方法是:将<? session_start();.......?>放到文件首,并且<? 前面不能有任何字符 我的意思不是session_start() 报错,而是不报错,比如我在session_start() 前边加个echo "1";运行不会报错,1也显示在页面上 错误的代码 在php.ini 中打开啊。 error_reporting 打开错误 报告信息 看下啊 错误提示打开了,如果把session_start()注掉会报Warning: session_destroy() [function.session-destroy]: Trying to destroy uninitialized session in D:\wamp\www\CookieandSession\session.php on line 12所以不是设置的问题,疑惑是为什么session_start()不在开头,也不报错 <?php echo "1"; session_start(); if(@$_GET[out]){ //session_destroy(); unset($_SESSION['name']); unset($_SESSION['password']); } if (@$_POST[name]&&@$_POST[password]) { $_SESSION['name']=$_POST['name']; $_SESSION['password']=$_POST['password'];} if(@$_SESSION[name]&&@$_SESSION[password]){ echo "登陆成功"."<br>"."用户名:".@$_SESSION[name]."<br>"."密码:".@$_SESSION[password]."<br>"; echo "<a href='session.php?out=out'>退出登录</a> "; }?> <form action="session.php" method="post" > 用户名:<input type="text" name="name" /><br> 密 码:<input type="password" name="password" /><br> <input type="submit" value="登录"/> </form>我的环境下正常运行,前面还输出个1 不太确定ob_start 之类的是否会影响到 因为你设置了output_buffering,所以你echo '1'; 实际上是先将输出'1'暂时保存在缓冲区,直到缓冲区满了才会真正发送到浏览器。 校园网(xiaoyuan.com)招聘,并诚邀第三方合作 急!这样的 .htaccess 重写规则怎么写? 正则,请教 数组和对象的组合,当对象变量里面有"-",怎么取值???? 有用过Ethna的吗?经验经验! 当mysql用户只有SELECT权限,别人还能注入吗? for语句省略? 高分求教:关于web开发软件的加密、打包的问题 高分求一页面PHP代码 wampserver图标是绿色的,但是服务器离线 急!哪位大侠能帮帮我啊... 求助,关于linux下配置zend debugger的一个问题
在php 页面中phpinfo() 看下session 是否存在。session 的path 是否设置。具体的还要自己检查。
1.php.ini中的output_buffering=off 改成output_buffering=4096
2.php.ini中的session.save_path是否设置好了
3.pgp.ini中的session.auto_start = 0 改成session.auto_start = 1
4.php代码session_start() 前面不能有输出,而且必须放在首行;在session_start()的php代码之前的任何字符都被看作headers。
所以解决方法是:
将<? session_start();.......?>放到文件首,并且<? 前面不能有任何字符
运行不会报错,1也显示在页面上
所以不是设置的问题,疑惑是为什么session_start()不在开头,也不报错
echo "1";
session_start(); if(@$_GET[out]){
//session_destroy();
unset($_SESSION['name']);
unset($_SESSION['password']);
}
if (@$_POST[name]&&@$_POST[password]) {
$_SESSION['name']=$_POST['name'];
$_SESSION['password']=$_POST['password'];
}
if(@$_SESSION[name]&&@$_SESSION[password]){
echo "登陆成功"."<br>"."用户名:".@$_SESSION[name]."<br>"."密码:".@$_SESSION[password]."<br>"; echo "<a href='session.php?out=out'>退出登录</a> "; }
?> <form action="session.php" method="post" > 用户名:<input type="text" name="name" /><br> 密 码:<input type="password" name="password" /><br>
<input type="submit" value="登录"/> </form>
我的环境下正常运行,前面还输出个1