淺談PHP語法(三)

發表于:2007-05-17來源:作者:點擊數: 標簽:php上文中曾到了語法
上文中曾提到了 PHP 提交表單信息是很方便的??墒?,提交的表單信息中的變量的生命周期是多長呢?本文就來崐談談這個問題。 表單的參數會傳給下一個處理程序,這是不用置疑的。因為,我們曾有過這樣的例子??伤€會繼續傳給下一個處理程序嗎? 答案是否定的


上文中曾提到了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來實現,這里不加多述,在以后的文章中你會見到它們的用法。

 

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97