談談PHP文法(3)

來源:互聯網
上載者:User

作者:華紅狼
本文:
上文(《談談PHP文法(2)》)中曾提到了PHP提交表單資訊是很方便的。可是,提交的表單資訊中的變數的生命週期是多長呢?本文就來崐談談這個問題。
表單的參數會傳給下一個處理常式,這是不用置疑的。因為,我們曾有過這樣的例子。可它還會繼續傳給下一個處理常式嗎?
答案是否定的!一個Form表單所提交的參數只傳給第一個處理常式,而下一個處理常式中它是不會起作用的。來看看下例吧:
檔案:table.html
<html>
<head><title>表單提交</title>
</head>
<body>
<form action="deal-1.php">
輸入你認為好的歌星:<input type="text" name="start" size=20 >
<input type="submit" value="是他了,送出吧">
</form>
</body>
</html>

檔案:deal-1.php
<?php
echo "<html><body>";
echo "你喜歡$start,對嗎?<br>";
echo "<a href=\"deal-2.php\">試試是否會再傳下去</a>";
echo "</body></html>";
?>
檔案:deal-2.php
<?php
echo "<html><body>";
echo "你說$start好嗎?";
echo "</body></html>";
?>
從上例中,我們可以看見:deal-1.php處理的結果為(假定我們在table.html中輸入的是“張學友”):

你喜歡張學友,對嗎?
試試是否會再傳下去

說明表單提交了變數$start給deal-1.php,而在deal-1.php的顯示結果中,若我們點擊了連結“試試是否會再傳下去”之後,deal-2.ph崐p的處理結果為:

你說好嗎?

很明顯,$start沒有傳給deal-2.php。但是,我們又怎樣延長$start的生命週期呢?其實,這很簡單,使用參數傳遞的方法就行了。如崐下,我們可以把deal-1.php改成這樣:
<?php
echo "<html><body>";
echo "你喜歡$start,對嗎?<br>";
echo "<a href=\"deal-2.php?start=$start\">試試是否會再傳下去</a>";
echo "</body></html>";
?>
分晰程式,你會發現只是在deal-1.php後加了一句“?start=$start”就行了,而這起的作用就是參數傳遞。如:http://zhuagk12.oso.崐com.cn/cartoon.php?no=1 其?後的為參數,no為參數名,其值為1。這樣,會在cartoon.php程式中產生變數$no,其值為1。若傳兩個以上崐參數,其間用&分隔。如:http://zhuagk12.oso.com.cn/cartoon.php?no=2&debug=1
為了延長參數的生命週期,我們還可以使用Cookie或Session來實現,這裡不加多述,在以後的文章中你會見到它們的用法。

--(待續)--

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.