Home >php教程 >php手册 >php 页面之间变量传递方法总结

php 页面之间变量传递方法总结

WBOY
WBOYOriginal
2016-05-25 16:42:541222browse

标记行:用

表示.这个标记行必须包含action属性和method属性,action属性是给窗体提供另一个程序的url或路径(可以是当前文件),使该程序可以从窗体中提取并带走数据.method属性(get或post)则告诉窗体如何带走数据(post首选,因为它比较安全,因为它不在url中传送信息).

窗体的内容,包括输入字段:输入字段是用户输入信息的区域,就是表单,

动作按钮或图像,一般用于提交/清理信息.用户定义的按钮在技术上也认为是输入类型:包括:submit,reset,image(经常作为图片按钮). 

闭标记行:

第一种:通过url传送变量

例如:http://www.phprm.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[&#39;username&#39;]=&#39;van&#39;; 
$_session[&#39;authuser&#39;]=1; 
?> 
<html> 
<head> 
<title>test1</title> 
</head> 
<body> 
<?php 
$myfavmovie=urlencode(&#39;life of brian&#39;); 
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[&#39;authuser&#39;]!=1) 
{ 
echo "sorry,but you don&#39;t have permission to view this page!"; 
exit(); 
} 
?> 
<html> 
<head> 
<title> 
my movie site -<?php echo $_get[&#39;favmovie&#39;];</title> 
<body> 
<?php  
echo &#39;welcome to our site,&#39;; 
echo $_session[&#39;username&#39;]; 
echo &#39;!<br/>&#39;; 
?> 
</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>


本文地址:

转载随意,但请附上文章地址:-)

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn