首頁 >php教程 >php手册 >php從入門到放棄系列-04.php頁間值傳遞與保持

php從入門到放棄系列-04.php頁間值傳遞與保持

WBOY
WBOY原創
2016-08-25 10:20:471549瀏覽

php從入門到放棄系列-04.php頁間值傳遞和保持

一、目錄結構

 二、兩次頁間傳遞值

  在兩次頁之間傳遞少量數據,可以使用get提交,也可以使用post提交,二者的區別恕不贅述。

  1、get提交

  使用get提交來傳遞數據,在連結位址中修改發送到伺服器的 URL 如下所示http://www.cnblogs.com/MarkRao/p/php01.html?gName=mark&gAge=26

  ,當然也可以在表單中設定method="get",php中接收get提交過來的資料值,使用預先定義$_GET變數

  從帶有 GET 方法的表單發送的訊息,對任何人都是可見的(會顯示在瀏覽器的網址列),並且對發送訊息的量也有限制。

<span style="color: #008080;"> 1</span> <html>
<span style="color: #008080;"> 2</span> <head>
<span style="color: #008080;"> 3</span> <meta charset="utf-8">
<span style="color: #008080;"> 4</span> <title>get提交值</title>
<span style="color: #008080;"> 5</span> </head>
<span style="color: #008080;"> 6</span> <body>
<span style="color: #008080;"> 7</span> 
<span style="color: #008080;"> 8</span> <form action="getPage.php" method="get">
<span style="color: #008080;"> 9</span> 名字: <input type="text" name="gName">
<span style="color: #008080;">10</span> 年龄: <input type="text" name="gAge">
<span style="color: #008080;">11</span> <input type="submit" value="提交">
<span style="color: #008080;">12</span> </form>
<span style="color: #008080;">13</span> 
<span style="color: #008080;">14</span> </body>
<span style="color: #008080;">15</span> </html>

  "getPage.php" 檔案現在可以透過 $_GET 變數來收集表單資料了(請注意,表單域的名稱會自動變成 $_GET 陣列中的鍵):

<span style="color: #008080;">1</span> 欢迎 <?php <span style="color: #0000ff;">echo</span> <span style="color: #800080;">$_GET</span>["gName"]; ?>!<br>
<span style="color: #008080;">2</span> 你的年龄是 <?php <span style="color: #0000ff;">echo</span> <span style="color: #800080;">$_GET</span>["gAge"]; ?>  岁。

 

  2、post提交

  使用post提交來傳遞數據,在表單中設定method="post",php中接收post提交的資料值,使用預先定義$_POST變數

  從帶有 POST 方法的表單發送的訊息,對任何人都是不可見的(不會顯示在瀏覽器的地址欄),並且對發送訊息的量也沒有限制。

  註:然而,預設情況下,POST 方法的傳送訊息的量最大值為 8 MB(可透過設定 php.ini 檔案中的 post_max_size 進行變更)。

<span style="color: #008080;"> 1</span> <html>
<span style="color: #008080;"> 2</span> <head>
<span style="color: #008080;"> 3</span> <meta charset="utf-8">
<span style="color: #008080;"> 4</span> <title>post提交值</title>
<span style="color: #008080;"> 5</span> </head>
<span style="color: #008080;"> 6</span> <body>
<span style="color: #008080;"> 7</span> 
<span style="color: #008080;"> 8</span> <form action="postPage.php" method="post">
<span style="color: #008080;"> 9</span> 名字: <input type="text" name="pName">
<span style="color: #008080;">10</span> 年龄: <input type="text" name="pAge">
<span style="color: #008080;">11</span> <input type="submit" value="提交">
<span style="color: #008080;">12</span> </form>
<span style="color: #008080;">13</span> 
<span style="color: #008080;">14</span> </body>
<span style="color: #008080;">15</span> </html>

  "postPage.php" 檔案現在可以透過 $_POST 變數來收集表單資料了(請注意,表單域的名稱會自動變成 $_POST 陣列中的鍵):

<span style="color: #008080;">1</span> 欢迎 <?php <span style="color: #0000ff;">echo</span> <span style="color: #800080;">$_POST</span>["pName"]; ?>!<br>
<span style="color: #008080;">2</span> 你的年龄是 <?php <span style="color: #0000ff;">echo</span> <span style="color: #800080;">$_POST</span>["pAge"]; ?>  岁。

 

三、多個頁面之間保持值

  在多個頁面之間保持數據,可以使用session保存,也可以使用cookie保存,二者的區別恕不贅述。

  1、session保存資料

  PHP session 變數用於儲存關於使用者會話(session)的信息,或更改使用者會話(session)的設定。 Session 變數儲存單一使用者的信息,並且對於應用程式中的所有頁面都是可用的。 Session 的工作機制是:為每位訪客建立一個唯一的 id (UID),並基於這個 UID 來儲存變數。 UID 儲存在 cookie 中,或透過 URL 進行傳導

  在您把使用者資訊儲存到 PHP session 之前,首先必須啟動會話。

  註:session_start() 函數必須位於 標籤之前:

  儲存和取回 session 變數的正確方法是使用 PHP的$_SESSION變數:

<span style="color: #008080;"> 1</span> <?php <span style="color: #008080;">session_start</span><span style="color: #000000;">();
</span><span style="color: #008080;"> 2</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 存储 session 数据</span>
<span style="color: #008080;"> 3</span> <span style="color: #800080;">$_SESSION</span>['viewCount']=1<span style="color: #000000;">; 
</span><span style="color: #008080;"> 4</span> ?>
<span style="color: #008080;"> 5</span> 
<span style="color: #008080;"> 6</span> <html>
<span style="color: #008080;"> 7</span> <head>
<span style="color: #008080;"> 8</span> <meta charset="utf-8">
<span style="color: #008080;"> 9</span> <title>session保持数据值</title>
<span style="color: #008080;">10</span> </head>
<span style="color: #008080;">11</span> <body>
<span style="color: #008080;">12</span> 
<span style="color: #008080;">13</span> <?<span style="color: #000000;">php
</span><span style="color: #008080;">14</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 取出 session 数据</span>
<span style="color: #008080;">15</span> <span style="color: #0000ff;">echo</span> "浏览量:". <span style="color: #800080;">$_SESSION</span>['viewCount'<span style="color: #000000;">];
</span><span style="color: #008080;">16</span> ?>
<span style="color: #008080;">17</span> 
<span style="color: #008080;">18</span> </body>
<span style="color: #008080;">19</span> </html>

 

  2、cookie保存資料

  cookie 常用於辨識使用者。 cookie 是一種伺服器留在使用者電腦上的小檔案。每當同一台電腦透過瀏覽器請求頁面時,這台電腦將會傳送 cookie。透過 PHP,您能夠建立並取回 cookie 的值。

    setcookie() 函數用於設定 cookie。

  註解:setcookie() 函數必須位於 標籤之前。

  文法如下

<span style="color: #008080;">1</span> <span style="color: #008000;">//</span><span style="color: #008000;">name存储的键名
</span><span style="color: #008080;">2</span> <span style="color: #008000;">//value存储的键值
</span><span style="color: #008080;">3</span> <span style="color: #008000;">//expire存储的超时时间
</span><span style="color: #008080;">4</span> <span style="color: #008000;">//path存储的位置
</span><span style="color: #008080;">5</span> <span style="color: #008000;">//domain存储区别的域名</span>
<span style="color: #008080;">6</span> <span style="color: #008080;">setcookie</span>(name, value, expire, path, domain);

  $_COOKIE 變數用來取回 cookie 的值。

<span style="color: #008080;">1</span> <?<span style="color: #000000;">php
</span><span style="color: #008080;">2</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 输出 cookie 值</span>
<span style="color: #008080;">3</span> <span style="color: #0000ff;">echo</span> <span style="color: #800080;">$_COOKIE</span>["user"<span style="color: #000000;">];
</span><span style="color: #008080;">4</span> 
<span style="color: #008080;">5</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 查看所有 cookie</span>
<span style="color: #008080;">6</span> <span style="color: #008080;">print_r</span>(<span style="color: #800080;">$_COOKIE</span><span style="color: #000000;">);
</span><span style="color: #008080;">7</span> ?>


  當刪除 cookie 時,您應使過期日期變更為過去的時間點

<span style="color: #008080;">1</span> <?<span style="color: #000000;">php
</span><span style="color: #008080;">2</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 设置 cookie 过期时间为过去 1 小时</span>
<span style="color: #008080;">3</span> <span style="color: #008080;">setcookie</span>("user", "", <span style="color: #008080;">time</span>()-3600<span style="color: #000000;">);
</span><span style="color: #008080;">4</span> ?>

 

  ok,到此結束!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn