session 问题 php5 的 session 不管用了,前两天还好好的,我问了网管,他说虚拟主机没有改配置,我本机测试都没问题,为什么啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 session 变量有同名的问题吗,同名是没有结果的哦! 一种可能是php不认你原来未加引号的参数,比如写成$_session[aa]在某些php下认可但有些不认可另一种可能是php.ini里面对session使用做了限制 有什么错误的提示最好说明一下...如何使用session 凡是与session有关的,之前必须调用函数session_start(); 为session付值很简单,如: PHP代码: <?php Session_start(); $Name = "这是一个Session例子"; Session_Register("Name");//注意,不要写成:Session_Register("$Name"); Echo $_SESSION["Name"]; //之后$_SESSION["Name"]为"这是一个Session例子" ?> 在php4.2之后,可以为session直接付值: PHP代码: <?PHP Session_Start(); $_SESSION["name"]="value"; ?> 取消session可以这样: PHP代码: <?php session_start(); session_unset(); session_destroy(); ?> 取消某个session变量在php4.2以上还有BUG. 注意: 1:在调用Session_Start()之前不能有任何输出.例如下面是错误的. ========================================== 1行 2行 3行 Session_Start();//之前在第一行已经有输出 4行 ..... 5行 ?> ========================================== 提示1: 凡是出现" ........headers already sent.......... ",就是Session_Start()之前向浏览器输出信息.去掉输出就正常,(COOKIE也会出现这种错误,错误原因一样) 提示2: 如果你的Session_Start()放在循环语句里,并且很难确定之前哪里向浏览器输出信息,可以用下面这种方法: 1行 <?PHP Ob_Start(); ?> ........这里是你的程序...... 2:这是什么错误 Warning: session_start(): open(/tmp\sess_7d190aa36b4c5ec13a5c1649cc2da23f, O_RDWR) failed:....因为你没有指定session文件的存放路径. 解决方法: (1)在c盘建立文件夹tmp (2)打开php.ini,找到session.save_path,修改为session.save_path= "c:/tmp" 4:为什么我向另一网页传送变量时,只得到前半部分,以空格开头的则全部丢失 PHP代码: <?php $Var="hello php";//修改为$Var=" hello php";试试得到什么结果 $post= "receive.php?Name=".$Var; header("location:$post"); ?> receive.php的内容: PHP代码: <?PHP Echo "<pre>"; Echo $_GET["Name"]; Echo "</pre>"; ?> 正确的方法是: PHP代码: <?php $Var="hello php"; $post= "receive.php?Name=".urlencode($Var); header("location:$post"); ?> 在接收页面你不需要使用Urldecode(),变量会自动编码. PHP返回指定页面并刷新该页面 PHP如何生成网站缩略图呢 关于php多线程的问题 请问怎样实现这个功能 在windows xp sp3下怎样安装网站管理系统 PHP+MYSQL网站设计入门实践 徐文龙 这个课程的源程序,那位老大能给我一份,谢谢拉[email protected] QQ:13628198 求助!怎样使用www.domainbank.net申请的INFO域名啊? PHP中并发性问题 怎么才能给在WIN98下给PHP加入扩展模块如:GIF、PDF? 关于子类方法重载调用父类方法的问题 比较怪的URL,怎样向服务端传参数? 求解???
另一种可能是php.ini里面对session使用做了限制
如何使用session 凡是与session有关的,之前必须调用函数session_start(); 为session付值很简单,如: PHP代码: <?php
Session_start();
$Name = "这是一个Session例子";
Session_Register("Name");//注意,不要写成:Session_Register("$Name");
Echo $_SESSION["Name"];
//之后$_SESSION["Name"]为"这是一个Session例子"
?> 在php4.2之后,可以为session直接付值: PHP代码: <?PHP
Session_Start();
$_SESSION["name"]="value";
?> 取消session可以这样:
PHP代码: <?php
session_start();
session_unset();
session_destroy();
?> 取消某个session变量在php4.2以上还有BUG. 注意: 1:在调用Session_Start()之前不能有任何输出.例如下面是错误的.
==========================================
1行
2行 3行 Session_Start();//之前在第一行已经有输出
4行 .....
5行 ?>
========================================== 提示1: 凡是出现" ........headers already sent.......... ",就是Session_Start()之前向浏览器输出信息.去掉输出就正常,(COOKIE也会出现这种错误,错误原因一样) 提示2: 如果你的Session_Start()放在循环语句里,并且很难确定之前哪里向浏览器输出信息,可以用下面这种方法:
1行 <?PHP Ob_Start(); ?>
........这里是你的程序...... 2:这是什么错误 Warning: session_start(): open(/tmp\sess_7d190aa36b4c5ec13a5c1649cc2da23f, O_RDWR) failed:....
因为你没有指定session文件的存放路径. 解决方法:
(1)在c盘建立文件夹tmp
(2)打开php.ini,找到session.save_path,修改为session.save_path= "c:/tmp"
4:为什么我向另一网页传送变量时,只得到前半部分,以空格开头的则全部丢失 PHP代码: <?php
$Var="hello php";//修改为$Var=" hello php";试试得到什么结果
$post= "receive.php?Name=".$Var;
header("location:$post");
?> receive.php的内容: PHP代码: <?PHP
Echo "<pre>";
Echo $_GET["Name"];
Echo "</pre>";
?> 正确的方法是: PHP代码: <?php
$Var="hello php";
$post= "receive.php?Name=".urlencode($Var);
header("location:$post");
?> 在接收页面你不需要使用Urldecode(),变量会自动编码.