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

php入門教學 精簡版

WBOY
WBOY原創
2016-07-29 08:41:221146瀏覽

下面我綠蘋果帶大家走進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
















Administrators Login
Username


Password









表>
處理檔案是這樣

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教學有興趣的朋友有幫助。 </script>

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn