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

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

WBOY
發布: 2016-05-25 16:42:54
原創
1230 人瀏覽過

标记行:用

表示.这个标记行必须包含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>
登入後複製


本文地址:

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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門推薦
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板