【www.gdgbn.com--Action】
标记行:用
应用
第一种:通过url传送变量
例如:http://www.xxx.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
session_start();
$_session["username"]="van";
$_session["authuser"]=1;
?>
$myfavmovie=urlencode("life of brian");
echo "";
echo "click here to see information about my favorite movie!";
echo "";
?>
test2.php
session_start();
if($_session["authuser"]!=1)
{
echo "sorry,but you don"t have permission to view this page!";
exit();
}
?>
my movie site -
echo "welcome to our site,";
echo $_session["username"];
echo "!
";
?>
第三种:用cookie传送变量
使用cookie存在潜在的安全风险,黑客可以通过cookie来获取你在这个web上所留下来的信息,加以利用,所以最好不要把私人信息存储在计算机上
由于访客可能选择关闭cookie功能,或者选择删除计算机中的cookie,所以从开发的角度来看,使用cookie信息并不是最佳的方法
置并发送 cookie:
$value = "my cookie value";
// 发送一个简单的 cookie
setcookie("testcookie",$value);
?>
...
...
$value = "my cookie value";
// 发送一个 24 小时候过期的 cookie
setcookie("testcookie",$value, time()+3600*24);
?>
...
...