PHP初涉

 

PHP是一種腳本語言,不同於Java可以獨立編譯運行,PHP是嵌入在html中執行的。這一點有點像JavaScript。當執行一個PHP文件時,服務器會對文件中的php代碼進行解析。但是PHP又和JavaScript不同,JavaScript是作用於客戶端的腳本語言。而PHP是隻作用於服務器的腳本語言。這一點上又比較像jsp,像JavaPHP的工作原理是當客戶端訪問一個PHP文件,服務器對它進行解析。PHP就會更具傳來的數據,計算出應該返回的的html頁面數據。如圖1所示:

 

令我感到吃驚的是PHP居然是面向對象的編程語言。PHP的基本數據類型也有整型、浮點型、字符串、數組、對象、布爾型。

PHP是一種弱類型的編程語言,類似於JavaScript,它的變量不會鎖定爲一種特殊的格式。

PHP的變量書寫格式是$var,前面得有一個美元符號,後面緊接着的是字母或者下劃線,不能是數字。但是接着就可以用字母、數字、下劃線的任意組合了。PHP是區分大小寫的。

PHP的數組的創建格式是$list = array(1 = > ‘one’, 2 = > ‘two’, 3 = > ‘three’)。也可以直接$list = array(‘one’, ‘two’, ‘three’),但是這樣前面的索引值是從0開始的。所以,PHP的數組是比較靈活的,可以自己設定索引值從1開始。更加靈活的是這個索引值不但可以是數字,還可以是字符串。所以,我個人覺得,PHP的數組其實更像一個Map,裏面存儲的是鍵值對。引用數組值的格式是:$數組名[索引值],例如$list[1]

PHP中有幾個特殊的變量$_POST$_GET(必須是大寫)。這兩個變量的作用是當有一個客戶端發來請求時,客戶端發送過來的數據存放在這些變量裏面。這其實是兩個數組。顧名思義,$_POST對應客戶端用post方法發來的數據。$_GET對應客戶端用get方法發來的數據。$_POST$_GET的使用方法是,$_POST[‘name’],這個name是指html標籤中的name值。得到的是這個name相對應的value值。

       簡單測試:

一個html頁面裏面有幾個鏈接,都指向同一個hello.php文件。當點擊一個鏈接後,html會通過get方法將對應的數據傳給指向的php文件。這個php文件再把接收到的value打印出來。

html鏈接代碼:

 

 <ul>
		<li><a href="hello.php?name=Michael">Michael</a></li>
		<li><a href="hello.php?name=Celia">Celia</a></li>
		<li><a href="hello.php?name=Jude">Jude</a></li>
		<li><a href="hello.php?name=Sophie">Sophie</a></li>
	</ul>
 

 

對應的hello.php中部分代碼:

 

<?php 
	ini_set('display_errors', 1);//Let me learn from my mistakes!
	//error_reporting(E_ALL | E_STRICT);//Show all posible problems!
	
	//打印URL中的value值

	//Say "Hello""
	$name = $_GET[name];
	print "<p>Hello, <span style=\"font-weight:bold\">$name</span></p>";
	
?>
 

 

       Html中提交數據經常使用formPHPform的操作也是這樣的。form中使用get或者post方法,在php中有對應的$_GET$_POST數組接受數據。

簡單測試:

一個form

 

<form action="handle_form.php" method="post">
  <p>Name:<select name="title">
  <option value = "Mr.">Mr.</option>
  <option value = "Mrs.">Mrs.</option>
  <option value = "Ms.">Ms.</option>
  </select>
  <input type="text" name="name" size="20"/>
  </p>
  <p>Email Address: <input type="text" name="email" size="20"/></p>
  <p>
	Response: This is...
	<input type="radio" name="response" value="excellent"/> excellent
	<input type="radio" name="response" value="okey"/>okey
	<input type="radio" name="response" value="boring"/>boring
  </p>
  <p>Comments: <textarea name="comments" rows="3" cols="38"></textarea></p>
  <input type="submit" name="submit" value="Send My Feedback"/>
</form>

 對應的php代碼

 

	<?php 
	ini_set('display_errors', 1);//Let me learn from my mistakes!
		//This page receives the data from feedback.html.
		//It will receive: title, name, email, response, comments, and submit in $_POST.
		$title = $_POST['title'];
		$name = $_POST['name'];
		$response = $_POST['response'];
		$comments = $_POST['comments'];

		//Print the received data:
		print "<p>Thank you, $title $name, for your comments.</p>
		<p>You stated that you found this example to be '$response' and added:
		<br />$comments</p>";
	
?>
 

 

PHP學習網站:

http://www.zend.com/en/

http://www.php.net/

http://www.larryullman.com/

http://www.w3schools.com/

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章