本文介绍了php session跨页面传值的方法,php页面间传值的注意问题,session必须是同一浏览器进程之间传递,多窗口浏览器新开标签之间可以传递,不了解的朋友可以参考下。
有关php跨页面传值的例子。
1,页面 a.php
复制代码 代码示例:
<?php
session_start();
$name = "miao3760";
$_session["name"]=$name;
?>
2、b.php 接收session跨页面传值
复制代码 代码示例:
<?php
session_start();
echo $_session["name"];
?>
注意:
1,两个页面开头要写session_start();,并且一定要放在开头,其之前不能有任何代码;
2,$_session,一定要大写,否则不能跨页传值;
3,php4以前是用session_register("abc");来注册变量,新版的php5已经改为:$_session["name"];
4,session,必须是同一浏览器进程之间传递,多窗口浏览器新开标签之间可以传递,单窗口ie要在储存session的页面窗口基础之上打开新页面才可以传值。
第二部分,php session的网页间传值的例子。
建立三个网页,test3.html;test.php;test4.php
test3.html(用于表单的输入)
复制代码 代码示例:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>php页面传值 - www.jb200.com</title>
</head>
<body>
请登陆:<br>
<form action="test.php" method="post">
请输入你的用户名:<input type="text" /><br>
请输入你的密码:<input type="password" /><br>
<input type="submit" value="提交" />
</form>
</body>
</html>
2、test.php(用于表单的接收和session的写入)
复制代码 代码示例:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>test</title>
<?
$user=$_post['user_text'];
$pass=$_post['user_pass'];
if(!$user or !$pass){
//ob_start();//打开缓冲区
echo "<script type="text/
javascript">alert("登陆失败,用户名或则是密码没有输入");window.location="test3.html";</script>";
//sleep(3);
//header("location:test3.html");//重新定向到test3.html
//ob_end_flush();//输出所有并关闭缓冲区
die();//退出程序,为了安全
}
if($user!="pan" or $pass!="123"){
die("登陆失败,用户名或则是密码错误");
}
else
ob_start();//打开缓冲区
echo "欢迎你".$user."<br>";
session_start();
$_session['user']=$user;
$psid=session_id();
$fp=fopen("../phpsid.txt","w+");
echo "你的session_id是:".$psid."<br>";
echo "session_id存放的地址是:<a href="../phpsid.txt">../phpsid.txt</a><br>";
fwrite($fp,$psid);
fclose($fp);
echo "<a href="test4.php">下一页</a><br>";
?>
</head>
<body>
<?
$m="
\192.168.0.99";//192.168.0.99在php中是这样写的
echo $m;
?>
</body>
</html>
3、test4.php(用于检查)
复制代码 代码示例:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>test4</title>
</head>
<body>
<?php
$fp=fopen("../phpsid.txt","r");
$sid=fread($fp,1024);
fclose($fp);
session_id($sid);
session_start();
if(isset($_session['user']) and $_session['user']="pan" ) {
echo "已登录!";
}
else {
//成功登录进行相关操作
echo "未登录,无权访问";
echo "请<a href="test3.html">登录</a>后浏览";
die();
}
?>