最近公司招了幾個應屆畢業生,他們對前端的了解還挺多,但是對後端的技術一無所知,我覺得,作為一個前端攻城獅,如果你有遠大的抱負,就應該雨露均沾...
今天我就跟大家講一講PHP最基本的入門,至少別人問起你來,不會一點都不懂。
大家知道PHP搭建環境蠻麻煩的,咱們前端攻城獅就沒必要去鑽研環境的搭建了,網上已經有集成好的PHP環境可以直接下載,wamp和phpstudy(點擊進入下載頁),安裝只需下一步就行。
因為我一直是使用wamp,一下就以wamp為例來講解。
安裝好wamp後,屏幕右下角會出現這個圖標。
如果你英語不是很好的話,可以右擊圖標,選擇中文。
wamp打開後會默認開啟所有服務,你也可以左擊圖標,選擇啟動所有服務,並且切換到在線狀態。
到此,PHP運行的環境就准備好了。
下面開始寫demo了。
點擊右下角小圖標,有個www目錄,進入後創建一個叫php的項目文件夾:
在文件夾中新建這幾個文件:
我們先打開login.html,寫入一個簡單的表單:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <form action="success.php" method="post"> 用戶名:<input type="text" name="username"><br/><br/> 密碼:<input type="password" name="pwd"><br/><br/> <input type="submit" name="submit" value="提交"> </form> </body> </html>
效果如下:
我們需要實現用戶點擊提交時,把用戶輸入的用戶名和密碼保存在本地的data.txt文件裡,並且在success.php頁面提示用戶登錄成功。
下面我們開始關鍵的php代碼,打開success.php文件,敲入以下代碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <?php $name = $_POST["username"]; $pwd = $_POST["pwd"]; $fp = fopen("./data.txt", "a"); $str = "user:".$name."&password:".$pwd."\n"; fwrite($fp,$str); fclose($fp); echo "<h1>歡迎回來,".$name."!<h1>"; ?> </body> </html>
大家要注意,PHP代碼可以和HTML代碼混合使用,包裹在<?php doSomething ?>標簽內的代碼,服務器就會用PHP的解析器去解析,我們來分析一下上面的代碼。
因為表單使用post方式提交的,所以我們需要用POST方式去接收,PHP接收POST發送過來的數據使用$_POST[""];語句,get用法一樣,把POST改成GET,在中括號內填寫你需要獲取表單項的name名。
接下來我們要把所得到的數據寫入到data.txt文件內,實際項目開發中,這些數據都是寫入到數據庫中。
我們用fopen命令打開一個文件,fopen接收兩個參數,第一個是要打開文件的路徑;第二個是打開的方式,這裡使用"a"寫入方式打開,將文件指針指向文件末尾,如果文件不存在,則會嘗試創建這個文件。(其他參數詳情請到W3school查看)
還需要注意的是,PHP中的變量聲明並不是用var,而是$+變量名。
接下來把用戶名和密碼拼接成字符串,PHP中的字符串拼接和JavaScript也有差異,PHP使用"."來做拼接符。
我們用fwrite命令來寫入文件,它接收兩個參數,第一個是要打開的文件,也就是我們前面定義的$fp;第二個是要寫入的內容,把之前拼接好的字符串放入。
最後還需要關閉文件,使用fclose命令,傳入需要關閉的文件。如果不關閉文件的話,這個文件就會一直被占用,別人就不能讀寫這個文件了,所以這一步千萬不能忘記。
最後,我麼在success.php頁面輸出一條消息,JavaScript中可以用document.write來輸出內容,PHP使用echo語句來輸出內容,支持輸入HTML標簽。
到此,一個簡單的PHP_Demo就寫好了,我們來測試一下吧。
在浏覽器輸入http://localhost/php/login.html進入頁面,我們隨便輸入一些信息:
提交後,頁面跳轉到success.php,我們看到如下內容:
我們打開data.txt文件,看看數據是否被寫入了。
的確按照我們規定的格式寫入了數據,我來多登錄幾次試試:
測試成功!
希望大家跟著上面的代碼敲一遍,你會發現挺有成就感的,至少我最初學習PHP完成這個Demo時,興奮壞了我。
當然,這只是PHP最簡單的一些實例,過段時間再寫篇如何用PHP操作MySQL讀寫數據的文章,希望大家對技術保持一顆好奇心,這樣才能真正成長!
最後附上項目源碼:EasyPHP(還是希望大家能敲一下)