標題:
5-2-3 表單與網址資訊
[打印本頁]
作者:
小誌
時間:
2011-4-19 09:24
標題:
5-2-3 表單與網址資訊
5-2-3 表單與網址資訊
表單所傳送的資料可以透過「$_REQUEST[“參數名稱”」環境變數來讀取,至於資料的傳遞方式則可使用「$_SERVER["REQUEST_METHOD"]」環境變數來讀取:(範例go3.php配合message3.htm)
go3.php
<?
$name=$_REQUEST["name"];
$email=$_REQUEST["email"];
$memo=$_REQUEST["memo"];
if ($name=="" || $email=="" || $memo=="")
{
echo "姓名或email或留言,任何一欄位不可為空白,請重新輸入";
}
else
{
$memo=nl2br($memo);
?>
<html>
<body>
<table border=1>
<tr>
<td>留言者:<?echo $name?></td><td>Email:<?echo $email?></td>
</tr>
<tr bgcolor=#ffffcc><td colspan=2><?echo $memo?></td>
</tr>
<tr>
<td colspan=2>傳送方式:<?echo $_SERVER["REQUEST_METHOD"]?></td>
</tr>
<tr>
<td colspan=2>傳送資料:<?echo $_SERVER["QUERY_STRING"]?></td>
</tr>
</table>
</body>
</html>
<?
}
?>
複製代碼
請注意:
只有在表單傳送方式為「Get」時,「QUERY_STRING」環境變數才有資料值!
[attach]5516[/attach]
圖5-11 範例go3.php配合message3.htm。
提示!!
在圖5-11中您是否發現「QUERY_STRING」環境變數的資料值並非我們所輸入的文字?而是:
「name=%B7%A4p%BBx&email=Charles....」,參數名稱沒錯,但是參數值的部分只要是中文的內容卻都不一樣了,這是因為中文的部分在資料傳送過程中經過轉譯之故,不過這並不影響程式的正確性。
作者:
小誌
時間:
2011-4-19 09:25
而表單傳送的資料量大小則可以透過「CONTENT_LENGTH」環境變數來取得,「CONTENT_LENGTH」環境變數只有在表單資料傳送方式為「Post」時,「CONTENT_LENGTH」環境變數才能顯示正確的傳送資料量大小:(範例go4.php配合message4.htm)
[attach]5517[/attach]
圖5-12 範例go4.php配合message4.htm。
go4.php
<?
$name=$_REQUEST["name"];
$email=$_REQUEST["email"];
$memo=$_REQUEST["memo"];
if ($name=="" || $email=="" || $memo=="")
{
echo "姓名或email或留言,任何一欄位不可為空白,請重新輸入";
}
else
{
$memo=nl2br($memo);
?>
<html>
<body>
<table border=1>
<tr>
<td>留言者:<?echo $name?></td><td>Email:<?echo $email?></td>
</tr>
<tr bgcolor=#ffffcc><td colspan=2><?echo $memo?></td>
</tr>
<tr>
<td colspan=2>傳送方式:<?echo $_SERVER["REQUEST_METHOD"]?></td>
</tr>
<tr>
<td colspan=2>傳送資料量:
<?echo $_SERVER["CONTENT_LENGTH"]?></td>
</tr>
</table>
</body>
</html>
<?
}
?>
複製代碼
作者:
小誌
時間:
2011-4-19 09:27
若表單資料傳送方式為「Get」則「CONTENT_LENGTH」環境變數值為0:
[attach]5518[/attach]
圖5-13 表單資料傳送方式為「Get」。
表單資料傳送方式為「Get」時,「QUERY_STRING」環境變數可以讀取網址後方的參數資料(「?」問號之後的傳遞參數),若我要的是「?」問號之前的網頁基底呢?這個時候就可以使用「SERVER_NAME」與「PHP_SELF」環境變數。
要得知被啟動的PHP程式網頁的實際檔案路徑則可使用「PATH_TRANSLATED」環境變數;要得知PHP程式網頁是由哪一個網頁所鏈結啟動的,則可使用「HTTP_REFERER」環境變數:(範例go5.php配合message5.htm)
go5.php
「SERVER_NAME」環境變數:
<?echo $_SERVER["SERVER_NAME"];?><BR>
「PHP_SELF」環境變數:
<?echo $_SERVER["PHP_SELF"];?><BR>
「PATH_TRANSLATED」環境變數:
<?echo $_SERVER["PATH_TRANSLATED"];?><BR>
「HTTP_REFERER」環境變數:
<?echo $_SERVER["HTTP_REFERER"];?><BR>
複製代碼
[attach]5519[/attach]
圖5-14 範例go5.php配合message5.htm。
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)