導航:首頁 > 編程語言 > php事件編程

php事件編程

發布時間:2022-07-08 03:14:45

『壹』 php編程,幫我解釋下

這是一個用戶登錄程序。

if( !isset($_POST["name"] ) )//這是判斷用戶名是否為空。

$adminName=$_POST["name"]; //接收用戶名
$adminPassword=$_POST["password"]; //接收密碼
$checkCode=$_POST["checkCode"]; //接收驗證碼

if( $_SESSION["checkCode"]== $checkCode )//判斷驗證碼是否正確

如果驗證碼真確就執行SQL語句:$sql="select * from admin where adminName='$adminName' and adminPassword='$adminPassword' ";

if( $row=mysql_fetch_array($query) ) //判斷此用戶是否存在

『貳』 PHP的編程是什麼

PHP(外文名:PHP: Hypertext Preprocessor,中文名:「超文本預處理器」)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標准通用標記語言下的一個應用)文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。
PHP原始為Personal Home Page的縮寫,已經正式更名為 "PHP: Hypertext Preprocessor"。注意不是「Hypertext Preprocessor」的縮寫,這種將名稱放到定義中的寫法被稱作遞歸縮寫。PHP於1994年由Rasmus Lerdorf創建,剛剛開始是Rasmus Lerdorf為了要維護個人網頁而製作的一個簡單的用Perl語言編寫的程序。這些工具程序用來顯示 Rasmus Lerdorf 的個人履歷,以及統計網頁流量。後來又用C語言重新編寫,包括可以訪問資料庫。他將這些程序和一些表單直譯器整合起來,稱為 PHP/FI。PHP/FI 可以和資料庫連接,產生簡單的動態網頁程序。
在1995年以Personal Home Page Tools (PHP Tools) 開始對外發表第一個版本,Lerdorf寫了一些介紹此程序的文檔。並且發布了PHP1.0!在這的版本中,提供了訪客留言本、訪客計數器等簡單的功能。以後越來越多的網站使用了PHP,並且強烈要求增加一些特性。比如循環語句和數組變數等等;在新的成員加入開發行列之後,Rasmus Lerdorf 在1995年6月8日將 PHP/FI 公開發布,希望可以透過社群來加速程序開發與尋找錯誤。這個發布的版本命名為 PHP 2,已經有 PHP 的一些雛型,像是類似 Perl的變數命名方式、表單處理功能、以及嵌入到 HTML 中執行的能力。程序語法上也類似 Perl,有較多的限制,不過更簡單、更有彈性。PHP/FI加入了對MySQL的支持,從此建立了PHP在動態網頁開發上的地位。到了1996年底,有15000個網站使用 PHP/FI。
ISAPI篩選器
在1997年,任職於 Technion IIT公司的兩個以色列程序設計師:Zeev Suraski 和 Andi Gutmans,重寫了 PHP 的剖析器,成為 PHP 3 的基礎。而 PHP 也在這個時候改稱為PHP:Hypertext Preprocessor。經過幾個月測試,開發團隊在1997年11月發布了 PHP/FI 2。隨後就開始 PHP 3 的開放測試,最後在1998年6月正式發布 PHP 3。Zeev Suraski 和 Andi Gutmans 在 PHP 3 發布後開始改寫PHP 的核心,這個在1999年發布的剖析器稱為 Zend Engine,他們也在以色列的 Ramat Gan 成立了 Zend Technologies 來管理 PHP 的開發。
在2000年5月22日,以Zend Engine 1.0為基礎的PHP 4正式發布,2004年7月13日則發布了PHP 5,PHP 5則使用了第二代的Zend Engine。PHP包含了許多新特色,像是強化的面向對象功能、引入PDO(PHP Data Objects,一個存取資料庫的延伸函數庫)、以及許多效能上的增強。PHP 4已經不會繼續
PHP
更新,以鼓勵用戶轉移到PHP 5。
2008年PHP 5成為了PHP唯一的有在開發的PHP版本。將來的PHP 5.3將會加入Late static binding和一些其他的功能強化。PHP 6 的開發也正在進行中,主要的改進有移除register_globals、magic quotes 和 Safe mode的功能。
PHP最新穩定版本:5.4.30(2013.6.26)
PHP最新發布的正式版本:5.5.14(2014.6.24)
PHP最新測試版本:5.6.0 RC2(2014.6.03)
2013年6月20日,PHP開發團隊自豪地宣布推出PHP 5.5.0。此版本包含了大量的新功能和bug修復。需要開發者特別注意的一點是不再支持 Windows XP 和 2003 系統。
2014年10月16日,PHP開發團隊宣布PHP 5.6.2可用。四安全相關的錯誤是固定在這個版本,包括修復cve-2014-3668,cve-2014-3669和cve-2014-3670。所有的PHP 5.6鼓勵用戶升級到這個版本
更多盡在
-

『叄』 關於php編程

我很樂意為你回答
你的第一個問題:那是因為PHP是在伺服器端運行的,別人的PHP網頁能夠打開那是因為有一個遠程的伺服器,它包括WEB伺服器,如APACHE,與PHP引擎,PHP引擎把PHP文件解析,然後生成HTML文檔交給WEB伺服器,隨後通過HTTP傳輸,你的瀏覽器再把它生成網頁顯示在你的瀏覽器上,一句話,你看到的PHP網頁到你的電腦時,即客戶端,已經時HTML文檔形式了,雖然網址里顯示的還時.PHP,所以你在客戶端並不需要配置PHP運行環境。
你的第二個問題:你出現的問題大概有兩個:第一,你的運行環境沒搭建好,要真是這樣,我建議你到PHPNOW下載一個安裝包,裡麵包含了你需要的所有東西;第二,打開PHP文件不是用單擊文件的,而是要在瀏覽器的地址欄輸入:http://localhost/index.php,這樣就可以打開了。
祝你以後的學習會給你帶來快樂。

『肆』 PHP程序中,怎麼插入JS點擊事件

其實一句話,echo出去你說的js事件就行了。不過想想你能這么問,我還是仔細說一下
-----------------------------------------------**---------------------------------------------首先,php在服務端運行,js在客戶端運行,js對於php來說就是一段字元串跟html和css沒什麼區別,js執行是不會發生在服務端的
php網路編程執行順序是這樣的:
客戶端發送請求-web伺服器-php-web伺服器-客戶端接收響應
php的網路編程其實就是在操作字元串,那麼你要加一個點擊事件,就需要把相應的js代碼添加到對應的頁面,至於怎麼加,就看你要完成什麼需求了

『伍』 如何使用PHP編程

PHP是一門高效的網路編程語言,由於它具有編寫靈活、運行快速等優點,迅速成為Web程序員的首選語言。前不久的一份權威調查表明,現在已經有31.6%的網站使用PHP作為主要的伺服器端編程語言。
但是,要成為一名PHP編程高手卻並不容易。並不像很多人想像的那樣,只要能夠飛快地編寫幾條簡單的代碼去解決一個復雜的問題就是PHP編程高手了,真正的PHP高手還需要考慮更多的其它問題。以下三條准則是一名成熟的PHP程序員在編程中應該首先遵循的准則。
1.懶惰是金
2.編寫漂亮的代碼
3.追求程序的速度,而不是編程的速度
一、懶惰是金
做一個懶惰的程序員嗎?這個想法太奇怪了!因為這個世界上最忙碌的人可能就是計算機程序員了。但正是因為程序員太忙了,所以才應該在編程時學會偷懶。
對於一個程序員來說,懶惰的方法有兩種:其一,大膽使用現成的別人的程序代碼,把這些代碼融入到你自己的程序或者項目中去。其二是編寫一些有用的代碼建立一個函數庫,在將來編寫程序時可以順手拈來,省去了許多重復的勞動,自然就可以懶惰一點了。
這兩種偷懶的方法都非常適合PHP程序員了。
首先,PHP是在自由開放的環境中誕生和成長的一門語言。在世界各地,有成千上萬的程序員,他們一直在為PHP的完美而不斷奮斗,他們也願意和別人分享自己的聰明才智和自己編寫的代碼。你每天都可以從一些PHP網站、郵件列表、新聞組發現大量的優秀的程序代碼。這樣說,我並不是鼓勵你整天等著讓別人為你編寫代碼,但是你可以「站在偉人的肩膀上」,充分發揚「拿來主義」,聰明地應用別人的程序代碼可以節省你大量時間。其次,在PHP中,你可以方便地建立自己的函數庫,這樣可以在你以後編寫程序時省去很多麻煩。
下面筆者為大家介紹幾個通用的函數,這些函數有的來自網上的一些開放源代碼的項目,有的精選自郵件列表。如果你能把它們加入到你自己的函數庫中,遲早你將會發現自己受益無窮。
1.通用資料庫處理函數
和其它的CGI函數相比,PHP的優點之一是具有很強大的資料庫處理能力。但是,在PHP中,對於不同的資料庫都使用一些特定的函數來專門處理,缺少通用的資料庫處理函數。這大大降低了程序代碼的可移植性,這也為初學編程的朋友帶來了很多不便。
在網上,許多程序員都通過封裝類解決了這個問題。他們編寫了統一的函數用來處理任何流行的資料庫——不管是在linux世界深受歡迎的Mysql還是在Windows平台上廣泛流行的SqlServer。就筆者個人來說,非常喜歡使用這些函數,因為可以直接使用一些簡單的諸如"query"、"next_record"之類的函數,而不需要考慮資料庫的連接、資料庫句柄這些復雜的東西,更不需要考慮使用的是何種資料庫。
如果你需要這些函數,你可以通過訪問以下的幾個網址而得到:
http://phplib.netuse.de/
http://phpclasses.UpperDesign.com/browse.html/package/20
http://phpdb.linuxbox.com/
2.變數調試函數
PHP程序的調試一直是一件讓人頭疼的事,它既不像VB等高級語言那樣有集成的編譯調試環境,也不想Perl那樣可以在Linux或者DOS環境下直接運行。其實,我們完全可以通過靈活地使用echo語句來完成對PHP的調試工作。
下面的幾個函數可以讓你隨時查看程序中任何變數的類型及其值。
function ss_array_as_string (&$array, $column = 0) {
$str = "Array(
n";
while(list($var, $val) = each($array)){
for ($i = 0; $i < $column+1; $i++){
$str .= "&nbsp;&nbsp;&nbsp;&nbsp;";
}
$str .= $var. ==> ;
$str .= ss_as_string($val, $column+1)."
n";
}
for ($i = 0; $i < $column; $i++){
$str .= "&nbsp;&nbsp;&nbsp;&nbsp;";
}
return $str.);
}
function ss_object_as_string (&$object, $column = 0) {
if (empty($object->classname)) {
return "$object";
}
else {
$str = $object->classname."(
n";
while (list(,$var) = each($object->persistent_slots)) {
for ($i = 0; $i < $column; $i++){
$str .= "&nbsp;&nbsp;&nbsp;&nbsp;";
}
global $$var;
$str .= $var. ==> ;
$str .= ss_as_string($$var, column+1)."
n";
}
for ($i = 0; $i < $column; $i++){
$str .= "&nbsp;&nbsp;&nbsp;&nbsp;";
}
return $str.);
}
}
function ss_as_string (&$thing, $column = 0) {
if (is_object($thing)) {
return ss_object_as_string($thing, $column);
}
elseif (is_array($thing)) {
return ss_array_as_string($thing, $column);
}
elseif (is_double($thing)) {
return "Double(".$thing.")";
}
elseif (is_long($thing)) {
return "Long(".$thing.")";
}
elseif (is_string($thing)) {
return "String(".$thing.")";
}
else {
return "Unknown(".$thing.")";
}
}
需要的時候,在程序中簡單地加入下面的一條代碼即可查看程序中的所使用的變數(包括數組和對象)的類型和值:
echo ss_as_string($my_variable);
使用下面的語句,我們可以直接查看程序中所有的變數的值:
echo ss_as_string($GLOBALS);
3. 控制Log信息的函數
調試PHP程序的另外一種重要的方法就是查看Log信息。如果能夠方便地控制Log信息的級別以及Log信息的顯示內容,將會給程序調試帶來更多的便利。下面的幾個函數可以方便地實現這個功能。
$ss_log_level = 0;
$ss_log_filename = /tmp/ss-log;
$ss_log_levels = array(
NONE => 0,
ERROR => 1,
INFO => 2,
DEBUG => 3);
function ss_log_set_level ($level = ERROR) {
global $ss_log_level;
$ss_log_level = $level;
}
function ss_log ($level, $message) {
global $ss_log_level, $ss-log-filename;
if ($ss_log_levels[$ss_log_level] < $ss_log_levels[$level]) {
// 不顯示Log信息
return false;
}
$fd = fopen($ss_log_filename, "a+");
fputs($fd, $level. - [.ss_timestamp_pretty().] - .$message."n");
fclose($fd);
return true;
}
function ss_log_reset () {
global $ss_log_filename;
@unlink($ss_log_filename);
}
在上面的函數中,有四個Log級別變數。運行PHP程序時,只有當Log的級別低於預設的級別值時,Log信息才可以被記錄和顯示出來。例如,在程序中加入如下的一條語句:
ss_log_set_level(INFO);
那麼,運行PHP程序時,只有ERROR和INFO級別的LOG信息才能被記錄和顯示出來,DEBUG級的信息則被忽略了。除此之外,我們還可以設定顯示的信息內容,其語句如下:
ss_log(ERROR, "testing level ERROR");
ss_log(INFO, "testing level INFO");
ss_log(DEBUG, "testing level DEBUG");
你也可以隨時使用下面的語句清空LOG信息:
ss_log_reset();
4.速度測試函數

為了優化代碼,我們需要一種可以測試代碼運行時間的方法,從而來選擇最優的代碼。下面的函數可以測試運行代碼所需的時間:
function ss_timing_start ($name = default) {
global $ss_timing_start_times;
$ss_timing_start_times[$name] = explode( , microtime());
}
function ss_timing_stop ($name = default) {
global $ss_timing_stop_times;
$ss_timing_stop_times[$name] = explode(, microtime());
}
function ss_timing_current ($name = default) {
global $ss_timing_start_times, $ss_timing_stop_times;
if (!isset($ss_timing_start_times[$name])) {
return 0;
}
if (!isset($ss_timing_stop_times[$name])) {
$stop_time = explode(, microtime());
}
else {
$stop_time = $ss_timing_stop_times[$name];
}
$current = $stop_time[1] - $ss_timing_start_times[$name][1];
$current += $stop_time[0] - $ss_timing_start_times[$name][0];
return $current;
}
現在可以輕松地檢查任何一段代碼的執行時間了,甚至我們可以同時使用多個計時器,只需在使用上述的幾個函數時設定不同的參數作為計時器的名稱就可以了。
5.調試和優化資料庫的操作
對於資料庫來說,運行速度是至關重要的。盡管很多書籍和文章都講授了一些快速運行資料庫的方法,但是所有的方法都必須經過實踐的檢驗。下面我們將把PHPLib函數庫中的query()函數和上面介紹的幾個函數綜合起來編寫成新的query()函數,和原先的函數相比,這個函數增加了運行時間的監測功能。
function query($Query_String, $halt_on_error = 1) {
$this->connect();
ss_timing_start();
$this->Query_ID = @mysql_query($Query_String,$this->Link_ID);
ss_timing_stop();
ss_log(INFO, ss_timing_current(). Secs - .$Query_String);
$this->Row = 0;
$this->Errno = mysql_errno();
$this->Error = mysql_error();
if ($halt_on_error && !$this->Query_ID) {
$this->halt("Invalid SQL: ".$Query_String);
}
return $this->Query_ID;
}

二、編寫漂亮的代碼
1.將後台程序與前端程序分開
在編寫PHP程序時,有些代碼是用來處理一些事務,例如操作資料庫、進行數學運算等,而另外的一些代碼則只是事務處理的結果顯示出來,例如一些使用echo語句將結果以HTML的格式顯示在Web瀏覽器上的PHP代碼以及那些直接嵌入PHP程序的HTML代碼。首先我們應該清晰地區分這兩種代碼,把前者稱為後台程序,把後者稱為前端程序。
因為PHP是一種嵌入式編程語言,也就是說,所有的PHP代碼都可以嵌入到HTML代碼之中,這為程序的編寫帶來了許多便利之處。但是,「物極必反」,如果在一段較長的程序中將PHP代碼和HTML代碼混合編寫,這將使程序雜亂無章,不利於程序的維護和閱讀。所以我們需要盡可能地將這些程序中混雜於HTML代碼中的PHP代碼移植出來,在專門的文件中將這些代碼封裝成函數,然後在HTML代碼中使用include語句來包含這些文件,在適當的位置調用這些函數即可。
這種做法一方面使HTML代碼和PHP代碼都簡單易讀,另一方面因為HTML代碼需要不斷更新,而這種分離的方法可以確保後台程序不會被破壞。
同前端程序不同,後台程序更多追求的是穩定、結構化,極少更改,所以應該認真地設計和管理。其實,在設計台程序時,投入大量時間是值得的,「現在栽樹,以後乘涼」,在以後的設計工作中將可以輕松地使用現在編寫的後台程序。
2.靈活使用包含文件
正如前面所說的那樣,後台程序應當安排在一系列的包含文件中。包含文件可以通過include語句在需要時動態裝入,也可以在php.ini文件中通過使用auto_prepend_file指令預先自動裝入。
如果使用後一種方法的話,雖然取得了一勞永逸的好處,但是也有一些缺點值得我們注意。下面的一段代碼向我們展示了解析一個龐大的包含文件需要一定的時間:
require(timing.inc);
ss_timing_start();
include(test.inc);
ss_timing_stop();
echo
.ss_timing_current().
;
?>
在上面的代碼中,test.inc是一個1000行的包含文件,運行的結果顯示,解析這個包含文件花費了0.6秒鍾,對於一個大型網站來說,這個速度並不是可以忽略不記的。
使用包含文件的另外一個缺點是:如果一個文件中的一個語句發生錯誤,將會使整個網站的PHP程序都無法運行。所以使用起來也及其小心。
其實,對包含文件稍做處理,即可以使包含文件只在需要時進行解析。下面的代碼使abc.inc文件只在程序需要時才作解析:
if ( defined( __LIBA_INC) ) return;
define( __LIBA_INC, 1 );
/*
* 代碼...
*/
?>
3.使用面向對象的編程方法
PHP也是一種面向對象的語言,面向對象的編程方法是優秀的程序員們非常推崇的一種軟體設計方法,在PHP編程中可以充分發揮面向對象語言的優勢,對編程中的對象進行封裝。在前面的代碼中,我們使用了面向對象的方法,例如在管理資料庫時,我們將query()函數封裝進資料庫類中,這極大地方便了代碼的管理,增加了程序的可讀性。
三、追求程序速度,而不是編程的速度
在網站建設中,程序運行速度和網頁下載速度都是關系成敗的重要因素。作為一名Web程序員,應該更加註意代碼的運行速度。下面介紹的幾種方法都在不同程度上提高了代碼的運行速度。
1.使用內嵌的HTML代碼,而不是PHP的echo語句。
因為PHP是一門嵌入式Web編程語言,可以將HTML代碼和PHP代碼相互嵌入。但是很多程序員擔心在HTML代碼中過多的使用""嵌入PHP代碼會多次調用PHP解釋器,從而降低了PHP代碼的運行速度,所以寧願使用PHP的echo語句來輸出HTML代碼,而不直接使用HTML代碼。但事實卻恰恰相反。每一個PHP頁面只調用一次PHP解釋器來解釋所有的PHP代碼,所以,只在需要時才嵌入PHP代碼,而大多數的時候直接使用HTML代碼輸入結果,不但不會降低程序的運行速度,而且因為減少了對echo語句的解析,往往可以提高代碼的運行速度。
下面的一段代碼證明了我們的結論。在這段代碼中,我們使用了前面介紹的時間測試函數。

使用str-replace而不是ereg-replace
習慣使用Perl進行編程的程序員更加願意使用ereg_replace完成字元串替換工作,因為在PHP中ereg_replace的用法和Perl中模式匹配的用法相近。但是,下面的這段代碼證明,使用str_replace 代替 ereg_replace將可以大大提高代碼的運行速度。

測試str_replace和ereg_replace的運行速度

//這段代碼測試str_replace的運行速度

emphasis; ?>

for ($i=0; $i<1000; $i++) {
str_replace(i>, b>, $string).
;
}
?>

//這段代碼測試ereg_replace的運行速度

for ($i=0; $i<1000; $i++) {
ereg_replace(<([/]*)i>, <\1b>, $string).
;
}
?>

//列印結果

結論

使用str_replace的時間 -

使用ereg_pattern的時間 -
運行上面的代碼,得到的結果是:
使用str_replace的時間 - 0.089757
使用ereg_pattern的時間 - 0.248881
從運行的結果我們可以看出使用str_replace替代ereg_replace作為字元串替換函數,極大地提高了代碼的運行速度。
3.注意字元串的引用
PHP和其它很多編程語言一樣,可以使用雙引號("")來引用字元串,也可以使用單引號()。但是在PHP中,如果使用雙引號來引用字元串,那麼PHP解析器將首先分析字元串中有沒有對變數的引用,有變數的話,將對變數進行替換。如果是單引號,則沒有如此復雜——直接將單引號包含起來的所有字元串直接顯示出來。顯然,在PHP編程中,如果使用單引號引用字元串變數要比使用雙引號快速一些。
4.在資料庫中避免使用聯合操作
比起其它的Web編程語言來說,PHP的資料庫功能十分強大。但是在PHP中資料庫的運行仍然是一件十分費時費力的事情,所以,作為一個Web程序員,要盡量減少資料庫的查詢操作,同時應該為資料庫建立適當的索引。另一件值得注意的事情是在用PHP操作資料庫時,盡可能不使用多個數據表的聯合操作,盡管聯合操作可以增強資料庫的查詢功能,但是卻大大增加了伺服器的負擔。
為了說明這個問題,我們可以看看下面的這個簡單的例子。
我們在資料庫中創建了兩個數據表foo和big_foo。在數據表foo中,只有一個欄位,包含了從1-1000之間的所有自然數。數據表big_foo同樣只有一個欄位,但包含了從1-1,000,000之間的全部自然數。所以,從大小上說,big_foo等於foo與它自身進行了聯合操作。
$db->query("select * from foo");
0.032273 secs
$db->next_record();
0.00048999999999999 secs
$db->query("insert into foo values (NULL)");
0.019506 secs
$db->query("select * from foo as a, foo as b");
17.280596 secs
$db->query("select * from foo as a, foo as b where a.id > b.id");
14.645251 secs
$db->query("select * from foo as a, foo as b where a.id = b.id");
0.041269 secs
$db->query("select * from big_foo");
25.393672 secs
從上面操作結果我們可以發現,對於兩個有1000條記錄的數據表進行聯合,其速度並不比對一個1000000條紀錄的大型數據表單獨進行操作快多少。
5.注意include與require的區別
在PHP變成中,include()與require()的功能相同,但在用法上卻有一些不同,include()是有條件包含函數,而require()則是無條件包含函數。例如在下面的一個例子中,如果變數$somgthing為真,則將包含文件somefile:
if($something){
include("somefile");
}
但不管$something取何值,下面的代碼將把文件somefile包含進文件里:
if($something){
require("somefile");
}
下面的這個有趣的例子充分說明了這兩個函數之間的不同。
$i = 1;
while ($i < 3) {
require("somefile.$i");
$i++;
}
在這段代碼中,每一次循環的時候,程序都將把同一個文件包含進去。很顯然這不是程序員的初衷,從代碼中我們可以看出這段代碼希望在每次循環時,將不同的文件包含進來。如果要完成這個功能,必須求助函數include():
$i = 1;
while ($i < 3) {
include("somefile.$i");
$i++;
}
6.注意echo和print的區別
PHP中echo和print的功能也基本相同,但是兩者之間也有細微差別。在PHP代碼中可以把print作為一個普通函數來使用,例如執行下面的代碼後變數$res的值將為1。
$ret = print "Hello World";
這意味著print可用在一些復雜的表達式中,而echo則不行。同樣,在代碼中echo語句的運行速度要略微快於print語句,因為echo語句不要求返回任何數值.

『陸』 PHP編程技術(如果內容為空就不能提交)

這個用JavaScript來實現比用PHP實現好,無需提交就檢查了,減少網路流量和伺服器的符合,js代碼例子如下:

<input type=text onBlur="if (this.value.length==0) {alert('不能為空');this.focus();}">

『柒』 PHP編程,麻煩幫我解釋下

這是一個在html中插入php代碼:
<h2>language="JavaScript" 用法 <span class="leftarea"> <img
src="images/icon_write.gif" /> <?php echo $rows['username']?>//顯示從資料庫中調用出來的用戶名稱 <font
style="color: #999;">於 <?php echo date("Y-m-d H:i",strtotime($rows["systime"]));?>//顯示寫入資料庫的時間,如yestoday等
發表留言:</font> <?php if(date("Y-m-d",strtotime($rows["systime"]))==date("Y-m-d")) echo '<img src=images/new.gif>';?>//如果是今天提交的就顯示new.gif圖片
<?php if($rows['settop']!=0) echo '<img src=images/settop.gif alt=已置頂>';?>如果是設置置頂的就顯示settop.gif圖片
</span> <span class="midarea"> <?php if(!empty($_SESSION['admin_pass'])){//如果session不為空(即已經登錄)就顯示下面的內容,下面的內容基本都是一個道理
其實$rows就是從資料庫中調出來的一連串符合的數據就是將$rows中的數據顯示到頁面中來你這個只是其中的一個文件一改還有文件的,

『捌』 php 同步編程和非同步編程的區別

傳統的同步編程是一種請求響應模型,調用一個方法,等待其響應返回.

非同步編程就是要重新考慮是否需要響應的問題,也就是縮小需要響應的地方。因為越快獲得響應,就是越同步化,順序化,事務化,性能差化。

非同步編程通常是通過fire and forget方式實現,發射事件後即忘記,做別的事情了,無需立即等待剛才發射的響應結果了。(發射事件的地方稱為生產者,而將在另外一個地方響應事件的處理者稱為消費者).非同步編程是一種事件驅動編程,需要完全改變思路,將「請求響應」的思路轉變到「事件驅動」思路上,是一種軟體編程思維的轉變.

『玖』 PHP編程問題

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>..</title>
</head>

<body>
<?php if (empty ( $_POST["Submit"] ) ) { ?>
<form id="form1" name="form1" method="post" action="">

<table width="292" border="1" cellpadding="1">
<tr>
<td width="92">用戶名:</td>
<td width="184"><label>
<input name="txtusername" type="text" id="txtusername" />
</label></td>
</tr>
<tr>
<td> </td>
<td><label>
<input type="submit" name="Submit" value="提交" />
</label></td>
</tr>
</table>
</form>
<?php } else {
if ( empty ( $_POST["txtusername"] ) ) {
die ( "<p><b>用戶名不能為空!</b></p>" );
}
?>
<table width="293" border="1" cellpadding="1">
<tr>
<td width="96"> </td>
<td width="181"> </td>
</tr>
<tr>
<td>用戶名:</td>
<td><?php echo $_POST['txtusername']; ?></td>
</tr>
</table>
<?php } ?>
</body>
</html>

___________________________________
已經改好了,主要是沒有分號。在我的電腦上已經測試通過了。
如果還是不行,你把上面的代碼復制一下。

還有,你要注意PHP給出的錯誤提示。

閱讀全文

與php事件編程相關的資料

熱點內容
同城公眾源碼 瀏覽:472
一個伺服器2個埠怎麼映射 瀏覽:280
java字元串ascii碼 瀏覽:59
台灣雲伺服器怎麼租伺服器 瀏覽:458
旅遊手機網站源碼 瀏覽:312
android關聯表 瀏覽:927
安卓導航無聲音怎麼維修 瀏覽:318
app怎麼裝視頻 瀏覽:421
安卓系統下的軟體怎麼移到桌面 瀏覽:78
windows拷貝到linux 瀏覽:753
mdr軟體解壓和別人不一樣 瀏覽:886
單片機串列通信有什麼好處 瀏覽:322
游戲開發程序員書籍 瀏覽:846
pdf中圖片修改 瀏覽:273
匯編編譯後 瀏覽:478
php和java整合 瀏覽:833
js中執行php代碼 瀏覽:445
國產單片機廠商 瀏覽:60
蘋果手機怎麼設置不更新app軟體 瀏覽:287
轉行當程序員如何 瀏覽:496