文章詳情頁(yè)
PHP4實(shí)際應(yīng)用經(jīng)驗(yàn)篇(8)
瀏覽:5日期:2024-01-03 17:10:21
作者:孫運(yùn)動(dòng) 你可能已經(jīng)注意到,到目前為止,在我們給你的所有例子中,我們都是給你兩個(gè)頁(yè)面-一個(gè)單純的具有表單的HTML頁(yè)面,和另一個(gè)用來(lái)處理表單輸入并產(chǎn)生相應(yīng)輸出的PHP腳本。然而,PHP提供了一種把那兩個(gè)頁(yè)面通過(guò) $submit 變量結(jié)合在一起的文雅的方法 你已經(jīng)知道,一旦一個(gè)表單提交給PHP腳本,所有的表單變量就變成了的PHP變量。現(xiàn)在,除了用戶(hù)定義的變量外,在你每次點(diǎn)擊表單的“提交(SUBMIT )”按扭的同時(shí),也就創(chuàng)建了一個(gè)名為 $submit的變量。因此,通過(guò)測(cè)試該變量是否存在,聰明的程序員可以只使用一個(gè)頁(yè)面來(lái)既初始化表單又產(chǎn)生提交后的輸出。;;讓我們給你示范一下-我們用一個(gè)頁(yè)面來(lái)實(shí)現(xiàn)上面那個(gè)幸運(yùn)甜餅例子,包括最初的選擇日期頁(yè)面和后面的幸運(yùn)甜餅頁(yè)面。我們假設(shè)新的PHP文件也叫"cookie.php" -------------------------------------------------------------------------------- <;;? if (!$submit) { // 如果$submit不存在, 這暗示表單還沒(méi)有提交 // 所以顯示第一個(gè)頁(yè)面 ?> < html> < head> < style type="text/css"> td {font-family: Arial;} < /style> < /head> < body> < font face="Arial" size="+2"> The Amazing Fortune Cookie Generator < /font> < form method="GET" action="cookie.php"> < table cellspacing="5" cellpadding="5" border="0"> < tr> < td align="center"> Pick a day < /td> < td align="right"> < select name="day"> < option value="Monday">Monday < option value="Tuesday">Tuesday < option value="Wednesday">Wednesday < option value="Thursday">Thursday < option value="Friday">Friday < option value="Saturday">Saturday < option value="Sunday">Sunday < /select> < /td> < /tr> < tr> < tr> < td colspan="2" align="center"> < input type="submit" name="submit" value="Hit me!"> < /td> < /tr> < /table> < /form> < /body> < /html> < ? } else { // 如果$submit 確實(shí)存在了,表單已經(jīng)被提交了 // 所以使用switch()函數(shù)來(lái)處理 // 這里的決定變量是用戶(hù)選擇的日期 switch ($day) ;;{ // 第一種情況 case "Monday": $fortune = "當(dāng)能找到使每件事做的復(fù)雜精彩的方法的時(shí)候,不要使它簡(jiǎn)單有效"break; // 第一種情況 case "Tuesday": $fortune = "生活是游戲的橋梁?-你一定施展某種巧計(jì)了。"break; case "Wednesday": $fortune = "什么能使頭腦清醒的人生活在這個(gè)世界上永不發(fā)瘋?"break; case "Thursday": $fortune = "不要瘋狂,要有趣"break; case "Friday": $fortune = "僅僅跟著時(shí)代走,順著風(fēng)氣行,當(dāng)你得到提升時(shí)你會(huì)發(fā)現(xiàn)類(lèi)型是個(gè)魔鬼。"break; // 如果以上條件都不符合... default: $fortune = "很抱歉,周末關(guān)門(mén)"break; } ?> < html> < head> < basefont face="Arial"> < /head> < body> Here is your fortune for < ? echo $day; ?>: < br> < b>< ? echo $fortune; ?>< /b> < /body> < /html> < ? } ?> -------------------------------------------------------------------------------- 正如你所看到的,腳本首先測(cè)試 $submit變量是否存在,如果沒(méi)找到,它將認(rèn)為表單沒(méi)有提交并且顯示最初的日期選擇列表。 由于< FORM>標(biāo)簽的 ACTION屬性設(shè)為同一個(gè) PHP腳本,一旦表單被提交,同一個(gè)腳本將被呼叫來(lái)處理表單的輸入。然而,被呼叫后的這次$submit變量將已經(jīng)存在了,所以將不再顯示最初的頁(yè)面,反而顯示具有幸運(yùn)甜餅的頁(yè)面了。 注意為了使這些能正常工作,你的 -------------------------------------------------------------------------------- < input type="submit"> -------------------------------------------------------------------------------- 必須有一個(gè)賦予"submit"值的NAME屬性。 -------------------------------------------------------------------------------- < input type="submit" name="submit"> --------------------------------------------------------------------------------
標(biāo)簽:
PHP
排行榜
