2018年12月24日 星期一

DW_PHP_AJAX_CH4 PHP對資料的接收與輸出_(2)讀取環境變數_下

 [表單與網址資訊

表單所傳送的資料可以透過「$_REQUEST[“參數名稱”]」環境變數來讀取,至於資料的傳遞方式則可使用「$_SERVER["REQUEST_METHOD"]」環境變數來讀取:
<p><?php echo $_REQUEST['aName']; ?>您好!!</p>
<p>您的信箱為:<?php echo $_REQUEST['email']; ?></p>
<p>傳送方式:<?php echo $_SERVER['REQUEST_METHOD']; ?></p>
<p>傳送資料:<?php echo $_SERVER['QUERY_STRING']; ?></p>

!!!TIP: 

只有在表單傳送方式為「GET」時,「QUERY_STRING」環境變數才有資料值!

 !!!Tip 

在上圖中可否發現「QUERY_STRING」環境變數的資料值並非我們所輸入的文字?而是:「aName=%E8%8F%87%E9%9B%9E&email=....」, 參數名稱沒錯, 但是參數值的部分只要是中文的內容卻都不一樣了, 這是因為中文的部分在資料傳送過程中經過轉譯之故, 不過這並不影響程式的正確性。

若需得知表單傳送的資料量大小則可以透過「CONTENT_LENGTH」環境變數來取得, 只有在表單資料傳送方式為「POST」時,「CONTENT_LENGTH」環境變數才能顯示正確的傳送資料量大小:
<p><?php echo $_REQUEST['aName']; ?>您好!!</p>
<p>您的信箱為:<?php echo $_REQUEST['email']; ?></p>
<p>傳送方式:<?php echo $_SERVER['REQUEST_METHOD']; ?></p>
<p>資料傳送量:<?php echo $_SERVER['CONTENT_LENGTH']; ?></p>

!!!TIP: 

若表單資料傳送方式為「GET」則「CONTENT_LENGTH」環境變數值為0。 表單資料傳送方式為「GET」時, 「QUERY_STRING」環境變數可以讀取網址後方的參數資料(「?」問號之後的傳遞參數), 若要的是「?」問號之前的網頁基底則可以使用「SERVER_NAME」與「PHP_SELF」環境變數。
要得知被啟動的PHP程式網頁的實際檔案路徑則可使用「SCRIPT_FILENAME」環境變數;要得知PHP程式網頁是由哪一個網頁所鏈結啟動的, 則可使用「HTTP_REFERER」環境變數。
<p><?php echo $_REQUEST['aName']; ?>您好!!</p>
<p>您的信箱為:<?php echo $_REQUEST['email']; ?></p>
「SERVER_NAME」環境變數:
<?php echo $_SERVER['SERVER_NAME']; ?><br />
「PHP_SELF」環境變數:
<?php echo $_SERVER['PHP_SELF']; ?><br />
「SCRIPT_FILENAME」環境變數:
<?php echo $_SERVER['SCRIPT_FILENAME']; ?><br />
「HTTP_REFERER」環境變數:
<?php echo $_SERVER['HTTP_REFERER']; ?>

沒有留言:

張貼留言