初學php的18個基礎常式,最簡單的php代碼示例

本文目錄一覽:

php知識框架總結

php知識框架總結

篇一:php基礎知識點總結

PHP語言基礎簡單整理

1.開始結束標記的格式只有在沒有判斷語句時才能使用。

對錶單傳遞的變數進行編碼和解碼:PHP中實現對查詢字元串進行URL編碼可以通過函數urlencode()實現,該函數的使用格式如下:string urlencode(string str);對URL編碼後的查詢字元串進行解碼,可以通過urldecode()函數實現,該函數的使用格式如下:string urldecode(string str);

15.PHP連接資料庫:

步驟: 一、建立連接——mssql_connect(server,uid,pwd);

二、指定database——-mssql_select_db(databasename);

三、執行sql——mssql_query($sql,$link);

四、處理記錄集——-資源類型數據,格式:bof—數據—eof

五、以特定格式讀取數據—–mssql_fetch_array()….

六、釋放相關資源、關閉連接——mssql_free_result($result);mssql_close();

16.數組:php的數組由鍵值和value值組成

定義:$array = array(“鍵值”=”value”,”鍵值”=”value”,”鍵值”=”value”);如果不給鍵值賦值,默認從0開始的int值

相關函數:(1)in_array(“值”,數組名); 返回bool型—–查看數組中是否存在某value值

(2)array_key_exists(“key值”,數組名); 返回bool型—–查看數組中是否存在某鍵值

(3)array_keys(數組名);—將數組鍵值返回出來形成一個新數組,此鍵值作為新數組的value值

(4)array_values(數組名);—將數組value值返回出來形成一個新數組,此值作為新數組的value值

(5)key(數組名);—-返回當前指針指向的元素key值

(6)current(數組名);—-返回當前指針指向的元素value值

(7)next(數組名);—-挪動當前數組指針到下一步

(8)reset(數組名);—-恢複數組指針,指向第0個元素

(9)end(數組名);—-將指針挪向最後一個元素

(10)prev(數組名);—-將指針向前挪動一位

(11)foreach(數組名 as $key=$value)

{

$key是鍵值,$value是value值,實現數組遍歷

}

(12)each(數組名);—-將當前數組元素依次取出(自動挪動指針)並放到一個新的數組中

(13)array_shift(數組名);—-返回數組中第一個元素值

(14)array_pop(數組名);—-返回數組最後一個元素值

(15)array_push(數組名,value);—-向數組中追加元素

(16)array_unshift(數組名,value);—-在數組最前面添加元素

(17)array_pad(數組名,數組長度,value);—-向數組中追加多個元素,對數組副本操作,不改變原數組,返回一個新數組

(18)count();—-返回個數

(19)array_unique(數組名);—-去掉數組中重複部分,操作數組副本,不改變原數組,返回新數組

(20)sort(數組名);—-從小到大升序排列數組value值,一般針對int型value值,返回bool型,成功返回true

(21)rsort(數組名);—-從大到小,逆序排列數組value值

(22)array_combine(數組1,數組2);—-將數組1的value值作為key,數組2的value值作為value值,形成一個新數組

(23)array_merge(數組1,數組2,數組3…);—-合併多個數組,將多個數組value值依次合併,合為一個數組

(24)array_slice(數組名,int,int);—-從目標數組截取元素,形成一個新數組。開始位置為第二個參數,結束位置為第三個參數。若第三個參數不寫,則默認是截取到最後。

(25)array_splice();—-用法同array_slice();但是其截取部分從原數組中刪除

(26)explode(“字元依據”,目標字元串);—-將字元串按照一定的依據拆分成數組

(27)implode(“字元依據”,目標數組);—-將數組元素按照依據組合成一個字元串

(28)range(mixed low,mixed high[number step]);—-生成數組,例:range(1,100,8);—即從1到100,每8位取一個數,組成一個數組

(29)shuffle(數組名);—-用於將數組進行隨機排序

(30)array_sum(數組名);—-對數值型數組元素值進行求和

(31)array_chunk(數組名,int);—-分割目標數組,返回一個新數組,其中數組的每個元素都是一個一維數組,int參數為分割成的一維數組的長度

17.Cookie和會話控制:

Cookie是在HTTP協議下,伺服器或腳本可以維護客戶工作站上信息的一種方式。Cookie是由Web伺服器保存在客戶機上的小文本文件,它可以包含有關用戶的信息。無論何時用戶鏈接到伺服器,Web站點都可以訪問Cookie信息。

存在server端的是session,存在client端的是cookie,它們用來存儲全局變數。 設定Cookie值:setcookie(“名”,”值”);

通過Cookie數組取值:$_cookie[“名”];

設置生成期:setcookie(“名”,”值”,time()+1800);生成期為當前時間加1800秒之後。

刪除cookie: setcookie(“名”,””,time()-3600);中間值設置為空,並將當前時間減去3600秒。 Cookie數組:setcookie(“名[key]”,”值”); 使用foreach讀取。

在PHP中可以通過$_COOKIE預定義變數訪問Cookie的值。如果設置了php.ini中的register_long_arrays,那麼就能夠應用$_COOKIE和$HTTP_COOKIE_VARS;如果在php.ini中還設置了register_globals,那麼就可以在PHP中作為全局變數使用各個Cookie值。但是,更改php.ini中的兩個文件設置,容易對PHP的安全構成威脅,不推薦使用該方法,建議使用更新的$_COOKIE。

會話ID的傳送

會話ID的傳送有兩種方式,一種是Cookie方式,另一種是URL方式。

Cookie傳送方式:

這是最簡單的會話方式,但是有些客戶可能限制使用Cookie,如果客戶限制使用Cookie的條件下,仍要繼續工作,那就要通過其他方式來實現了。

URL傳送方式:

在該方式中,URL本身用來傳送會話,會話標誌被簡單地附加到URL的尾部,或者作為窗體中的一個變數來傳遞。例:

php 基礎 學習

最近的公開課倒是挺適合你這種狀態,有時間你可以關注一下。

YY 10150 PHP學院的公開課頻道,這幾天講的案例是php+mysql實現辦公留言系統。

我覺得你現在的狀態是手裡有了工具,只是還不知道應該怎麼用。搭建一個自己的網站應該能讓你用上手頭的各種工具。

PHP學習狀況可以用一些練習題自測一下,比如:

練習1: 簡述echo(),print(),print_r()的區別?

練習2: 說出PHP的超級全局變數數組,共九種

練習3: 如何在一個php函數中使用具有全局屬性的變數,說出兩種方式

練習4: 三個小題:

4.1.跳水比賽,8個評委打分。運動員的成績是8個成績取掉一個最高分,去掉一個最低分,剩下的6個分數的平均分就是最後得分。使用一維數組實現打分功能。

4.2.請把打最高分的評委和最低分的評委找出來。

4.3.找出最佳評委和最差評委。最佳評委就是打分和最後得分最接近的評委。最差評委就是打分和最後得分相差最大的。

練習5: include和require都能把另外一個文件包含到當前文件中,他們有什麼區別?Include和include_once又有什麼區別?

練習6: 寫出一個能創建多級目錄的PHP函數

練習7: 寫出一個函數,能遞歸列出某個目錄下的所有文件夾和文件名.

練習8: 在防止SQL注入的時候,通、會把單引號、雙引號等轉義,需要用到哪個函數

練習9: 寫出插入排序法和快速排序法代碼

練習10: 二分查找的原理是什麼? 請寫出二分查找函數

練習11: 寫出php的public、protected、private三種訪問控制模式的區別

練習12: 請寫出一個完整的嚴謹的單例模式

練習13: __set 和 __get 魔術函數是做什麼的,在什麼時候被觸發

練習14: 如何防止對象克隆, 對象克隆會複製 static屬性嗎?

練習15: 說說strip_tags的作用和用法?

練習16: 如果需要原樣輸出用戶輸入的內容,在數據入庫前,要用哪個函數處理?

練習17: 如何控制多個進程去並發刪除,插入和更新資料庫的某張表?

練習18: PHP的安全模式和非安全模式的區別

QQ就不留了,有問題可以私信。

零基礎學習PHP如何入門?

其實學習PHP只要把握好學習路線,能夠在極短的時間裡完成從新手到熟練的過程。在這裡,小編為大家整理出了學習PHP的路線和具體的課程。

入門:新人必看的PHP基礎知識視頻教程

可掌握PHP基礎知識,了解PHP的基本語法、數組、函數、表單驗證、圖像處理,以及MySQL資料庫等PHP開發過程中所遇到的知識點和基本操作。

進階:PHP如何操作MySQL資料庫視頻教程

利用PHP操作MySQL資料庫教程,MySQL是PHP最合適的搭配,MYSQL開源、跨平台,PHP擴展包對MySQL的支持比較完善。本課程講解MySQL資料庫的基礎知識,以及如何利用PHP來操作MySQL資料庫,實現對數據的調用和修改。

實戰:PHP項目實戰_多用戶留言系統視頻教程

利用PHP基礎課程中的知識,在本課程中創建多用戶留言系統,包括用戶界面設計,註冊,驗證,帖子的寫入、修改等留言系統的必備功能。

進階:PHP進階之面向對象相關視頻教程

學習和了解開發獨立的模板引擎技術,學習三層架構及分層思想和原理,然後通過後面的CMS內容管理系統等課程的實踐來掌握以上知識點。

進階:PHP進階之CMS內容管理系統

CMS內容管理系統具有許多基於模板的優秀設計,可以加快網站開發速度和開發成本,同時易於使用,可開發性強,可分散式管理,CMS的功能並不只限於文本處理,它也可以處理圖片、Flash動畫、聲像流、圖像、甚至電子郵件檔案等。

ThinkPHP框架講解視頻教程

ThinkPHP是為了簡化企業級應用開發和敏捷WEB應用開發而誕生的。從誕生以來一直秉承簡潔實用的設計原則,在保持出色的性能和至簡的代碼的同時,也注重易用性,並且擁有眾多原創功能和特性。理解ThinkPHP的框架基礎知識,安裝配置,模型的建立、開發及調試。學習ThinkPHP3.2.1的使用方法。

作為一個新手,學習PHP語言需要有學習一門新語言的心態,注意不驕不躁,步步為營,按照方法和步驟去學習,由淺入深的接觸。

PHP入門基礎教程

PHP入門基礎教程大全

PHP於1994年由Rasmus Lerdorf創建,剛剛開始是Rasmus Lerdorf為了要維護個人網頁而製作的一個簡單的用Perl語言編寫的程序。這些工具程序用來顯示 Rasmus Lerdorf 的個人履歷,以及統計網頁流量。後來又用C語言重新編寫,包括可以訪問資料庫。他將這些程序和一些表單直譯器整合起來,稱為 PHP/FI。PHP/FI 可以和資料庫連接,產生簡單的動態網頁程序。為幫助大家入門學習php,我為大家分享PHP入門知識教程如下:

1、嵌入方法:

類似ASP的%,PHP可以是?php或者是?,結束符號是?,當然您也可以自己指定。

2、引用文件:

引用文件的方法有兩種:require 及 include。

require 的使用方法如 require(“MyRequireFile.php”); 。這個函數通常放在 PHP 程序的最前面,PHP 程序在執行前,就會先讀入 require 所指定引入的文件,使它變成 PHP 程序網頁的一部份。常用的函數,亦可以這個方法將它引入網頁中。

include 使用方法如 include(“MyIncludeFile.php”); 。這個函數一般是放在流程式控制制的處理部分中。PHP 程序網頁在讀到 include 的文件時,才將它讀進來。這種方式,可以把程序執行時的流程簡單化。

3、注釋方法:

?php

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 為符合條件的執行部分程序,若程序只有一行,可以省略大括弧 {}。

範例:本例省略大括弧。

?php

if ($state==1)echo “哈哈” ;

?

這裡特別注意的是,判斷是否相等是==而不是=,ASP程序員可能常犯這個錯誤,= 是賦值。

範例:本例的執行部分有三行,不可省略大括弧。

?php

if ($state==1) {

echo “哈哈 ;

echo “br” ;

}

?

第兩種是除了 if 之外,加上了 else 的條件,可解釋成 “若發生了某事則怎樣處理,否則該如何解決”。語法如下

if (expr) { statement1 } else { statement2 } 範例:上面的例子來修改成更完整的處理。其中的 else 由於只有一行執行的指令,因此不用加上大括弧。

?php

if ($state==1) {

echo “哈哈” ;

echo “br”;

}

else{

echo “呵呵”;

echo “br”;

}

?

第三種就是遞歸的 if..else 循環,通常用在多種決策判斷時。它將數個 if..else 拿來合併運用處理。

直接看下面的例子

?php

if ( $a $b ) {

echo “a 比 b 大” ;

} elseif ( $a == $b ) {

echo “a 等於 b” ;

} else {

echo “a 比 b 小” ;

}

?

上例只用二層的 if..else 循環,用來比較 a 和 b 兩個變數。實際要使用這種遞歸 if..else 循環時,請小心使用,因為太多層的循環容易使設計的邏輯出問題,或者少打了大括弧等,都會造成程序出現莫名其妙的問題。

2、 for 循環就單純只有一種,沒有變化,它的語法如下

for (expr1; expr2; expr3) { statement }

其中的 expr1 為條件的`初始值。expr2 為判斷的條件,通常都是用邏輯運算符號 (logical operators) 當判斷的條件。expr3 為執行 statement 後要執行的部份,用來改變條件,供下次的循環判斷,如加一..等等。而 statement 為符合條件的執行部分程序,若程序只有一行,可以省略大括弧 {}。

下例是用 for 循環寫的的例子。

?php

for ( $i = 1 ; $i = 10 ; $i ++) {

echo “這是第”.$i.”次循環br” ;

}

?

3、 switch 循環,通常處理複合式的條件判斷,每個子條件,都是 case 指令部分。在實作上若使用許多類似的 if 指令,可以將它綜合成 switch 循環。

語法如下

switch (expr) { case expr1: statement1; break; case expr2: statement2; break; default: statementN; break; }

其中的 expr 條件,通常為變數名稱。而 case 後的 exprN,通常表示變數值。冒號後則為符合該條件要執行的部分。注意要用 break 跳離循環。

?php

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。

最簡單的例子就是:

$conn=mysql_connect (“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.”br”;

}

?

當然,表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”)”br”

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變數傳遞,如果表單中的一個 input name=”item1″ type=”text” id=”item1″

表單以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

table width=”100%” height=”100%” border=”0″ align=”center” cellpadding=”0″ cellspacing=”0″

tr

form action=”checklogin.php” method=”post”td align=”center” valign=”middle”table width=”400″ border=”0″ cellpadding=”5″ cellspacing=”1″ class=”tablebg”

tr class=”tdbg”

td colspan=”2″p align=”center”Administrators Login/p/td

/tr

tr class=”tdbg”

tdp align=”center”Username/p/td

tdp align=”center”

input name=”username” type=”text” id=”username”

/p/td

/tr

tr class=”tdbg”

tdp align=”center”Password/p/td

tdp align=”center”

input name=”password” type=”password” id=”password”

/p/td

/tr

tr class=”tdbg”

td colspan=”2″p align=”center”

input type=”submit” name=”Submit” value=”Submit”

input type=”reset” name=”Submit2″ value=”Clear”

/p/td

/tr

/table/td/form

/tr

/table

處理文件是這樣

?php

require_once(‘conn.php’);

session_start();

$username=$_POST[‘username’];

$password=$_POST[‘password’];

$exec=”select * from admin where username='”.$username.”‘”;

if($result=mysql_query($exec))

{

if($rs=mysql_fetch_object($result))

{

if($rs-password==$password)

{

$_SESSION[‘adminname’]=$username;

header(“location:index.php”);

}

else

{

echo “scriptalert(‘Password Check Error!’);location.href=’login.php’;/script”;

}

}

else

{

echo “scriptalert(‘Username Check Error!’);location.href=’login.php’;/script”;

}

}

else

{

echo “scriptalert(‘Database Connection Error!’);location.href=’login.php’;/script”;

}

?

conn.php是這樣:

?php

$conn=mysql_connect (“127.0.0.1”, “”, “”);

mysql_select_db(“shop”);

?

由於 $_SESSION[‘adminname’]=$username;我們可以這樣寫驗證是否登陸語句的文件:checkadmin.php

?php

session_start();

if($_SESSION[‘adminname’]==”)

{

echo “scriptalert(‘Please Login First’);location.href=’login.php’;/script”;

}

?

做一個分頁顯示

關鍵就是用到了SQL語句中的limit來限定顯示的記錄從幾到幾。我們需要一個記錄當前頁的變數$page,還需要總共的記錄數$num

對於$page如果沒有我們就讓它=0,如果有0就讓它也=0,如果超過了總的頁數就讓他=總的頁數。

$execc=”select count(*) from tablename “;

$resultc=mysql_query($execc);

$rsc=mysql_fetch_array($resultc);

$num=$rsc[0];

這樣可以得到記錄總數

ceil($num/10))如果一頁10記錄的話,這個就是總的頁數

所以可以這麼寫

if(empty($_GET[‘page’]))

{

$page=0;

}

else

{

$page=$_GET[‘page’];

if($page0)$page=0;

if($page=ceil($num/10))$page=ceil($num/10)-1;//因為page是從0開始的,所以要-1

}

這樣$exec可以這麼寫 $exec=”select * from tablename limit “.($page*10).”,10″;

//一頁是10記錄的

最後我們需要做的就是幾個連接:

a href=”xxx.php?page=0″FirstPage/a

a href=”xxx.php?page=?=($page-1)?”PrevPage/a

a href=”xxx.php?page=?=($page+1)?”NextPage/a

a href=”xxx.php?page=?=ceil($num/10)-1?”LastPage/a

注意事項

1、注意不要漏了分號

2、注意不要漏了變數前的$

3、使用SESSION的時候注意不要遺漏session_start();

如果發生錯誤的時候,可以採用以下方法:

1、如果是SQL語句出錯,就注釋了然後輸出SQL語句,注意也要注釋調後續的執行SQL語句

2、如果是變數為空,大多是沒有傳遞到位,輸出變數檢查一下,檢查一下表單的id和name

3、如果是資料庫連接出錯,檢查是否正確打開MY SQL和是否遺漏了連接語句

4、注意縮進,排除括弧不區配的錯誤

在做大網站的時候,我的思路是先構建資料庫,確定每一個欄位的作用,和表之間的關係。然後設計後台界面,從添加數據開始做起,因為添加是否成功可以直接到資料庫裡面驗證,做好了添加再做顯示的頁面,最後才是兩者的結合。一般來說後台就包括添加刪除修改和顯示,後台沒有問題了,前台也沒有什麼大問題。前台還需要注意安全性和容錯還有就是輸出格式。

學會用PHP上傳文件和發郵件

上傳文件表單必須加上 enctype=”multipart/form-data”

和 input type=”file” name=”file”

下面看一下代碼:

$f=$HTTP_POST_FILES[‘file’];

$dest_dir=’uploads’;//設定上傳目錄

$dest=$dest_dir.’/’.date(“ymd”).”_”.$f[‘name’];//我這裡設置文件名為日期加上文件名避免重複

$r=move_uploaded_file($f[‘tmp_name’],$dest);

chmod($dest, 0755);//設定上傳的文件的屬性

上傳的文件名為date(“ymd”).”_”.$f[‘name’] ,可以在以後插入到資料庫的時候用到,PHP實際上是把你上傳的文件從臨時目錄移動到指定目錄。move_uploaded_file($f[‘tmp_name’],$dest);這是關鍵

至於發郵件就更加簡單,可以使用mail()函數

mail(“收件人地址”,”主題”,”正文”,”From:發件人\r\nReply-to:發件人的地址”);

不過mail()需要伺服器的支持,在WINDOWS下還需要配置SMTP伺服器,一般來說外面的LINUX空間都行。

好像上傳文件和發郵件比ASP簡單很多,只要調用函數就可以了。ASP還需要用到伺服器的不同組件比如FSO、JMAIL什麼的。

;

學習PHP需要什麼基礎

php是Hypertext Preprocessor的縮寫,php是一種內嵌HTML的腳本語言。PHP的獨特語法混合了c,java和perl及PHP式的新語法。這門語言的的目標是讓網頁開發人員快速的寫出動態的網頁。

JSP是Sun公司推出的新一代站點開發語言,他完全解決了目前ASP,PHP的一個通病——腳本級執行(據說PHP4也已經在Zend的支持下,實現編譯運行)。Sun公司藉助自己在Java上的不凡造詣,將Java從Java應用程序和Java Applet之外,又有新的碩果,就是JSP——Java Server Page。Jsp可以在Serverlet和JavaBean的支持下,完成功能強大的站點程序。

他們的特點:

PHP:

1.資料庫連接

PHP可以編譯成具有與許多資料庫相連接的函數。PHP與MySQL是現在絕佳的組合。你還可以自己編寫外圍的函數去間接存取資料庫。通過這樣的途徑當你更換使用的資料庫時,可以輕鬆地更改編碼以適應這樣的變化。PHPLIB就是最常用的可以提供一般事務需要的一系列基庫。但PHP提供的資料庫介面支持彼此不統一,比如對Oracle, MySQL,Sybase的介面,彼此都不一樣。這也是PHP的一個弱點。

2.面向對象編程

PHP提供了類和對象。基於web的編程工作非常需要面向對象編程能力。PHP支持構造器、提取類等。

JSP:

1.將內容的生成和顯示進行分離

使用JSP技術,Web頁面開發人員可以使用HTML或者XML標識來設計和格式化最終頁面。使用JSP標識或者小腳本來生成頁面上的動態內容。生成內容的邏輯被封裝在標識和JavaBeans組件中,並且捆綁在小腳本中,所有的腳本在伺服器端運行。如果核心邏輯被封裝在標識和Beans中,那麼其他人,如Web管理人員和頁面設計者,能夠編輯和使用JSP頁面,而不影響內容的生成。

在伺服器端,JSP引擎解釋JSP標識和小腳本,生成所請求的內容(例如,通過訪問JavaBeans組件,使用JDBCTM技術訪問資料庫,或者包含文件),並且將結果以HTML(或者XML)頁面的形式發送回瀏覽器。這有助於作者保護自己的代碼,而又保證任何基於HTML的Web瀏覽器的完全可用性。

2.強調可重用的組件

絕大多數JSP頁面依賴於可重用的,跨平台的組件(JavaBeans或者Enterprise JavaBeans組件)來執行應用程序所要求的更為複雜的處理。開發人員能夠共享和交換執行普通操作的組件,或者使得這些組件為更多的使用者或者客戶團體所使用。基於組件的方法加速了總體開發過程,並且使得各種組織在他們現有的技能和優化結果的開發努力中得到平衡。

3.採用標識簡化頁面開發

Web頁面開發人員不會都是熟悉腳本語言的編程人員。JavaServer Page技術封裝了許多功能,這些功能是在易用的、與JSP相關的XML標識中進行動態內容生成所需要的。標準的JSP標識能夠訪問和實例化JavaBeans組件,設置或者檢索組件屬性,下載Applet,以及執行用其他方法更難於編碼和耗時的功能。

通過開發定製化標識庫,JSP技術是可以擴展的。今後,第三方開發人員和其他人員可以為常用功能創建自己的標識庫。這使得Web頁面開發人員能夠使用熟悉的工具和如同標識一樣的執行特定功能的構件來工作。

JSP技術很容易整合到多種應用體系結構中,以利用現存的工具和技巧,並且擴展到能夠支持企業級的分散式應用。作為採用Java技術家族的一部分,以及Java 2(企業版體系結構)的一個組成部分,JSP技術能夠支持高度複雜的基於Web的應用。

由於JSP頁面的內置腳本語言是基於Java編程語言的,而且所有的JSP頁面都被編譯成為Java Servlet,JSP頁面就具有Java技術的所有好處,包括健壯的存儲管理和安全性。

作為Java平台的一部分,JSP擁有Java編程語言「一次編寫,各處運行」的特點。隨著越來越多的供應商將JSP支持添加到他們的產品中,您可以使用自己所選擇的伺服器和工具,更改工具或伺服器並不影響當前的應用。

學PHP之前需要哪些基礎呀

PHP需要掌握的知識還是比較多的,最基本的比如:PHP基本的語法、php框架以及CMS、mysql資料庫設計表、mysql資料庫的基本SQL語句。現在一般PHP的都得會前端,那就包括:js/ajax、html、css。如果更高點層次的就是linux伺服器。

PHP攻城獅踐行學習路線圖:

1、用集成環境安裝PHP環境,一定要記住這一點,不要自己分開去裝,尤其是自學的朋友。不然你會覺得很複雜,會沒有信心學下去的。也要注意任何高手都不是一蹴而就的,是一步一步,不同的階段歷練才有最後的沉澱。

2、先了解一些基本的變數類型,語法,函數,基本邏輯,寫簡單的代碼。前期以嘗試,培養興趣為主。這段時間是打基礎很好的時候,這個會影響你後面的發展,不過也可以在後期去完善。

3、這時候你可能覺得PHP就這樣,沒什麼難度,或者有的覺得太難了,簡直一臉疑惑。這個到底有什麼用。在這時候一定要堅持下來,可以試試先放一下,別太較真。慢慢的困惑你的會被你領悟的。這時,建議學習html+css+js,緩解自己的壓力,這個相對簡單,簡歷信心。尤其是js,總結其實有相同的思路,可以結合著一起體會。

4、這些都感覺有80%了解就可以先放放了,現在在學習MySQL,也是先了解基礎的。這個是幹什麼的,我可以用它做什麼。因為之前裝的集成環境。為什麼感覺是凌亂的,我想告訴你的是,一是不要在自己沒能力解決問題的時候死磕,浪費時間,喪失信心。這時候我們要做的是學習壯大自己,不要灰心。二是我本來覺得這一切都了解才是完整的。我們的目標也是要把這些都做好,這才是一個合格的PHP程序員。

5、這一切都順利的話,你基本離預設的目標不遠了,完成了整個學習的70%了。後面的是在之前的基礎上升華。把HTML和css、js結合、靜態文件和PHP結合、PHP和MySQL結合。這個階段可能越到的問題會異常的多,一定要學會解決問題。網上很多都是答案,同樣你要學會問問題。

6、這些之後你基本已經快到學習的尾聲了,但還缺少經驗。這時,你可以看一些網上開源的cms,例如織夢,國內用的多,越到問題好解決。看看一些視頻(網上免費的很多),查漏補缺,總結歸納形成自己的知識體系。是時候該準備慶祝下自己這段的時間沒有白費(一般2到3各月,看平時每天花的時間),基本成為一個合格的PHP程序員了。也該恭喜你了,其實並不那麼難。堅持,堅持;努力,努力;學習,學習

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/198607.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-04 10:26
下一篇 2024-12-04 10:26

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python字元串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字元串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字元串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變數和數…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在著手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29
  • 怎麼寫不影響Python運行的長段代碼

    在Python編程的過程中,我們不可避免地需要編寫一些長段代碼,包括函數、類、複雜的控制語句等等。在編寫這些代碼時,我們需要考慮代碼可讀性、易用性以及對Python運行性能的影響。…

    編程 2025-04-29
  • Python愛心代碼動態

    本文將從多個方面詳細闡述Python愛心代碼動態,包括實現基本原理、應用場景、代碼示例等。 一、實現基本原理 Python愛心代碼動態使用turtle模塊實現。在繪製一個心形的基礎…

    編程 2025-04-29
  • 北化教務管理系統介紹及開發代碼示例

    本文將從多個方面對北化教務管理系統進行介紹及開發代碼示例,幫助開發者更好地理解和應用該系統。 一、項目介紹 北化教務管理系統是一款針對高校學生和教職工的綜合信息管理系統。系統實現的…

    編程 2025-04-29

發表回復

登錄後才能評論