在兩次頁之間傳遞少量數據,可以使用get提交,也可以使用post提交,二者的區別恕不贅述。
使用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"]; ?> 岁。
使用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保存,二者的區別恕不贅述。
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>
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,到此結束!