一、关于url传值:

url传值方法:假如我们有一个a.php页面,这个页面有一个指向b.php页面的超级链接,代码如下:
a.php
————
<html>
<a href=’b.php’>go</a>
</html>
————

现在我希望通过点击这个链接传递一个参数给b.php页面,应该怎么做呢?可以这样,只需要稍微改动一下代码就可以了:
a.php
————
<html>
<a href=’b.php?id=2′>go</a>
<!– 看见了吧,这里多了‘?id=2’,它的作用就是向b.php传递一个id=2的参数–>
</html>
————

那么,再b.php页面要怎么接收这个参数呢,很简单,用$_GET数组就可以了,所有通过网址传递的参数都保存在$_GET数组中,看代码:
b.php
————
<?php
echo id=$_GET['id'];//输出id的值看看结果吧
?>
————

那如果要传递多个参数怎么办呢,只需要用到&符号就可以了:

a.php
————
<html>
<a href=’b.php?id=2&iq=100′>go</a>
<!– 传递2个参数–>
</html>
————

在b.php页面获取参数的代码:

b.php
————
<?php
echo id=$_GET['id'];//输出id的值看看结果吧

echo iq=$_GET['iq'];//输出id的值看看结果吧
?>
————

站长注:除了用$_GET数组,你还可以用$_REQUEST数组来获取网址传递的参数值,$_REQUEST中保存了$_GET和$_POST方式传递的所有参数值,输出方法是一样的,echo一下就可以了!

总结:1.上面例子是传值到某个php的,但很多时候我们跳转都是跳转到某一个php里面的方法,而同

一个php的其他方法就用不了这个传进来的值了,当你声明一个全局变量,但是你在函数里面对全局

变量赋值的时候,到外面也用不到了,可能转换成了局部变量了
2.传值有两种形式:'__APP__/xsuser/login/id/1'和__APP'__/xsuser/login?id=1'

 

 

二、关于cookie传值:

一种:我在用的这个是Thinkphp封装好的:Cookie::set('tiaozhuan',1,time()+3600*24);
 $a=Cookie::get('tiaozhuan');

没有设置COOKIE的有效期,
bool setcookie (string $name [, string $value [, int $expire [, string $path [, string

$domain [, bool $secure]]]]] )
其中中括号内可以省略
$name 参数为Cookie变量名
$value 参数为COOkie值
$expire Cookie的失效时间 ,$expire是标准的UNIX时间标记,可以用time()函数或者mktime()函数

获取,单位为秒,如:time()+3600*24*30表示Cookie的有效期为一个月,如果不进行设置默认为会

话期间,即关闭浏览器时Cookie失效!
$path Cookie在服务器的有效路径
$domain Cookie有效域名
$secure 指明Cookie是否仅通过安全的HTTPS值为0或1,如果为1,则cookie只能在HTTPS连接有效;

如果值为默认值0,则在HTTP和HTTPS连接上均有效

---------------------------------------------------------

还有一种:PHP setcookie() 函数,是php里面的一个函数

setcookie(name,value,expire,path,domain,secure)
name必需。规定 cookie 的名称。
value必需。规定 cookie 的值。
expire可选。规定 cookie 的有效期。
path可选。规定 cookie 的服务器路径。
domain可选。规定 cookie 的域名。
secure可选。规定是否通过安全的 HTTPS 连接来传输 cookie。
可以通过 $HTTP_COOKIE_VARS["user"] 或 $_COOKIE["user"] 来访问名为 "user" 的 cookie 的值


在发送 cookie 时,cookie 的值会自动进行 URL 编码。接收时会进行 URL 解码。如果你不需要这

样,可以使用 setrawcookie() 代替。

<?php
$value = "my cookie value";
// 发送一个 24 小时候过期的 cookie
setcookie("TestCookie",$value, time()+3600*24);
?>

<html>
<body>

...
...
检索 cookie 值的不同方法:
<html>
<body>
<?php
// 输出个别的 cookie
echo $_COOKIE["TestCookie"];
echo "<br />";
echo $HTTP_COOKIE_VARS["TestCookie"];
echo "<br />";
// 输出所有 cookie
print_r($_COOKIE);
?>
</body>
</html>
通过把失效日期设置为过去的日期/时间,删除一个 cookie:
<?php
// 把失效日期设置为一小时前
setcookie ("TestCookie", "", time() - 3600);
?>
<html>
<body>
...
...
创建一个数组 cookie:
<?php
setcookie("cookie[three]","cookiethree");
setcookie("cookie[two]","cookietwo");
setcookie("cookie[one]","cookieone");
// 输出 cookie (在重载页面后)
if (isset($_COOKIE["cookie"]))
  {
  foreach ($_COOKIE["cookie"] as $name => $value)
    {
    echo "$name : $value <br />";
    }
  }
?>
<html>
<body>

...
...
 

------------------------------------------------------

cookie注意事项
1、SetCookie()之前不能有任何html输出,就是空格,空白行都不行。
2、SetCookie()后,你在当前页调用echo $_COOKIE["name"]不会有输出。必须刷新或到下一个页面

在过期之前才可以看到Cookie值。
3、由于 cookie 信息存储于用户的计算机中,那么就有可能伪造或修改 cookie 从而造成 cookie

欺骗,一般可以对 cookie 的值进行加密来预防欺骗。读取 cookie 的时候,对 cookie 解密即可


4、Cookie是保存在客户端的,用户禁用了Cookie,你的Cookie自然也就没作用啦!
<?php
setcookie('username','nostop',time()+3600);    //创建cookie
if(isset($_COOKIE["username"])){    //使用isset()函数检测cookie变量是否已经被设置
    echo "您好!".$_COOKIE["username"];    //您好!nostop     读取cookie
}else{
    echo "请登陆";
}
?>

 

三、关于session传值:

Session通过为每个访问者创建一个独立的ID(UID)并储存基于UID的变量来运行。UID既存储在

cookie中,又在URL中展现出来。
 
启动PHP Session
在你将用户信息存入PHP Session之前,你必须先启动Session。
注意:session_start()函数必须写在<html>标签之前:
 <?php session_start(); ?>
 <html>
 <body></body>
 </html>
 上述代码将在服务器上注册一个用户的session,允许你储存用户信息,并为用户session指定一个

UID。
 
储存一个Session变量
 储存和获取session变量的最佳方法是使用PHP $_SESSION变量:
 <?php
 session_start();
 // store session data
 $_SESSION['views']=1;
 ?><html>
 <body><?php
 //retrieve session data
 echo "Pageviews=". $_SESSION['views'];
 ?></body>
 </html>
 结果:
 Pageviews=1
 
在上述案例中,我们建立了一个简易的页面计数器。Isset()函数检查“views”变量是否已经被设

置。如果“views”变量已经被设置了,我们会增加我们的计数。如果“views”变量不存在,我们

会先创建一个“views”变量,并把“1”赋给它。
 <?php
 session_start();
 if(isset($_SESSION['views']))
 $_SESSION['views']=$_SESSION['views']+1;
 else
 $_SESSION['views']=1;echo "Views=". $_SESSION['views'];
 ?>
 
删除Session
 如果你希望删除一些session数据,你可以使用unset()函数或session_destroy()函数。
 Unset()函数的作用是释放指定的session变量:
 <?phpunset($_SESSION['views']);
 ?>
 
你也可以使用session_destroy()函数将session全部删除:
 <?php
 session_destroy();
 ?>
 注意:session_destroy()会重新设置你的session,你会丢失所有已保存的session数据。