php 页面之间变量传递方法总结
发布:smiling 来源: PHP粉丝网 添加日期:2014-08-05 15:03:35 浏览: 评论:0
标记行:用<form>表示.这个标记行必须包含action属性和method属性,action属性是给窗体提供另一个程序的url或路径(可以是当前文件),使该程序可以从窗体中提取并带走数据.method属性(get或post)则告诉窗体如何带走数据(post首选,因为它比较安全,因为它不在url中传送信息).
窗体的内容,包括输入字段:输入字段是用户输入信息的区域,就是<input>表单,<textarea>这些东西.输入的字段必须包含type和name属性,不过其他的属性也可以有,但不是必须的.输入字段的类型最常见的有:text,check box,radio,select,password等.
动作按钮或图像,一般用于提交/清理信息.用户定义的按钮在技术上也认为是输入类型:包括:submit,reset,image(经常作为图片按钮).
闭标记行:</form>
第一种:通过url传送变量
例如:http://www.phpfensi.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
- 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
- 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>
第三种:用cookie传送变量
使用cookie存在潜在的安全风险,黑客可以通过cookie来获取你在这个web上所留下来的信息,加以利用,所以最好不要把私人信息存储在计算机上.
由于访客可能选择关闭cookie功能,或者选择删除计算机中的cookie,所以从开发的角度来看,使用cookie信息并不是最佳的方法,发送 cookie,代码如下:
- <?php
- $value = "my cookie value";
- // 发送一个简单的 cookie
- setcookie("testcookie",$value);
- ?>
- <html>
- <body>
- ...
- ...<?php
- $value = "my cookie value";
- // 发送一个 24 小时候过期的 cookie
- setcookie("testcookie",$value, time()+3600*24);
- ?>
- <html>
- <body>
Tags: php 页面 变量传递 php方法
- 上一篇:获取关键词及所属来源搜索引擎名称
- 下一篇:PHP无限级分类
相关文章
- ·PHP 是什么?(2013-11-12)
- ·Php.ini文件位置在哪里 Php.ini文件找不到(2013-11-12)
- ·PHP 数据类型(2013-11-12)
- ·php 获取当前脚本的url(2013-11-12)
- ·php技术生成静态页面的实现(2013-11-13)
- ·缺陷月项目启动 披露PHP脚本语言漏洞(2013-11-13)
- ·在PHP中全面阻止SQL注入式攻击(2013-11-13)
- ·php生成随机密码的几种方法(2013-11-13)
- ·PHP中使用FCKeditor2.3.2配置(2013-11-13)
- ·如何使用PHP开发高效的WEB系统(2013-11-13)
- ·php:树形结构的算法(2013-11-13)
- ·php4和php5区别(2013-11-13)
- ·php数据库连接(2013-11-13)
- ·如何正确理解PHP的错误信息(2013-11-13)
- ·php页面漏洞分析及相关问题解决(2013-11-13)
- ·当在连接PHP时,抱怨一些数值没有定义参考?(2013-11-27)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)