轉載
摘要
不同頁面之間傳值在web工作中經常用到,本文列舉了3種常見和實用的方法
接觸PHP也有幾個月了,本文總結一下這段日子中,在編程過程裏常用的3種不同頁面傳值方法,希望可以給大家參考。有什麼意見也希望大家一起討論。
一. POST傳值
post傳值是用於html的<form>表單跳轉的方法,很方便使用。例如:
?
1 2 3 4 5 6 7 | < html > < form action = '' method = '' > < input type = 'text' name = 'name1' > < input type = 'hidden' name = 'name2' value = 'value' > < input type = 'submit' value = '提交' > </ form > </ html > |
form中的action填入的是跳轉頁面的url路徑,method填入post方法。form表單中的提交按鈕按下後,就會把form中有name的內容都傳到填入的url中,可以通過$_POST['name']獲取,例如:
?
1 2 3 4 | <?php $a = $_POST [ 'name1' ]; $b = $_POST [ 'name2' ]; ?> |
這裏有個很方便的小技巧,在input標簽中把type選為'hidden'時,這個input標簽會隱藏起來,不在頁面顯示,但這input標簽在form中,並且有name值和value值,同樣會跟隨提交按鈕傳遞過去,這種隱藏標簽可以傳遞一些不想顯示出來的內容。
二.GET傳值
GET傳值是通過跟隨url傳遞的,在頁面跳轉時,跟著url跳轉。常用於<a>標簽的使用。例如:
?
1 | < a href = 'delete.php?id=value' >點我跳轉</ a > |
跳轉進入xxx.php後,就能通過$_GET['id']獲取傳遞的值。GET方法常用於URL的目的是刪除或讀取某個id的php文件。
三.SESSION傳值
SESSION是全局變量的一種,經常用於用戶登陸後保存用戶id之類的常用數據。一旦保存到SESSION中,其他頁面都可以通過SESSION獲取,SESSION的使用要開啟session:
?
1 2 3 4
5 6 7 8 9 10 11 12 | <?php //session賦值 session_start(); $_SESSION [ 'one' ]=value1; $_SESSION [ 'two' ]=value2; //session值的讀取: $one = $_SESSION [ 'one' ]; //session值的銷毀 unset( $_SESSION [ 'one' ]); ?> |
以上三種方式是常用方式,大家可以參考使用。
對於三種方式的利弊,get傳值是顯示在URL鏈接中,很不安全,如果是要鏈接到另一頁面,post不太方便使用,選擇session是一個很好很方便的方法