我以前没有搞过windows下的php,有个“怎样读取sessoin”的问题想请教各位虾哥虾姐。 将php.ini文件里的error_reporting = E_ALL & ~E_NOTICE修改一下,我想应该可以了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的配置有问题改一下php.ini.error_reporting = E_ALL & ~E_NOTICE这样就不会有没有定义变量这个错误提示了. register_globals = on还有这个在php.ini中设一下.如果你的php版本为4.2.1以上的话.你那个东东传不过来东西的.如果不改上面的就得用这个.<?//2.phpsession_start();echo $_SESSION['test'];?> phpteam(George):anziqi(美洲狮) : 你们两位说的改php.ini,不怎么明白。anziqi(美洲狮):按照你的<?//2.phpsession_start();echo $_SESSION['test'];?>的说法有效。谢谢。可以讲讲怎么改php.ini吗?明天来结贴。 就是修改php的配置文件php.ini如果是你自己的服务器,那么是可以改的,如果服务器放在别人的地方,那就没办法啦! <?//1.phpheader("Location:2.php");session_start();session_register("test");$test="zheshiyigea";?>换成上面这样~~~~~~~~在有些版本session不可以在header函数后面。那样的话接收不到session的值 我的程序如下:<?//1.phpsession_start();$test="zheshiyigea";session_register("test");header("Location:2.php");?><?//2.phpsession_start();echo $test;?>改为我的程序如下:<?//1.phpsession_start();session_register("test");$test="zheshiyigea";header("Location:2.php");?><?//2.phpsession_start();echo $test;?>老问题了, <?session_start();session_register(test);$test="....";...?> 你的php.ini是放在c:\windows下的一个php配置文件.他装的是php的装置文件.真接作用于你使用的php环境.我说的那些选项就是在那里设的.你可以试试先.把这个在php中设成:register_globals = on我的这句echo $_SESSION['test'];用echo $test;也能接收了跟你以前使用的就一样了.只不过安全性有一点点差呵呵.如果你想随现在高版本的 php给你一些东东呵呵.从PHP 4.1开始,EGPCS值就可以从一组指定的数组中获得: $_ENV -- 包含系统环境变量 $_GET -- 包含查询字符串中的变量,以及提交方法为GET的表单中的变量 $_POST -- 包含提交方式为POST的表单中的变量 $_COOKIE -- 包含所有cookie变量 $_SERVER -- 包含服务器变量,例如HTTP_USER_AGENT $_REQUEST -- 包含$_GET、$_POST和$_COOKIE的全部内容 $_SESSION -- 包含所有已注册的session变量 在PHP 4.1之前,当开发者关闭register_globals选项(这也被考虑为提高PHP性能的一种方法)后,必须使用诸如$HTTP_GET_VARS这样的令人讨厌的名字来获取这些变量。这些新的变量名不仅仅短,而且它们还有其他优点。 anziqi(美洲狮):虾哥,php.ini到底怎么配啊?我的问题好象具有连惯性啊。请看例子:<?//1.php$test="what";header("Location:2.php?zhongguo=$test");?><?//2.phpecho $zhongguo;echo $newtest;?>浏览器的地址栏显示http://127.0.0.1/2.php?zhongguo=what网页报错如下:Notice: Undefined variable: zhongguo in D:\web\2.php on line 3Notice: Undefined variable: newtest in D:\web\2.php on line 3按道理讲:我在浏览器里直接敲地址:http://127.0.0.1/2.php?zhongguo=what&newtest=asdfjasd就应该有显示啊。是怎么回事? xixi windows下一定要用单引号才稳定 其他的不稳定 你这么改吧.1register_globals = on2error_reporting = E_ALL & ~E_NOTICENotice: Undefined variable: newtest in D:\web\2.php on line 3这条是变量没有定义的提示你改了php.ini中的2就可以了.如果你1 这么设register_globals = off那么2.php这么写.<?php //2.phpecho $_REQUEST['zhongguo'];echo $newtest;//这个没有用.?> php.ini 中设register_globals = on我也碰上过这样问题,改了就好了 给你个实用的:<?session_save_path("存放session文件的文件夹");session_start();if($login == 1){ include "数据库连接文件"; $user_id = $user; $user_login = mysql_query("SELECT name,pwd FROM *** WHERE name='$user_id'"); global $存放session文件的文件夹; $id=$row["id"]; $存放session文件的文件夹=$id; if(!@mysql_num_rows($user_login)){ echo "<p align=center>"; echo "<font size=4>抱歉!没有这个帐号</font>\n"; echo "<a href=\"javascript:history.back(1)\"><img valign=bottom border=0 src=\"$pic_url/back.gif\">后退</a>\n"; exit(); }else{ $password = mysql_result($user_login,0,"pwd"); if($password == $pass){ $user_name = mysql_result($user_login,0,"name"); session_register("user_id"); session_register("user_name"); session_register("存放session文件的文件夹"); $nowtime = time(); echo "<meta http-equiv=\"refresh\" content=\"0; url=default.php\">"; }else{ echo "<p align=center>"; echo "<font size=4>登陆密码出现错误,用户".$user_id."不能进入</font>\n"; echo "<a href=\"javascript:history.back(1)\">后退</a>\n"; exit(); } }}?>session调用页:<?session_save_path("存放session文件的文件夹");session_start();?〉 session.save_path换个存放目录看看 function Session($name = ""){ if(!session_start()){//add by walksing 2002/9/14 session_start(); $this->isSesssionStart = true; } if($name != ""){ //session_name($name); session_register($name);//add by walksing 2002/9/14 } //modify by walksing 2002/9/13 //read from session if(!is_array($GLOBALS["HTTP_SESSION_VARS"])){ return ; } foreach($GLOBALS["HTTP_SESSION_VARS"] as $key => $value){ $this->s_vars[$key] = $value; } }echo $GLOBALS["HTTP_SESSION_VARS"]['test'];//try 这位老兄,这个帖子还有问题吗??该说的都已经说了呀。php.inierror_reporting = E_ALL & ~E_NOTICE & ~E_WARNING CSS样式把背景图片布满整个层 PHP读取数组元素问题求助 php打开excel出错了 php触发器的问题 这样写if else语句也能有错????? 页面后退过期的问题请教 通用表单生成程序(php+mysql) 合作开发项目,共同发展,请大家参加!UP也有分~~~~~~~~~~~`` 请问:一个http:错误,英雄,帮我! 对文件操作的路径究竟应该怎么写,为什么总是不对? Help me!Help me!!... ... 急~~~~~~~~~~~~~~~~~~~~~~~救!
还有这个在php.ini中设一下.如果你的php版本为4.2.1以上的话.
你那个东东传不过来东西的.如果不改上面的就得用这个.
<?
//2.php
session_start();
echo $_SESSION['test'];
?>
anziqi(美洲狮) :
你们两位说的改php.ini,不怎么明白。anziqi(美洲狮):
按照你的
<?
//2.php
session_start();
echo $_SESSION['test'];
?>
的说法有效。
谢谢。
可以讲讲怎么改php.ini吗?明天来结贴。
如果是你自己的服务器,那么是可以改的,如果服务器放在别人的地方,那就没办法啦!
//1.php
header("Location:2.php");
session_start();
session_register("test");
$test="zheshiyigea";
?>换成上面这样~~~~~~~~在有些版本session不可以在header函数后面。那样的话接收不到session的值
<?
//1.php
session_start();
$test="zheshiyigea";
session_register("test");header("Location:2.php");
?><?
//2.php
session_start();
echo $test;
?>
改为
我的程序如下:
<?
//1.php
session_start();
session_register("test");
$test="zheshiyigea";
header("Location:2.php");
?><?
//2.php
session_start();
echo $test;
?>
老问题了,
session_start();
session_register(test);
$test="....";
...
?>
把这个在php中设成:register_globals = on
我的这句echo $_SESSION['test'];
用echo $test;
也能接收了跟你以前使用的就一样了.只不过安全性有一点点差呵呵.如果你想随现在高版本的 php给你一些东东呵呵.
从PHP 4.1开始,EGPCS值就可以从一组指定的数组中获得:
$_ENV -- 包含系统环境变量
$_GET -- 包含查询字符串中的变量,以及提交方法为GET的表单中的变量
$_POST -- 包含提交方式为POST的表单中的变量
$_COOKIE -- 包含所有cookie变量
$_SERVER -- 包含服务器变量,例如HTTP_USER_AGENT
$_REQUEST -- 包含$_GET、$_POST和$_COOKIE的全部内容
$_SESSION -- 包含所有已注册的session变量
在PHP 4.1之前,当开发者关闭register_globals选项(这也被考虑为提高PHP性能的一种方法)后,必须使用诸如$HTTP_GET_VARS这样的令人讨厌的名字来获取这些变量。这些新的变量名不仅仅短,而且它们还有其他优点。
虾哥,
php.ini到底怎么配啊?
我的问题好象具有连惯性啊。请看例子:
<?
//1.php
$test="what";
header("Location:2.php?zhongguo=$test");
?><?
//2.php
echo $zhongguo;
echo $newtest;
?>浏览器的地址栏显示
http://127.0.0.1/2.php?zhongguo=what网页报错如下:
Notice: Undefined variable: zhongguo in D:\web\2.php on line 3
Notice: Undefined variable: newtest in D:\web\2.php on line 3按道理讲:
我在浏览器里直接敲地址:
http://127.0.0.1/2.php?zhongguo=what&newtest=asdfjasd
就应该有显示啊。是怎么回事?
windows下一定要用单引号才稳定 其他的不稳定
1
register_globals = on
2
error_reporting = E_ALL & ~E_NOTICENotice: Undefined variable: newtest in D:\web\2.php on line 3
这条是变量没有定义的提示你改了php.ini中的2就可以了.
如果你1 这么设
register_globals = off
那么2.php这么写.
<?php
//2.php
echo $_REQUEST['zhongguo'];
echo $newtest;//这个没有用.
?>
register_globals = on我也碰上过这样问题,改了就好了
<?session_save_path("存放session文件的文件夹");
session_start();
if($login == 1){ include "数据库连接文件";
$user_id = $user;
$user_login = mysql_query("SELECT name,pwd FROM *** WHERE name='$user_id'");
global $存放session文件的文件夹;
$id=$row["id"];
$存放session文件的文件夹=$id;
if(!@mysql_num_rows($user_login)){
echo "<p align=center>";
echo "<font size=4>抱歉!没有这个帐号</font>\n";
echo "<a href=\"javascript:history.back(1)\"><img valign=bottom border=0 src=\"$pic_url/back.gif\">后退</a>\n";
exit();
}else{
$password = mysql_result($user_login,0,"pwd");
if($password == $pass){
$user_name = mysql_result($user_login,0,"name");
session_register("user_id");
session_register("user_name");
session_register("存放session文件的文件夹");
$nowtime = time();
echo "<meta http-equiv=\"refresh\" content=\"0; url=default.php\">"; }else{
echo "<p align=center>";
echo "<font size=4>登陆密码出现错误,用户".$user_id."不能进入</font>\n";
echo "<a href=\"javascript:history.back(1)\">后退</a>\n";
exit();
}
}
}
?>
session调用页:<?
session_save_path("存放session文件的文件夹");
session_start();
?〉
换个存放目录看看
if(!session_start()){//add by walksing 2002/9/14
session_start();
$this->isSesssionStart = true;
}
if($name != ""){
//session_name($name);
session_register($name);//add by walksing 2002/9/14
}
//modify by walksing 2002/9/13
//read from session
if(!is_array($GLOBALS["HTTP_SESSION_VARS"])){
return ;
}
foreach($GLOBALS["HTTP_SESSION_VARS"] as $key => $value){
$this->s_vars[$key] = $value;
}
}
echo $GLOBALS["HTTP_SESSION_VARS"]['test'];
//try
php.ini
error_reporting = E_ALL & ~E_NOTICE & ~E_WARNING