[自查詢字串取得資料]
一個簡單的姓名、電子信箱,兩個欄位資料傳送的表單(getForm.htm)為例, 表單資料將交由getForm.php的PHP程式處理, 並以GET方式傳送表單資料。<body> <form id="form1" name="form1" method="GET" action="easyHtml.php"> <label for="aName">姓名:</label> <input type="text" name="aName" id="aName" /> <br /> <label for="email">信箱:</label> <input type="text" name="email" id="email" /> <br /> <input type="submit" name="button" id="button" value="送出" /> </form> </body>
form 標籤的 method (傳輸方式)屬性值若為「GET」, 則代表按下『送出』按鈕後, 瀏覽器將會立即主動的將資料傳給伺服器, 使用這種方式並不太好!因為當按下『傳送』按鈕後, 表單中的資料將會附在網址之後傳送到伺服器:
上圖中, 在「http://localhost/ch4/getFormAct.php」網址後端所串接的資料『?aName=xxx&email=xxx』, 就是表單以「GET」方式所傳遞的欄位資料,在「?」之後的才是表單內的資料, 「?」是網址與表單之間的區隔符號, 在「=」左邊的是表單欄位名稱(資料輸出的識別名稱, 參數名稱), 在「=」右方就是「資料值(參數的資料值)」, 表單欄位名稱是PHP程式讀取資料的識別依據, 若有多項參數資料自表單中傳出, 則各個參數資料間會以「&」符號區隔:
若是表單以「GET」方式傳遞欄位資料, 則在接收資料時便得使用$_GET["表單欄位名稱"]的方式來取的參數資料:
<p><?php echo $_GET['aName']; ?>您好!!</p> <p>您的信箱為:<?php echo $_GET['email']; ?></p>
以Dreamweaver建立getFormAct.php並接收採用GET方法傳送的表單資料步驟如下:
1. 選取主功能表【視窗】/【繫結】。
2. 選取「繫結」頁籤, 按下「+」按鈕, 選取『URL變數』命令。
3. 在「URL變數」對話框的「名稱」欄位中輸入要接收的資料變數名稱, 下圖為設定接收來自'aName'欄位的值:
4. 重複步驟2、3, 設定接收來自'email'欄位的值。
5. 利用拖曳的方式, 將URL變數aName自繫結面板拖曳至網頁中:
6. 將URL變數email自繫結面板拖曳至網頁中:
!!!TIP:
在設計視窗中, 以大括號包括並呈現藍底的文字即為繫結元素, 其顯示的資料內容是由PHP程式動態產生。 若, 在接收資料時使用「$_GET[“表單欄位名稱”]」的方式來取得參數資料, 那資料的傳遞就不一定要透過表單了, 亦可以在瀏覽器的網址中直接輸入資料, 不過, 參數名稱是必須相同的, 而參數資料值則可隨意變換。
為了確保資料的輸入正確性, 避免空白字元的誤輸入, 我們可以利用「trim()」函數將來自欄位資料字串左右兩邊的空白字元移除, 但是夾雜於字元與字元間的空白字元並不會被消除。在Dreamweaver中設定步驟如下圖:
!!!TIP:
上圖【修剪】/【左方】 是應用PHP的ltrim()函數, 而【修剪】/【右方】是應用PHP的rtrim()函數。<?php /*移除資料字串左右兩側的空白*/ echo trim($_GET['email']); ?> <?php /*移除資料字串左側的空白*/ echo ltrim($_GET['email']); ?> <?php /*移除資料字串右側的空白*/ echo rtrim($_GET['email']); ?>
沒有留言:
張貼留言