搜尋
首頁後端開發php教程php入門教學 精簡版

下面我綠蘋果帶大家走進PHP的入門之路
說明:
我這裡暫時是以Apache web server 和MY SQL 作為WEB伺服器和資料庫,在php-4.3.3下的環境做的程序。當然要簡單的建置與存取查看資料庫 PHPMYADMIN 不可少
這裡需要懂得HTML基礎知識!沒有HTML基礎知識的!可以去百度或GOOGLE搜下!很簡單的!這裡就不多說了
好了我們開始吧!我們就把PHP入門當成蘋果吧!一口一口的吃掉他!
不囉嗦了!開始了
吃蘋果一
1、嵌入方法:
類似ASP的,當然您也可以自己指定。
2.引用文件:
引用文件的方法有兩種:require 和 include。
require 的使用方法如 require("MyRequireFile.php"); 。這個函數通常放在 PHP 程式的最前面,PHP 程式在執行前,就會先讀入 require 所指定引入的文件,使它變成 PHP 程式網頁的一部分。常用的函數,亦可以這個方法將它引入網頁中。
include 使用方法如 include("MyIncludeFile.php"); 。這個函數一般是放在流程控制的處理部分。 PHP 程式網頁在讀到 include 的檔案時,才將它讀進來。這種方式,可以把程式執行時的流程簡單化。
3、註解方法:
echo "這是第一個範例。n" ; // 本例是C++ 語法的註解(PHP的註解跟C差不多!)
/* 本例採用多行的
註解方式*/
echo "這是第二種例子。n" ;
echo "這是第三個例子。n" ; # 本例使用UNIX Shell 語法註解
?>
4、變數型別:
$mystring = "我是字串" ;
$NewLine = "換行了n" ;
$int1 = 38 ;
$float1 = 1.732 ;
$float2 = 1.4E+2 ;
$MyArray1 = array( "子" , "醜" , "寅" , "卯" );
引出兩個問題,首先PHP變數以$開頭,第二PHP語句以;結尾,可能ASP程式設計師會不適應。這兩個遺漏也是程序上大多錯誤所在。
5、運算符號:
數**非法字眼已被屏蔽**算:
符號意義
+ 加法運算
- 減法運算
* 乘法運算
/除法運算
% 取餘數
++ 累加
-- 遞減
字串運算:
運算符號只有一個,就是英文的句號。它可以將字串連接起來,變成合併的新字串。類似ASP中的&

$a = "PHP 4" ;
$b = "功能強大" ;
echo $a.$b;
?>
這裡也引出兩個問題,首先PHP中輸出語句是echo,第二個類似ASP中的,PHP中也可以=變數?>。
邏輯運算:
符號意義
> 大於
>= 大於或等於
== 等於
!= 不等於
&& 而且(And)
and 而且(And)
或(Or)
or 或(Or)
xor 異或(Xor)
! 不(Not)
說一下流程控制。
學習目的:掌握php的流程控制
1、if..else 循環有三種結構
第一種是只有用到 if 條件,當作單純的判斷。解釋成 "若發生了某事則怎樣處理"。語法如下:
if (expr) { statement }
其中的 expr 為判斷的條件,通常都是用邏輯運算符號當判斷的條件。而 statement 為符合條件的執行部分程序,若程序只有一行,可以省略大括號 {}。
範例:本例省略大括號。
if ($state==1)ech​​o "哈哈" ;
?>
這裡特別注意的是,判斷是否相等是==而不是=,ASP程式設計師可能常犯這個錯誤,= 是賦值。
範例:本例的執行部分有三行,且不可省略大括號。
if ($state==1) {
echo "哈哈;
echo "
" ;
}
?>
第兩種是除了if 之外,加上了else 的條件,可解釋成"若發生了某事則怎樣處理,否則該如何解決"。上面的例子來修改成更完整的處理。 "哈哈" ;
echo "
";
}
else{
echo "呵呵";
echo "
";
}
?>
第三種就是遞歸的if..else 循環,通常用在多種決策判斷時。 ?php
if ( $a > $b ) {
echo "a 比b 大" ;
} elseif ( $a == $b ) {
echo "a 等於b" ;
} else {
echo "a 比b 小" ;
}
?>
上例只用二層的if..else 循環,用來比較a 和b 兩個變數。
2、 for 迴圈單純只有一種,沒有變化,它的語法如下
for (expr1; expr2; expr3) { statement }
其中的 expr1 為條件的初始值。 expr2 為判斷的條件,通常都是用邏輯運算符號 (logical operators) 當判斷的條件。 expr3 為執行 statement 後要執行的部份,用來改變條件,供下次的迴圈判斷,如加一..等等。而 statement 為符合條件的執行部分程序,若程序只有一行,可以省略大括號 {}。
下例是用 for 迴圈寫的例子。
for ( $i = 1 ; $i echo "這是第".$i."次循環
" ;
}
?>
3、 switch 循環,通常處理複合式的條件判斷,每個子條件,都是case 指令部分。在實作上若使用許多類似的 if 指令,可以將它綜合成 switch 迴圈。
語法如下
switch (expr) { case expr1: statement1; break; case expr2: statement2; break; default: statementN; break; }
其中的 expr 條件,通常為變數名稱。而 case 後的 exprN,通常表示變數值。冒號後則為符合該條件要執行的部分。注意要用 break 跳離循環。
switch ( date ( "D" )) {
case "Mon" :
echo "今天星期一" ;
break;
case "Tue" :
echo "今天星期二" ;
break;
case "Wed" :
echo "今天星期三" ;
break;
case "Thu" :
echo "今天星期四" ;
break;
case "Fri" :
echo "今天星期五" ;
break;
default:
echo "今天放假" ;
break;
}
?>
這裡要注意的是break;別遺漏了,default,省略是可以的。
很明顯的,上述的例子用 if 迴圈就很麻煩了。當然在設計時,要將出現機率最大的條件放在最前面,最少出現的條件放在最後面,可以增加程式的執行效率。上例由於每天出現的機率相同,所以不用注意條件的順序。
學會建立資料庫
在PHP中,MY SQL的命令列編輯可能會讓初學者感到很麻煩,不要緊,你下載一個PHPMYADMIN安裝一下,以後建立編輯資料庫可以靠它了。
下面說一下它的使用。
進入了phpmyadmin後,我們首先需要建立一個資料庫,
Language (*) 這裡選擇中文簡體,然後在左邊的 建立一個新的資料庫 這裡填入資料庫名字,點選建立即可。
然後在左邊下拉選單中選擇那個已經建立的資料庫。在下面的
在資料庫shop 中建立一個新表:
名字:
字段數:
中填寫表名字和大致你認為的字段數(不夠或者多了都不要緊,以後可以再添加或缺省),按執行。
然後就可以開始建立表格了。
第一欄是欄位的名字;第二欄選擇欄位類型:
我們常用的是以下幾個:
1)VARCHAR,文字型別
2)INT,整數型
3)FLOAT,浮點數類型
4)DATE,日期型
5)大家或許會問,自動加入的ID在哪裡?這個只要選擇INT類型,在後面的額外中選擇 auto_increment 就可以了。
建立了表以後,可以在左邊看到你建立的表,點擊以後,你可以:
1)按右邊的結構:查看修改表結構
2)按右邊的瀏覽:查看表中的資料
3)按右邊的SQL:執行SQL語句
4)按右邊的插入:插入一行記錄
5)按右邊的清空:刪除表中所有記錄
6)按右邊的刪除:刪除表
還有一個很重要的功能就是導入和導出,當我們本機做好了程式和資料庫的時候,需要在伺服器上也有一個本地鏡像,如果是ASP的ACCESS簡單了,直接上傳MDB檔案即可,如果是SQL SERVER也可以連接遠端伺服器進行匯入。那麼MY SQL中你可以匯出所有的SQL語句,到了遠端伺服器的PHPMYADMIN上,建立資料庫後按下SQL,貼上貼文你剛才複製下來的所有本級產生的SQL語句即可。
學會連接資料庫
PHP簡直就是一個函數庫,豐富的函數使PHP的某些地方相當簡單。建議大家down一本PHP的函數手冊,總用的到。
我這裡就簡單說一下連接MYSQL資料庫。
1、mysql_connect
開啟 MySQL 伺服器連線。
語法: int mysql_connect(string [hostname] [:port], string [username], string [password]); 傳回值: 整數
本函數建立與 MySQL 伺服器的連線。其中所有的參數都可省略。使用本函數卻不加任何參數時,參數 hostname 的預設值為 localhost、參數 username 的預設值為 PHP 執行行程的擁有者、參數 password 則為空字串 (即沒有密碼)。而參數 hostname 後面可以加冒號與連接埠號,代表使用哪個連接埠與 MySQL 連線。當然在使用資料庫時,早點使用 mysql_close() 將連線關掉可以節省資源。
2、 mysql_select_db
選擇一個資料庫。
语法: int mysql_select_db(string database_name, int [link_identifier]); 返回值: 整数
本函数选择 MySQL 服务器中的数据库以供之后的资料查询作业 (query) 处理。成功返回 true,失败则返回 false。
最简单的例子就是:
$c ("127.0.0.1", "", "");
mysql_select_db("shop");
连接机MY SQL数据库,打开SHOP数据库。在实际应用中应当加强点错误判断。
学会读取数据
先看两个函数:
1、mysql_query
送出一个 query 字符串。 语法: int mysql_query(string query, int [link_identifier]); 返回值: 整数
本函数送出 query 字符串供 MySQL 做相关的处理或者执行。若没有指定 link_identifier 参数,则程序会自动寻找最近打开的 ID。当 query 查询字符串是 UPDATE、INSERT 及 DELETE 时,返回的可能是 true 或者 false;查询的字符串是 SELECT 则返回新的 ID 值,当返回 false 时,并不是执行成功但无返回值,而是查询的字符串有错误。
2、mysql_fetch_object 返回类资料。 语法: object mysql_fetch_object(int result, int [result_typ]); 返回值: 类
本函数用来将查询结果 result 拆到类变量中。若 result 没有资料,则返回 false 值。
看一个简单的例子:

$exec="select * from user";
$result=mysql_query($exec);
while($rs=mysql_fetch_object($result))
{
echo "username:".$rs->username."
";
}
?>
当然,表user中有一个username的字段,这就类似asp中的
exec="select * from user"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
do while not rs.eof
response.write "username:"&rs("username")&"
"
rs.movenext
loop
%>
当然先要连接数据库,一般我们 require_once('conn.php');而conn.php里面就是上一次说的连接数据库的代码。
小小的两条命令可以完成读取数据的工作了
学会添加删除修改数据
mysql_query($exec);
单这个语句就可以执行所有的操作了,不同的就是$exec这个sql语句
添加:$exec="insert into tablename (item1,item2) values ('".$_POST['item1']."',".$_POST['item1'].")";
删除:$exec="delete from tablename where...";
修改:$exec="update tablename set item1='".$_POST['item1']."' where ...";
说到这里就要说一下表单和php变量传递,如果表单中的一个
表单以POST提交的,那么处理表单文件就可以用$_POST['item1']得到变量值,同样以GET提交的就是$_GET['item1']
是不是很简单?但是通常$exec会有问题,因为可能您的SQL语句会很长,您会遗漏.连接符,或者'来包围字符型字段。
我们可以注释mysql_query($exec);语句用echo $exec;代替来输出$exec以检查正确性。如果您还不能察觉$exec有什么错误的话,可以复制这个sql语句到phpmyadmin中执行,看看它的出错信息。还有需要注意的是,我们不要使用一些敏感的字符串作为字段名字,否则很可能会出现问题,比如说date什么的。变量的命名,字段的命名遵循一点规律有的时候对自己是一种好处,初学者并不可忽视其重要性。
学会SESSION的使用
SESSION的作用很多,最多用的就是站点内页面间变量传递。
在页面开始我们要session_start();开启SESSION;
然后就可以使用SESSION变量了,比如说要赋值就是:$_SESSION['item']="item1";要得到值就是$item1=$_SESSION['item'];,很简单吧。这里我们可能会使用到一些函数,比如说判断是不是某SESSION变量为空,可以这么写:empty($_SESSION['inum'])返回true or false。
下面综合一下前面所说的我们来看一个登陆程序,判断用户名密码是否正确。
登陆表单是这样:login.php





表>
處理檔案是這樣

require_once('conn.php');
session_start();
$username=$_POST['用戶名'];
$password=$_POST['密碼'] ;
$exec="select * from admin where username='".$username."'";
if($result=mysql_query($exec))
{
if($rs =mysql_fetch_object($result))
{
if($rs->password==$密碼)
{
$_SESSION['adminname']=$使用者名稱;
header( "位置:index.php");
}
else
{
echo "<script>alert('密碼檢查錯誤!');location.href='login.php';< /script>"; <BR>} <BR>} <BR>else <BR>{ <BR>echo "<script>alert('使用者名稱檢查錯誤!');location.href='login.php'; </script> 」;
}
}
else
{
echo "<script>alert('資料庫連線錯誤!');location.href='login.php'; </script> ”;
}
? >
conn.php 是這樣的:

$c("127.0.0.1","","");
mysql_select_db("商店");
? >
由於$_SESSION['adminname']=$username;我們可以這樣寫驗證是否登陸語句的檔案:checkadmin.php

session_start();
if($_SESSION[ 'adminname']=='')
{
echo "<script>alert('請先登入');location.href='login.php';&lt ;/腳本>"; <BR> } <BR>? > <br>做一個分頁顯示 <br>鍵就是佔用了SQL語句中的限制來限定顯示的記錄從幾到幾。我們需要一個記錄當前頁的變數$page,還需要總共的記錄數$num <br> 對於$page如果沒有我們就加=0,如果有<0就加碼=0,如果超過了總的頁數就讓他=總的頁數。 <br>$execc="select count (*) 來自表名「; <BR>$resultc=mysql_query($execc); <BR>$rsc=mysql_fetch_array($resultc); <BR>$num=$rsc[ 0]; <br>這樣可以得到記錄總數<BR>ceil($num/10))如果一頁10條的話,這就是總的頁數<br>所以可以寫這麼這麼<BR>if(empty( $_GET['頁'])) <BR>{ <BR>$page=0; <BR>} <BR>其他<BR>{ <BR>$page=$_GET['page']; <BR> if($page<0)$page=0; <BR>if($page>=ceil($num/10))$page=ceil($num/10)-1;//page因為是從0開始的,所以要-1 <BR>} <br>這樣$exec可以這麼寫$exec="select * from tablename limit ".($page*10).",10"; <BR>//一頁是10記錄的<br>最後我們要做的就是幾個連接:<BR><a href="xxx.php?page=0">FirstPage <BR><a href="xxx.php? page=<?=($page-1)?>">上一頁 <BR><a href="xxx.php?page=<?=($page+1)?>">NextPage <BR><a href="xxx.php?page=<?=ceil($num/10)-1?>">LastPage <br>注意事項<br>1、注意不要漏掉了分號<BR>2、注意不要漏掉了變數前面的$ <BR>3、使用SESSION的注意事項不要遺漏session_start(); <br>如果發生錯誤的時候,可以採用以下方法: <BR>1、如果是SQL語句錯誤,就註解了然後輸出SQL語句,注意還要註解調整後續的執行SQL語句<BR>2、如果是SQL語句變數為空,主要是沒有提交完成,輸出變量檢查一下,檢查一下表單的id和name<BR>3、如果資料庫連接失敗,檢查是否正確開啟MY SQL和是否遺漏了連接語句<BR>4、注意緊湊進,排除確實不區配的錯誤<br>在做大網站的時候,我的想法是先建立資料庫,確定每一個欄位的作用,和表格之間的關係。然後設計後台介面,從加入資料開始做起,因為加入成功是否可以直接到資料庫裡面驗證,完成了加入再做顯示的頁面,最後才是兩者的結合。一般情況後台包括新增刪除修改和顯示,後台沒有問題了,前台也沒有什麼大問題。前台還要注意安全性和內容錯還有就是輸出格式。 <br>學會用PHP上傳檔案和寄郵件<br>上傳檔案表單必須加上enctype="multipart/form-data " <BR>和<輸入類型=「檔案」名稱=「檔案」> <BR>下面來看看程式碼: <br>$f=&$HTTP_POST_FILES['file']; <BR>$dest_dir='uploads';//設定上傳目錄<BR>$dest=$dest_dir.'/'.date(" ymd")."_".$f['name'];//我在這裡設定名為日期加上檔案名稱避免重複<BR>$r=move_uploaded_file($f['tmp_name'],$dest) ; <BR>chmod($dest, 0755);//設定上傳的檔案的屬性<br>上傳的檔案名稱為date("ymd")."_".$f['name'] ,可以在以後插入到資料庫的時候用,PHP其實是把你上傳的檔案從暫存目錄移到指定目錄。 move_uploaded_file($f['tmp_name'],$dest);這是關鍵<br>至於發郵件就更多簡單,可以使用mail()函數<br>mail("食譜地址","主題","正文","寄件者rn回覆:寄件人的地址"); <br>不過mail()需要伺服器的支持,在WINDOWS下還需要設定SMTP伺服器,一般來說外面的LINUX空間都行。<BR>好像上傳檔案和發郵件比ASP簡單很多,只要呼叫函數就可以了。 ASP還需要用到伺服器的不同元件例如FSO、JMAIL什麼的。 <br>學會PHP說到這裡了,想告訴大家的是PHP入門可以是十天,但是精通決不是十天啊,還需要大家自己去研究 ,多參考別人的代碼,去理解不是抄襲。 <BR> <p> 以上就介紹了 php入門教學 精簡版,包含了面向的內容,希望對PHP教學有興趣的朋友有幫助。 <p> </script>















Administrators Login
Username


Password





陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
超越炒作:評估當今PHP的角色超越炒作:評估當今PHP的角色Apr 12, 2025 am 12:17 AM

PHP在現代編程中仍然是一個強大且廣泛使用的工具,尤其在web開發領域。 1)PHP易用且與數據庫集成無縫,是許多開發者的首選。 2)它支持動態內容生成和麵向對象編程,適合快速創建和維護網站。 3)PHP的性能可以通過緩存和優化數據庫查詢來提升,其廣泛的社區和豐富生態系統使其在當今技術棧中仍具重要地位。

PHP中的弱參考是什麼?什麼時候有用?PHP中的弱參考是什麼?什麼時候有用?Apr 12, 2025 am 12:13 AM

在PHP中,弱引用是通過WeakReference類實現的,不會阻止垃圾回收器回收對象。弱引用適用於緩存系統和事件監聽器等場景,需注意其不能保證對象存活,且垃圾回收可能延遲。

解釋PHP中的__ Invoke Magic方法。解釋PHP中的__ Invoke Magic方法。Apr 12, 2025 am 12:07 AM

\_\_invoke方法允許對象像函數一樣被調用。 1.定義\_\_invoke方法使對象可被調用。 2.使用$obj(...)語法時,PHP會執行\_\_invoke方法。 3.適用於日誌記錄和計算器等場景,提高代碼靈活性和可讀性。

解釋PHP 8.1中的纖維以進行並發。解釋PHP 8.1中的纖維以進行並發。Apr 12, 2025 am 12:05 AM

Fibers在PHP8.1中引入,提升了並發處理能力。 1)Fibers是一種輕量級的並發模型,類似於協程。 2)它們允許開發者手動控制任務的執行流,適合處理I/O密集型任務。 3)使用Fibers可以編寫更高效、響應性更強的代碼。

PHP社區:資源,支持和發展PHP社區:資源,支持和發展Apr 12, 2025 am 12:04 AM

PHP社區提供了豐富的資源和支持,幫助開發者成長。 1)資源包括官方文檔、教程、博客和開源項目如Laravel和Symfony。 2)支持可以通過StackOverflow、Reddit和Slack頻道獲得。 3)開發動態可以通過關注RFC了解。 4)融入社區可以通過積極參與、貢獻代碼和學習分享來實現。

PHP與Python:了解差異PHP與Python:了解差異Apr 11, 2025 am 12:15 AM

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

php:死亡還是簡單地適應?php:死亡還是簡單地適應?Apr 11, 2025 am 12:13 AM

PHP不是在消亡,而是在不斷適應和進化。 1)PHP從1994年起經歷多次版本迭代,適應新技術趨勢。 2)目前廣泛應用於電子商務、內容管理系統等領域。 3)PHP8引入JIT編譯器等功能,提升性能和現代化。 4)使用OPcache和遵循PSR-12標準可優化性能和代碼質量。

PHP的未來:改編和創新PHP的未來:改編和創新Apr 11, 2025 am 12:01 AM

PHP的未來將通過適應新技術趨勢和引入創新特性來實現:1)適應云計算、容器化和微服務架構,支持Docker和Kubernetes;2)引入JIT編譯器和枚舉類型,提升性能和數據處理效率;3)持續優化性能和推廣最佳實踐。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用