session_start();出错! 为什么呀, 放在第一行在<?phpsession_start(); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在 session与cookie 前不可有输出 在根目录下建一个文件夹----tmp 我在PHP下面已经建TMP目录在session_start();前不能有输出? 是不是它把放在<body>下的第一行。等待!! <?phpsession_start();在php程序中前面不能有输出 问题还是没有解决呀!我把代码拿出来给大家看看, 1.php文件内容<?phpsession_start();if ($ok){echo "您已经登录了";echo $username;session_register(count1);$count1=$username;} if (session_is_registered(count1)==false) echo "您还没有登录!"; ?> 1.php 有个超级连接连到 2.php。 2.php文件内容 <?php session_start(); if (session_is_registered(count1)==false) echo "您还没有登录!"; else echo "已经登录了$count1";?>1。 1.php是完全正常的。2。 2.php有问题。会出现错误提示“Warning: Cannot send session cache limiter - headers already sent (output started at G:\PhpWeb \2.php:1) in G:\PhpWeb\2.php on line 2” 又是session_start搞的鬼。可是不加这行代码,2.php总是输出 您还没有登录!请赐教!等待!! <?php 前面有没有空格或者别的html代码? 你的php.ini文件中session.save_path = [youpath];youpath 可能不存在.如果用WIN 将youpath 改为 %windir%\temp如果是linux 将youpaht 改为 /tmp也许可以. 可以看出您的服务器是WINDOWS系统你的 php.ini 文件中session.save_path = 你的session存放路径将此路径改为 C:\winnt\temp 或 c:\windows\temp然后重新启动httpd 服务器. netvt(网路维他) : 您好!我的PHP.ini文件中 . .session.save_path = d:\php4\tmp ; argument passed to save_handler . . .我的php4在d:\php4 而且有d:\php4\tmp 而且在d:\php4\tmp下已经产生很多的sess_c8ee8d2153020107a17ee19a55df03b0 相类似的文件。运行2.php时还是有上面那一段提示。继续讨论!(<?php 前面是没有代码的,不过1.php的?>后面有HTML) 不是在php目录下而是在操作系统跟目录下 我测试了你的代码,没有问题,应该是你的配置的问题,你可以升级到4.3.1我测试的代码如下:<?php //1.php session_start(); if ($_POST['ok']){ //echo "您已经登录了".$_POST['username']; $_SESSION['count1']= $_POST['username']; header("location:2.php"); }else{ $_SESSION['count1']= "false"; echo "您还没有登录!"; }?><?php //2.php session_start(); if ($_SESSION['count1']=="false"){ echo "您还没有登录!"; }else{ echo "已经登录了".$_SESSION['count1']; }?> 你可以先把SESSION记录(即sess_c8ee8d2153020107a17ee19a55df03b0 相类似的文件)删除,再测试一下,看D:\PHP4\TMP下是否产生新的记录,如果产生,说明配置还可以通过.你也可以到 http://xingtai.51.net/download/php.ini 下载PHP 基本配置(不支持GD,BZ2等)修改加入你需要的dll我不知道你的 1.php 是如何链接到 2.php 的. 错啊兄弟,是在你装操作系统的那个盘的根目录下建立temp目录 哈哈,这位兄弟你没有理解session_start()的具体含义, 好好看看帮助,如果你想保存session值传到别的页面,那么在页面的开头不应该有这个函数,它相当于restart session,你保存的东西全部清空 寒一个..楼上的, 你全错了.. 如果不加session_start(), 那到下一页就真的是全空了. 以下代码已在我处测试通过, 可能是你的配置问题.环境:Windows2000 AD Server SP3 Apache 2.0 + PHP 4.3.0(CGI方式) +MySQL 4.0.10在IE 地址栏输入: 1. http://localhost/.../1.php?ok=mm 真 2. http://localhost/.../1.php? 假;;;;;;;;;;;;;; 1.php ;;;;;;;;;;;;;; <?phpsession_start(); //这两行保证每次执行 1.php session_destroy(); //都会产生新的SESSIONsession_start(); //开始新的SESSIONif($ok){ //$ok 为用户信息合法性标志,为真时 ,可以注册用户登录信息了 echo "您已经登录了"; echo $username; session_register(count1); //建立SESSION变量 $count1=$username; //将用户信息存入SESSION echo "<a href=2.php>链接到2.php</a>"; //下锚到2.php}else{ //$ok 为假 ,登录失败 echo "您还没有登录!"; }?>;;;;;;;;;;;;;; 2.php ;;;;;;;;;;;;;;<?php session_start(); if (session_is_registered(count1)) //检查用户是否登录 echo "已经登录了$count1"; else echo "您还没有登录!";?> 这个问题我已经基本搞明白了。 网路维他 谢谢了。 可是我搞不懂为要先session_start(); 再session_destroy();session_start(); 前面二行:session_start(); session_destroy();是我在测试时用的,不这样,如果没有重新打开IE,原来的SESSION记录就会影响 1.php那么1.php在执行时,就不再是纯洁之身了.所以我加了这两句.正式做成后,去掉它们就行了. 请看帮助:http://www.csdn.net/help/help.asp?bigclass=论坛帮助&smallclass=快速入门#如何给分和结帖 如何这样布局数据 关于PHR重定向问题 作用域分辨运算符(::) 讨论, 通过PHP生成静态页和生成Cache有什么本质区别? 菜鸟提问,可惜没有分数了,大侠帮下啊????? 附加地址传递问题? 请问href里的内容是什么意思,有错误,但我看不懂 请各位指点,PHP找工作要往哪些地方奔 这是在数据库栏看的地一个问题,我也想知道就拿来这问了 大家好,我在这里问在家一个问题,关于sql sever2000 可不可以和PHP连接,还有要设置什么东东,和相关函数。谢谢 感谢xuzuning(唠叨)! mail函数怎么让邮件正文换行?
在session_start();前不能有输出? 是不是它把放在<body>下的第一行。等待!!
session_start();
在php程序中前面不能有输出
1.php文件内容
<?php
session_start();
if ($ok){
echo "您已经登录了";
echo $username;
session_register(count1);
$count1=$username;
}
if (session_is_registered(count1)==false)
echo "您还没有登录!";
?> 1.php 有个超级连接连到 2.php。
2.php文件内容 <?php
session_start();
if (session_is_registered(count1)==false)
echo "您还没有登录!";
else
echo "已经登录了$count1";
?>
1。 1.php是完全正常的。2。 2.php有问题。会出现错误提示“Warning: Cannot send session
cache limiter - headers already sent (output started at G:\PhpWeb
\2.php:1) in G:\PhpWeb\2.php on line 2”
又是session_start搞的鬼。可是不加这行代码,2.php总是输出 您还没有登录!请赐教!等待!!
session.save_path = [youpath];
youpath 可能不存在.
如果用WIN 将youpath 改为 %windir%\temp
如果是linux 将youpaht 改为 /tmp
也许可以.
session.save_path = 你的session存放路径
将此路径改为 C:\winnt\temp 或 c:\windows\temp
然后重新启动httpd 服务器.
.
.
session.save_path = d:\php4\tmp ; argument passed to save_handler
.
.
.
我的php4在d:\php4 而且有d:\php4\tmp 而且在d:\php4\tmp下已经产生很多的
sess_c8ee8d2153020107a17ee19a55df03b0 相类似的文件。运行2.php时还是有上面那一段提示。继续讨论!(<?php 前面是没有代码的,不过1.php的?>后面有HTML)
我测试的代码如下:<?php
//1.php session_start(); if ($_POST['ok']){ //echo "您已经登录了".$_POST['username'];
$_SESSION['count1']= $_POST['username'];
header("location:2.php"); }else{ $_SESSION['count1']= "false"; echo "您还没有登录!";
}
?>
<?php //2.php session_start(); if ($_SESSION['count1']=="false"){ echo "您还没有登录!"; }else{ echo "已经登录了".$_SESSION['count1']; }
?>
再测试一下,看D:\PHP4\TMP下是否产生新的记录,如果产生,说明配置还可以通过.你也可以到 http://xingtai.51.net/download/php.ini 下载PHP 基本配置(不支持GD,BZ2等)
修改加入你需要的dll我不知道你的 1.php 是如何链接到 2.php 的.
环境:Windows2000 AD Server SP3 Apache 2.0 + PHP 4.3.0(CGI方式) +MySQL 4.0.10
在IE 地址栏输入:
1. http://localhost/.../1.php?ok=mm 真
2. http://localhost/.../1.php? 假;;;;;;;;;;;;
;; 1.php ;;
;;;;;;;;;;;;
<?php
session_start(); //这两行保证每次执行 1.php
session_destroy(); //都会产生新的SESSION
session_start(); //开始新的SESSION
if($ok){ //$ok 为用户信息合法性标志,为真时 ,可以注册用户登录信息了
echo "您已经登录了";
echo $username;
session_register(count1); //建立SESSION变量
$count1=$username; //将用户信息存入SESSION
echo "<a href=2.php>链接到2.php</a>"; //下锚到2.php
}
else{ //$ok 为假 ,登录失败
echo "您还没有登录!";
}?>
;;;;;;;;;;;;
;; 2.php ;;
;;;;;;;;;;;;<?php
session_start();
if (session_is_registered(count1)) //检查用户是否登录
echo "已经登录了$count1";
else
echo "您还没有登录!";
?>
网路维他 谢谢了。
可是我搞不懂为要先session_start();
再session_destroy();session_start();
session_destroy();
是我在测试时用的,不这样,如果没有重新打开IE,原来的SESSION记录就会影响 1.php
那么1.php在执行时,就不再是纯洁之身了.
所以我加了这两句.正式做成后,去掉它们就行了.
http://www.csdn.net/help/help.asp?bigclass=论坛帮助&smallclass=快速入门#如何给分和结帖