WEB开发网
开发学院WEB开发PHP php在页面之间传送变量 阅读

php在页面之间传送变量

 2010-11-28 08:00:42 来源:WEB开发网   
核心提示:第一种:通过URL传送变量例如:http://www.15597.com/news/list.php?id=123&lang=enid=123就是新闻的参数,而lang=en就表示语言是英文,那么我们可以通过PHP的$_GET来取得id和lang的值比如说要检索id的值 只需要$_GET['id'] 就

第一种:通过URL传送变量

例如:http://www.15597.com/news/list.php?id=123&lang=en

id=123就是新闻的参数,而lang=en就表示语言是英文,那么我们可以通过PHP的$_GET来取得id和lang的值

比如说要检索id的值 只需要$_GET['id'] 就能取到id的值 同理 lang也一样

通过URL传值的缺点:

1.每个人都能看到变量的值,所以用这种方式传输敏感数据并不是安全的.

2.用户可以随意修改URL中的值,并可以尝试不同的组合,使打开网站后显示出我们不希望显示出来的信息.

3.用户还可能使用保存已久的URL和内嵌其中的旧变量提取不正确的或陈旧信息.

第二种:通过会话中传送变量

如果说信息不那么敏感,或者信息是静态的,完全可以使用URL传值,但如果用户要传送用户名,密码等信息或者传送地址和电话号码等个人信息,那最好要在传送的时候保持私密性.例如可以使用COOKIE 或者SESSION.(个人想法,因为是重头重新学习~先说说SESSION).

会话是仅存在浏览器关闭前的一组临时变量.会话信息包括会话ID,被授权的个人是否登陆到站点上等.这些信息都是为PHP临时存储的以便在需要时使用.

如果强制用户使用COOKIE传送变量, 可以在PHP.ini里边设置  session.use_only_cookies=1

另外,在使用会话前应确保php.ini文件已经做好修改,即为:session.save_path显示有效路径.

接着只需要调用session_start()函数(写在本页的所有的输出语句前),在PHP中开始一个会话.

例如:文件1  test_1.php

php;">
<?php
session_start();
$_SESSION['username']='van';
$_SESSION['authuser']=1;
?>
<html>
<head>
<title>test1</title>
</head>
<body>
<?php
$myfavmovie=urlencode('Life of brian');
echo "<a href=\"test2.php?favmovie=$myfavmovie\">";
echo "Click here to see information about my favorite movie!";
echo "</a>";
?></body>
</html>

test2.php文件:

php;">
<?php
session_start();
if($_SESSION['authuser']!=1)
{
    echo "sorry,but you don't have permission to view this page!";
    exit();
}
?>
<html>
<head>
<title>
My Movie Site -<?php echo $_GET['favmovie'];?></title>
<body>
<?php 
echo 'welcome to our site,';
echo $_SESSION['username'];
echo '!<br/>';
?>
</html>

 

1 2  下一页

Tags:php 页面 传送变量

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接