PHP傳值 - POST和GET 的用法
做PHP最常碰到的就是利用網址傳值、以及送出表單的處理了。
◎GET:給網址傳值用的變數呼叫法
什麼是網址傳值?
比方說今天有一篇文章,它的編號是100,
而秀出文章的那個頁面假設叫 article_show.php,
那麼我就可以直接用網址傳值:
article_show.php?aid=100
問號後面的是變數的名稱和值,
語法是:?變數=值&變數=值&變數=值
中間用&隔開。
所以說如果除了文章編號之外我想要再多加一些變數像是文章分類,
我就可以這樣用:
article_show.php?category=2&aid=100
也就是第2個分類、第100篇文章。
而要在php頁面的程式去抓取你網址傳來的值,
就是要使用$_GET,
比方此例就是$_GET['aid']
抓到的值就是100。
(也就是 echo $_GET['aid']; 印出來會是100)
當然如果單純用$aid也是可以抓得到,
但是之前我接聖約翰休健系的案子,
有一天忽然網頁全部失效,
後來發現就是出問題在變數上,
把接收網址傳值的變數全部修改回$_GET就正常了,
所以最好還是打完整以免有非預期的情形發生。
◎POST:給表單傳值用的變數呼叫法
至於表單傳值就是form的用法了,
比方今天我們在網頁上插入一個表單,
要使用者輸入帳號密碼,
當他按送出之後,
表單欄位就會傳值,
比方:
帳號:__________ ←假設這個文字欄位叫u_name
密碼:__________ ←假設這個文字欄位叫u_psw
送出
等使用者按送出後,
要抓取到他輸入的值,
帳號那欄就是使用 $_POST['u_name']
同理,密碼那欄是 $_POST['u_psw']
假設使用者在 u_name 那欄輸入 belleaya
那在接收頁我們使用 echo $_POST['u_name'];
就可以印出 belleaya。
以上大概就是POST和GET的差異了。

thank you for your sharing that's so meaningful !
不客氣~~
謝謝大大的分享. 我是個初學者. 最近看到書上有下面這樣子的送參數: 作者好像是說那個#是錨點(但也沒有很清楚指名, 故可能也不是), 請問一下, 傳參數也可以一併傳錨點嗎? 傳錨點的作用是在幹什麼呢? 謝謝大大
那個是html的語法~ 比方說 點進這頁之後 讓頁面直接跳到留言的話 就是 http://belleaya.pixnet.net/blog/post/30538510#comment-60400813 他是在下面留言區有插入一個<a name="#comment-60400813"></a> 這樣我在網址後面加入#comment-60400813 他一點就會直接跳到下面留言區這樣~
想請問一下如果網址上的變數沒有輸入.例如下面: http://www.abc.com/abc.php 正確的應該是如下的: http://www.abc.com/abc.php?code=10 可以有個方法查到到沒有定義的code數和定義他呢? 謝謝你了
如果是要看別人寫的變數的話 我就不太知道要怎麼弄了 因為直接看server上的php檔的話 就是只有html碼看得到 不知道你是不是想問這個說~~
謝謝大大回覆我的問題
不客氣~
你好, 可否請教 下拉選單的 PHP 接收語法的寫法 .. 我的 HTML 如下 : 先謝謝版主了..
應該是 <form id="form1" name="form1" method="post" action="目標網頁.php"> <select name="spa_order" size="1" id="spa_order" > <optgroup label="美顏項目" style="color:#f76528" > <option value="f1" style="color:#f76528" selected="selected">靚白護理 <option value="f2" style="color:#f76528">嫩白長效護理 </select> </form> 那個form裡的目標網頁.php就是要收到值的那個頁面 我是用post的方式
*****
*****
請問post也可以傳一整個table的值嗎~?
如果是html碼可以傳~ 而如果是打算在輸入頁放一格一格那種 就是每一格都要一個輸入的欄位 之後在insert進資料庫那頁再用程式處理也可以
我這邊遇到一個狀況
可是我在html的架構 之外有利用PHP 的程式 跑出幾個數值 想要跟著get 一起傳到下一頁 於是我用 但結果是裡面的值 一樣過去 利用action 傳的變數 卻過不去 後來試著把裡面兩個數值拿掉 結果一樣因為程式少打等號?
你好! 我想請問一下 $choice=0; $menu=isset($_GET['menu'])?$_GET['menu']:'index'; $nmenu=array("home","about","teaching-course","electronic-catalog","contact"); if (in_array($menu,$nmenu)){ $choice =array_search($menu, $nmenu); } include( $nmenu[$choice].".php"); 我是這樣寫,如果想要像您一樣多個參數 就像您article_show.php?category=2&aid=100這樣 那我該怎麼加比較好呢?