页面间如何传递信息?

menhal 2007-10-24 04:49:54
a.php:
<?php
$_REQUEST['errors']='密码错误';
header("Location: b.php");
?>

b.php:
<?php
echo $_REQUEST['errors'];
?>

运行a,出现错误 :Undefined index: errors in D:\fleaphp-apmxe\htdocs\jsps\b.php
b页面根本就没得到$_REQUEST['errors']的值
...全文
120 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
老朱有话说 2007-10-25
  • 打赏
  • 举报
回复
session, cookie
tony-杨 2007-10-25
  • 打赏
  • 举报
回复
如何你非要转向提示
1、SESSION传参,a.php设置变量并跳转,到b.php提取后清除该变量
2、COOKIE传参,同1
3、URL传参,建议使用urlencode或rawurlencode处理后传递。
menhal 2007-10-25
  • 打赏
  • 举报
回复
在java struts中用HttpServeltRequest类就能实现这种页面间的值传递
php中没理由不可以阿,估计是因为request的生存周期问题吧?
dreambird1983 2007-10-24
  • 打赏
  • 举报
回复
方法1和方法2确实不可以,是我搞错了,抱歉~~~
dreambird1983 2007-10-24
  • 打赏
  • 举报
回复
我一般在login_src.php页面中用js返回


if( error )
{
echo "<script type = 'text/javascript'>alert('密码错误');document.location.href='login.php';</script>";
}
menhal 2007-10-24
  • 打赏
  • 举报
回复
回:精卫鸟
第一种跟第二种方法完全没用。
我想知道如果一个登陆页面login.php把用户名密码提交到login_src.php进行验证。
如果经验证密码不符返回login.php并显示'密码错误',通常该怎么做?
a.php:
<?php
global $_REQUEST ;
$_REQUEST['errors']='密码错误';
header("Location: b.php");
?>

b.php:
<?php
global $_REQUEST ;
echo $_REQUEST['errors'];
?>
Undefined index: errors in D:\fleaphp-apmxe\htdocs\jsps\b.php
foolbirdflyfirst 2007-10-24
  • 打赏
  • 举报
回复
a.php:
<?php
$_REQUEST[ 'errors']= 'Wrong Passoword';
//非要传中文,可用urlencode,urldecode处理。
header("Location: b.php?error=".$_REQUEST[ 'errors']);
? >

b.php:
<?php
echo $_GET[ 'errors'];
? >
dreambird1983 2007-10-24
  • 打赏
  • 举报
回复
方法1.把register_globals 设置成on ,这样$_REQUEST,$_POST,$_GET,$_SESSION数组将会变成全局变量,但是强烈不建议这样做。

方法2.用global关键字,人为的将$_REQUEST数组变成全局变量

方法3.header跳转的时候传递参数,如:header("Location:b.php?...."),而b.php获得该变量,并且echo出来。


大概就是这3种方法,楼主自己选择,如果$_REQUEST数组比较常用,建议用方法2,如果不常用,建议用方法3,永远不建议用方法1

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧