
我們將 encryptor01.php 稍作簡單的修改,藉以說明整個概念
<html>
<head>
<title>Encode Software</title>
<link rel="stylesheet" href="encryptor.css">
</head>
<body>
<div class="menu">
<a href="<?PHP echo $_SERVER['PHP_SELF']; ?>">Home</a> -
<a href="<?PHP echo $_SERVER['PHP_SELF'].'?op=record'; ?>">Record</a> -
<a href="<?PHP echo $_SERVER['PHP_SELF'].'?op=about'; ?>">About</a>
</div>
<div class="main">
<form action="<?PHP echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="text" name="input" size="67"><br / >
<input type="submit" value="New" name="op">
<input type="submit" value="Load" name="op">
<input type="submit" value="Encode" name="op">
<input type="submit" value="Decode" name="op">
<input type="submit" value="Clean" name="op">
</form>
</div>
<div class="display">
<?php
switch ($_REQUEST["op"]) {
case "New":
echo "There is <b>New</b> button.";
break;
case "Load":
echo "There is <b>Load</b> button.";
break;
case "Encode":
echo "There is <b>Encode</b> button. Your input is '{$_POST['input']}'.";
break;
case "Decode":
echo "There is <b>Decode</b> button. Your input is '{$_POST['input']}'.";
break;
case "Clean":
echo "There is <b>Clean</b> button.";
break;
case "record":
echo "There is <b><i>Record</i></b> page.";
break;
case "about":
echo "There is <b><i>About</i></b> page.";
break;
default:
echo "something happened";
}
?>
</div>
</body>
</html>
<!-- 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:encryptor02.php
功能:示範 PHP 程式
作者:張凱慶
時間:西元 2012 年 11 月 -->這裡是將第三個區塊改成 PHP 程式,也就是加入 switch 陳述。由於選單中 Record 的 op 值為 "record" , About 為 "about" ,雖然傳回是 $_GET 變數,但都可以由 $_REQUEST 來取得。同樣的,表單中有五個 op ,其值分別為 "New" 、 "Load" 、 "Encode" 、 "Decode" 與 "Clean" ,由 $_POST 傳回也可由 $_REQUEST 取得
switch ($_REQUEST["op"]) {
case "New":
echo "There is <b>New</b> button.";
break;
case "Load":
echo "There is <b>Load</b> button.";
break;
case "Encode":
echo "There is <b>Encode</b> button. Your input is '{$_POST['input']}'.";
break;
case "Decode":
echo "There is <b>Decode</b> button. Your input is '{$_POST['input']}'.";
break;
case "Clean":
echo "There is <b>Clean</b> button.";
break;
case "record":
echo "There is <b><i>Record</i></b> page.";
break;
case "about":
echo "There is <b><i>About</i></b> page.";
break;
default:
echo "something happened";
}程式很簡單,就在第三個區塊顯示傳回哪個 op 變數。 "Encode" 與 "Decode" 的地方要注意一下,這裡額外用 $_POST['input'] 取得文字輸入欄位的輸入值,並且將使用者輸入的文字印出來
case "Encode":
echo "There is <b>Encode</b> button. Your input is '{$_POST['input']}'.";
break;
case "Decode":
echo "There is <b>Decode</b> button. Your input is '{$_POST['input']}'.";
break;PHP 的字串 (string) 裡也可用大括弧放變數,不然就要用字串連接運算子 . 。
至於選單 Home 或是第一次連結到 encryptor02.php 都會執行 default
default:
echo "something happened";來看看網頁結果吧!先看到 Record 頁

New 按鈕

Encode 按鈕並輸入 "There is no spoon"

好了,網站流程控制的概念很簡單唄!接下來我們要將功能模組化,將 HTML 語法交給 PHP 函數 (function) ,來看看 make_page() 與 input_form() 吧!
| 中英文術語對照 | |
|---|---|
| 陳述 | statement |
| 變數 | variable |
| 字串 | string |
| 函數 | function |
您可以繼續參考
網站篇
相關目錄
回 PHP 入門指南
回 PHP 教材
回首頁
參考資料
http://www.php.net/manual/en/tutorial.firstpage.php
http://www.php.net/manual/en/tutorial.useful.php
http://www.php.net/manual/en/tutorial.forms.php
http://php.net/manual/en/control-structures.switch.php
沒有留言:
張貼留言