PHP+MySQL+Dreamweaver整合教學(PHPMaker運用設計網站教學):快速設計網站與網頁
總教頭特別企畫【專業整合課程】比傳統的學習的還要快速與實用!


感謝您造訪 PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用設計網站教學)密訓基地。 你可進入教學詳細內容介紹頁面,詳細瞭解PHP程式設計+MySQL資料庫(PHPMaker運用設計網站教學)及相關技術維護影片教學(完整配套措施),馬上可以設計架站程式與PHP網頁,快速建立MySQL資料庫、自動生成PHP網頁。可對資料庫進行瀏覽、修改、查詢、加入和刪除(整合成我們需要的網站)。

要在網路上經營網站賺大錢,不能只會下載現有的程式來架站(自己設計才能完全符合專業的特殊需求),你不用死背PHP語法,更可以完全不用花錢用購買資料庫(PHPMySQL完全免費!)你可以透過技術學習,讓PHP程式網頁+網路資料庫+Dreamweaver整合教學→讓你快速成為:【動態網站程式設計專家→你能因此賺大錢】!

 PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用設計網站教學):

http://por.tw/php/new-E_learning/index.php


PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用教學)密訓基地  總教頭  敬上



瀏覽模式: 普通 | 列表

問題:
請問為什麼我向另一網頁傳送變數時,只得到前半部分,以空格開頭的則全部丟失?


<?php
$Var="hello php";//修改為$Var="   hello php";試試得到什麼結果
$post= "receive.php?Name=".$Var;
header("location:$post");
?>

receive.php的內容:


<?PHP
Echo "<pre>";
Echo  $_GET["Name"];
Echo "</pre>";
?>


回覆:
正確的方法是:


<?php
$Var="hello php";
$post= "receive.php?Name=".urlencode($Var);
header("location:$post");
?>

在接收頁面你不需要使用Urldecode(),變數會自動編碼.

如何避免使用php程式中的require_once語法?

如何避免使用php程式中的require_once語法?


我們知道,在php中使用require_once/include_once雖然方便,但是代價昂貴,據測試資料來看,require_once比require慢3-4倍,所以在php開發中,我們應該盡量使用require/include。

以下是筆者常用的避免require/include的方法。


使用__autoload

php5可以使用__autoload來避免require,用的好的話,代碼裡頭甚至看不到幾個require,實在是安逸啊。測試結果顯示,使用__autoload之後的new Foo; 比require_once 『foo.php』; new Foo; 大概要快3倍左右。

補充:為了避免autoload衝突,可以考慮使用spl_autoload_register(PHP 5 >= 5.1.2)來改變魔術函數__autoload的行為。

使用defined檢驗是否載入過

在代碼開頭使用defined檢驗是否定義過對應的常量,如果有的話,直接return。

<?php

if(!defined('_MYCLASS_'))

return;

define('_MYCLASS_', 1);

class MyClass { ... }

?>

測試了一下,defined的效能也不是太好…

require前檢查

用class_exists或是function_exists檢查一下,確認沒有載入過再出手,至少比require_once能快上3倍。php4也可以用上。

class_exists('myClass') or require('/path/to/myClass.class.php');
PHP程式設計問題諮詢:
我想在每個檔最前,最後面都加上一檔.但一個一個添加很麻煩
有沒有解決的辦法?

---------------------------------------------------------
PHP程式設計問題回覆:
 我想在每個檔最前,最後面都加上一檔.但一個一個添加很麻煩
您可以這樣處理:

1:打開php.ini文件
設置 include_path= "c:"

2:寫兩個文件
auto_prepend_file.php 和 auto_append_file.php 保存在c磁碟,他們將自動依附在每個php檔的頭部和尾部.

3:在php.ini中找到:
Automatically add files before or after any PHP document.
auto_prepend_file = auto_prepend_file.php;依附在頭部
auto_append_file = auto_append_file.php;依附在尾部

以後你每個php檔就相當於
<?php
Include "auto_prepend_file.php" ;

.......//這裏是你的程式


Include "auto_append_file.php";
?>
---------------------------------------------------------

透視 MySQL資料庫之更新語句(Mssql資料庫教學)

透視 MySQL資料庫之更新語句(Mssql資料庫教學)

用於操作資料庫的SQL一般分為兩種,一種是查詢語句,也就是我們所說的SELECT語句,另外一種就是更新語句,也叫做資料操作語句。
言外之意,就是對資料進行修改。在標準的SQL中有3個語句,它們是INSERT、UPDATE以及DELETE。
在MySQL中又多了一個REPLACE語句,因此,本文以MySQL為背景來討論如何使有SQL中的更新語句。

一、INSERT和REPLACE

INSERT和REPLACE語句的功能都是向表中插入新的資料。這兩條語句的語法類似。它們的主要區別是如何處理重複的資料。

1. INSERT的一般用法

MySQL中的INSERT語句和標準的INSERT不太一樣,在標準的SQL語句中,一次插入一條記錄的INSERT語句只有一種形式。

INSERT INTO tablename(列名…) VALUES(列值);

而在MySQL中還有另外一種形式。

INSERT INTO tablename SET column_name1 = value1, column_name2 = value2,…;

第一種方法將列名和列值分開了,在使用時,列名必須和列值的數一致。如下面的語句向users表中插入了一條記錄:

INSERT INTO users(id, name, age) VALUES(123, '王曉明', 25);

第二種方法容許列名和列值成對出現和使用,如下面的語句將產生中樣的效果。

INSERT INTO users SET id = 123, name = '王曉明', age = 25;

如果使用了SET模式,必須至少為一列賦值。如果某一個欄位使用了預設值(如預設或自增值),這兩種方法都可以省略這些欄位。
如id欄位上使用了自增值,上面兩條語句可以寫成如下形式:

INSERT INTO users (name, age) VALUES('王曉明',25);

INSERT INTO uses SET name = '王曉明', age = 25;

MySQL在VALUES上也做了些變化。如果VALUES中什麼都不寫,那MySQL將使用表中每一列的預設值來插入新記錄。

INSERT INTO users () VALUES();

如果表名後什麼都不寫,就表示向表中所有的欄位賦值。使用這種模式,不僅在VALUES中的值要和列數一致,而且順序不能顛倒。
INSERT INTO users VALUES(123, '王曉明', 25);

如果將INSERT語句寫成如下形式MySQL將會報錯。

INSERT INTO users VALUES('王曉明',25);
------------------------------------------------------------------------
2. 使用INSERT插入多條記錄

看到這個標題也許大家會問,這有什麼好說的,呼叫多次INSERT語句不就可以插入多條記錄了嗎!
但使用這種方法要增加伺服器的負荷,因為,執行每一次SQL伺服器都要同樣對SQL進行分析、改善等操作。
幸好MySQL提供了另一種解決專案,就是使用一條INSERT語句來插入多條記錄。
這並不是標準的SQL語法,因此只能在MySQL中使用。

INSERT INTO users(name, age)

VALUES('王曉明', 25), ('比爾.蓋茨', 50), ('火星人', 600);

上面的INSERT 語句向users表中連續插入了3條記錄。
值得注意的是,上面的INSERT語句中的VALUES後必須每一條記錄的值放到一對(…)中,中間使用","分割。
假設有一個表table1

CREATE TABLE table1(n INT);

如果要向table1中插入5條記錄,下面寫法是錯誤的:

INSERT INTO table1 (i) VALUES(1,2,3,4,5);

MySQL將會拋出下面的錯誤

ERROR 1136: Column count doesn't match value count at row 1

而正確的寫法應該是這樣:

INSERT INTO t able1(i) VALUES(1),(2),(3),(4),(5);

當然,這種寫法也可以省略列名,這樣每一對括號裡的值的數目必須一致,而且這個數目必須和列數一致。如:

INSERT INTO t able1 VALUES(1),(2),(3),(4),(5);
------------------------------------------------------------------------
3. REPLACE語句

我們在使用資料庫時可能會經常遇到這種情況。如果一個表在一個欄位上建立了唯一索引,當我們再向這個表中使用已經存在的鍵值插入一條記錄,那將會拋出一個主鍵衝突的錯誤。
當然,我們可能想用新記錄的值來覆蓋原來的記錄值。如果使用傳統的做法,必須先使用DELETE語句刪除原先的記錄,然後再使用INSERT插入新的記錄。而在MySQL中為我們提供了一種新的解決專案,這就是REPLACE語句。
使用REPLACE插入一條記錄時,如果不重複,REPLACE就和INSERT的功能一樣,如果有重複記錄,REPLACE就使用新記錄的值來取代原來的記錄值。

使用REPLACE的最大好處就是可以將DELETE和INSERT合二為一,形成一個原子操作。
這樣就可以不必考慮在同時使用DELETE和INSERT時加入事務等複雜操作了。

在使用REPLACE時,表中必須有唯一索引,而且這個索引所在的欄位不能容許空值,否則REPLACE就和INSERT完全一樣的。

在執行REPLACE後,系統返回了所影響的行數,如果返回1,說明在表中並沒有重複的記錄,如果返回2,說明有一條重複記錄,系統自動先呼叫了DELETE刪除這條記錄,然後再記錄用INSERT來插入這條記錄。
如果返回的值大於2,那說明有多個唯一索引,有多條記錄被刪除和插入。

REPLACE的語法和INSERT非常的相似,如下面的REPLACE語句是插入或更新一條記錄。

REPLACE INTO users (id,name,age) VALUES(123, '趙樹海', 50);

插入多條記錄:

REPLACE INTO users(id, name, age)

VALUES(123, '趙樹海', 50), (134,'Mary',15);

REPLACE也可以使用SET語句

REPLACE INTO users SET id = 123, name = '趙樹海', age = 50;

上面曾提到REPLACE可能影響3條以上的記錄,這是因為在表中有超過一個的唯一索引。在這種情況下,REPLACE將考慮每一個唯一索引,並對每一個索引對應的重複記錄都刪除,然後插入這條新記錄。假設有一個table1表,有3個欄位a, b, c。它們都有一個唯一索引。

CREATE TABLE table1(a INT NOT NULL UNIQUE,b INT NOT NULL UNIQUE,c INT NOT NULL UNIQUE);

假設table1中已經有了3條記錄

a b c

1 1 1

2 2 2

3 3 3

下面我們使用REPLACE語句向table1中插入一條記錄。

REPLACE INTO table1(a, b, c) VALUES(1,2,3);

返回的結果如下

Query OK, 4 rows affected (0.00 sec)

在table1中的記錄如下

a b c

1 2 3

我們可以看到,REPLACE將原先的3條記錄都刪除了,然後將(1, 2, 3)插入。
------------------------------------------------------------------------
二、UPDATE

UPDATE的功能是更新表中的資料。這的語法和INSERT的第二種用法相似。必須提供表名以及SET表達式,在後面可以加WHERE以限制更新的記錄範圍。

UPDATE table_anem SET column_name1 = value1, column_name2 = value2, ...

WHERE ... ;

如下面的語句將users表中id等於123的記錄的age改為24

UPDATE users SET age = 24 WHERE id = 123;

同樣,可以使用UPDATE更新多個欄位的值 UPDATE users SET age = 24, name = 'Mike' WHERE id = 123;

上面的UPDATE語句通過WHERE指定一個條件,否則,UPDATE將更新表中的所有記錄的值。

在使用UPDATE更新記錄時,如果被更新的欄位的類型和所賦的值不符合時,MySQL將這個值轉換為相應類型的值。如果這個欄位是數值類型,而且所賦值超過了這個資料類型的最大範圍,那麼MySQL就將這個值轉換為這個範圍最大或最小值。如果字串太長,MySQL就將多餘的字串截去。如果設定非空欄位為空,那麼將這個欄位設定為它們的預設值,數字的預設值是0,字串的預設值是空串(不是null,是"")。

有兩種情況UPDATE不會對影響表中的資料。

1. 當WHERE中的條件在表中沒有記錄和它符合時。

2. 當我們將同樣的值賦給某個欄位時,如將欄位abc賦為'123',而abc的原值就是'123'。

和INSERT、REPLACE一樣,UPDATE也返回所更新的記錄數。但這些記錄數並不內含滿足WHERE條件的,但卻未被更新的記錄。如下同的UPDATE語句就未更新任何記錄。

UPDATE users SET age = 30 WHERE id = 12;

Query OK, 0 rows affected (0.00 sec)

需要注意的時,如果一個欄位的類型是TIMESTAMP,那麼這個欄位在其它欄位更新時自動更新。

在有些時候我們需要得到UPDATE所選取的行數,而不是被更新的行數。我們可以通過一些API來達到這個目的。如MySQL提供的C API提供了一個選項可以得到你想要的記錄數。而MySQL的JDBC驅動得到的預設記錄數也是符合的記錄數。

UPDATE和REPLACE基本類似,但是它們之間有兩點不同。

1. UPDATE在沒有符合記錄時什麼都不做,而REPLACE在有重複記錄時更新,在沒有重複記錄時插入。

2. UPDATE可以選取性地更新記錄的一部分欄位。而REPLACE在發現有重複記錄時就將這條記錄徹底刪除,再插入新的記錄。也就是說,將所有的欄位都更新了。
------------------------------------------------------------------------
三、DELETE和TRUNCATE TABLE

在MySQL中有兩種方法可以刪除資料,一種是DELETE語句,另一種是TRUNCATE TABLE語句。DELETE語句可以通過WHERE對要刪除的記錄進行選取。而使用TRUNCATE TABLE將刪除表中的所有記錄。因此,DELETE語句更靈活。

如果要清理表中的所有記錄,可以使用下面的兩種方法:

DELETE FROM table1

TRUNCATE TABLE table1

其中第二條記錄中的TABLE是可選的。

如果要刪除表中的部分記錄,只能使用DELETE語句。

DELETE FROM table1 WHERE ...;

如果DELETE不加WHERE子句,那麼它和TRUNCATE TABLE是一樣的,但它們有一點不同,那就是DELETE可以返回被刪除的記錄數,而TRUNCATE TABLE返回的是0。

如果一個表中有自增欄位,使用TRUNCATE TABLE和沒有WHERE子句的DELETE刪除所有記錄後,這個自增欄位將起始值恢復成1.如果你不想這樣做的話,可以在DELETE語句中加上永真的WHERE,如WHERE 1或WHERE true。

DELETE FROM table1 WHERE 1;

上面的語句在執行時將掃瞄每一條記錄。
但它並不比較,因為這個WHERE條件永遠為true。
這樣做雖然可以保持自增的最大值,但由於它是掃瞄了所有的記錄,因此,它的執行成本要比沒有WHERE子句的DELETE大得多。

DELETE和TRUNCATE TABLE的最大區別是DELETE可以通過WHERE語句選取要刪除的記錄。
但執行得速度不快。
而且還可以返回被刪除的記錄數。
而TRUNCATE TABLE無法刪除特殊的記錄,而且不能返回被刪除的記錄。
但它執行得非常快。

和標準的SQL語句不同,DELETE支援ORDER BY和LIMIT子句,通過這兩個子句,我們可以更好地控制要刪除的記錄。
如當我們只想刪除WHERE子句過濾出來的記錄的一部分,可以使用LIMIB,如果要刪除後幾條記錄,可以通過ORDER BY和LIMIT配合使用。
假設我們要刪除users表中name等於"Mike"的前6條記錄。可以使用如下的DELETE語句:

DELETE FROM users WHERE name = 'Mike' LIMIT 6;

一般MySQL並不確定刪除的這6條記錄是哪6條,為了更保險,我們可以使用ORDER BY對記錄進行排序。

DELETE FROM users WHERE name = 'Mike' ORDER BY id DESC LIMIT 6;
『將軍』你是武藝高強?膽識過人?精通騎射?您生錯時代啦!
『戰馬』你是汗血寶馬?善奔能越?躍馬中原?此戰場沒有你的舞台!
動態的架站程式時代,要自訂PHP程式頁面有那麼難嗎?
MySQL『資料庫』與『資料表』,用PHP程式有那麼難呼叫嗎?
不用死背『PHP程式』與『MySQL資料庫』語法也能設計嗎?
這是自動化軟體程式的年代(用PHPMaker設計在彈指之間完成)
這不是:神話!程式軟體模組取代了這一切複雜的工程
死背『PHP程式』與『MySQL資料庫』語法,是為學校考試用的!
因為,有些人的技術已經離這個網站的實用性非常遙遠!
------------------------------------------------------------
大家都知道網路創業的好處:
1.初期建置網站金額較低,甚至零成本。
2.初期人事、水電成本較低。
3.網路店面比較沒有曝光的地區限制(除非產品、物流、語言的限制)。
4.消費者可以在任何時間瀏覽與選購商品(24小時營業)。
5.初期可採用眾多的網路平台,免費宣傳、曝光方式,之後再採用付費的方式,提高效益。
6.即使沒有成功,成本損失也較低。


想要網路創業自動賺錢,你應該具備那些專業技能呢?

那座而言不如起而行,如何開始您的第一步行動呢?

1.先評估自己會什麼網路技能?不會那些網路技能?
將自己的優勢寫下來,也將自己需要進修的專業技能逐一記錄下來

2.找到您需要的課程(利用下班時間,努力精研)
最好是影片課程,不要只是一般書店的書籍或網路電子書
(因為圖片與文字根本學習效率不好,無法有效迅速學會,學習中有問題要問誰?)
實際網路經營時發生網站語法錯誤或網站被駭客入侵!
那您最好有個專業『會程式語言與架設主機』的老師可以免費技術諮詢
不然,一發生問題,您的網路事業就停擺了,網站一停就無收入!
(就好像上班放無薪假一樣....悽慘!)。
有甚至網站資料全毀,資料庫也出問題,你要在第一時間內就能快速修護!
這一點你可要小心!網路創業絕對要有:技術諮詢!
迅速回覆的專業老師(或專業技術顧問)。
不然,就像大海裡頭的孤鳥,叫天天不應,叫地地也不靈
(自己閉門造車摸索是網路創業者最悲慘的失敗原因!)。


attachments/201208/5398530876.jpg

2.你的網站要自己架設!
(請人設計網站費用貴,小則三四萬高者也有十幾萬元的,往後網站維護也不方便!)

這方面你可以學習:
1.網站架設與網頁設計教學
詳細介紹:
http://por.tw/Website_Design/E_learning/index.php
長期技術支援網站:
http://por.tw/Website_Design

2.購物網站架站教學
詳細介紹:
http://por.tw/sale/cmmerse-4-all/index.php
長期技術支援網站:
http://por.tw/sale

3.部落格架站、行銷、賺錢術教學
詳細介紹:
http://por.tw/blog/E_learning/index.php
長期技術支援網站:
http://por.tw/blog

4.PHP+MySQL+PHPMaker+Dreamweaver整合教學
(PHPMaker運用設計網站教學)

詳細介紹:
http://por.tw/php/new-E_learning/index.php
長期技術支援網站:
http://por.tw/php

5.Flash-動畫製作教學
詳細介紹:
http://por.tw/flash/new-E_learning/index.php
長期技術支援網站:
http://por.tw/flash
-------------------------------------------------------------------------
3.網站圖片非常重要,你如果不會拍照與修圖,那您就要學習:
商業商品攝影教學
詳細介紹:
http://por.tw/design/photographing_Course/index.php
長期技術支援網站:
http://por.tw/design
-------------------------------------------------------------------------
4.影片能讓您的網站更出色,如果您不會錄影
或影片剪接、編輯、上字幕、做特效,那您就要學習:

【錄影影片製作】技術教學
詳細介紹:
http://por.tw/photo-video/video_Course/index.php
長期技術支援網站:
http://por.tw/photo-video
-------------------------------------------------------------------------
5.有了網站,接下來就是『如何將網站經營的有聲有色?』
這就需要專業的網路行銷技術:
A.搜尋引擎排名SEO教學
詳細介紹:
http://por.tw/seo/new-seo/index.php
長期技術支援網站:
http://por.tw/seo

B.EDM電子報製作教學
詳細介紹:
http://por.tw/edm/edm_Marketing/index.php
長期技術支援網站:
http://por.tw/edm

C.電子書製作賺錢密技教學
詳細介紹:
http://por.tw/ebook/new-ebook/index.php
長期技術支援網站:
http://por.tw/ebook

D.【訂單王】超級網路秒殺成交法-A-page 【一頁定江山】行銷賺錢術
詳細介紹:
http://por.tw/page/new-E_learning/index.php
長期技術支援網站:
http://por.tw/page
-------------------------------------------------------------------------
6.如果您想要學習『專案方式』的專業技能,您可以學習:
A.「網路創業賺錢_如何從網路創業賺錢賺到第一個100萬!」課程
詳細介紹:
http://por.tw/soho/new-E_learning/index.php
長期技術支援網站:
http://por.tw/soho

B.藉助『程式』邁向網路自動賺錢術(Auto Rich -自富課程)
詳細介紹:
http://por.tw/Rich/new-E_learning/index.php
長期技術支援網站:
http://por.tw/Rich

C.【正印家族】授權營運專案‧自動印鈔機賺錢術
詳細介紹:
http://por.tw/money/new-E_learning/index.php
長期技術支援網站:
http://por.tw/money
-------------------------------------------------------------------------
7.您的網站可以用兩種方式經營
1.是租用虛擬主機
(創業初期,如果尚無長遠規劃可租虛擬主機空間架設網站)

2.是自己擁有獨立主機!
如果您有此長遠的規劃,那您可以申購此服務:
替你架設Linux主機伺服器+影片教你維護(還有遠端技術協助)讓你自己當家作主!
http://por.tw/linux/new-E_learning/index.php
長期技術支援網站:
http://por.tw/linux
-------------------------------------------------------------------------
8.此外,如果你對國外軟體感覺不好用,那您可以學習:
軟體中文化實戰教學影片
軟體中文化實戰教學影片教學詳細介紹:
http://por.tw/f2blog/new-E_learning/index.php
長期技術支援網站:
http://por.tw/f2blog

不論是英文、日文、大陸簡體或其他軟體,能透過軟體中文化技術變成:繁體中文版
那在網路事業的經營上,所有要用到的軟體,就能通通變成:繁體中文版啦!
那是業經營起來當然是:得心應手!手到擒來!

-------------------------------------------------------------------------

使用php程式的五個小技巧

使用php程式的五個小技巧
 
php程式的一些小技巧,這些比較基礎,總結一下(
如果你是老鳥那就當成複習吧)。

1. str_replace

str_replace是非常常常常常用的php函數,用於字串置換,經常看到某些php新人為了置換一批字串,寫了好多行str_replace,實在是慘不忍睹。

比如這個例子:

$str = '某人的棲息地 --- www.abc.net';

$str = str_replace('某人', '壞人', $str);

$str = str_replace('的', 'di', $str);

$str = str_replace('棲息地', '豬窩窩', $str);

$str = str_replace('www.abc.net', 'abc.net', $str);

以上,置換了4次字串,實際只要換個寫法,一行就搞定了:

$str = '某人的棲息地 --- www.abc.net';

$str = str_replace(array('某人', '的', '棲息地', 'www.abc.net'), array('壞人', 'di', '豬窩窩', 'abc.net'), $str);

 

2. array

經常看到有人拿陣列這樣寫:

echo $arr[some_key];

上面這行代碼能跑,看上去也沒什麼大問題,但是如果你把php.ini的error notice開啟的話,會收到一大批error。
php解析器首先是拿「some_key」當作一個常量來解釋的,但如果沒有定義some_key這樣一個常量,解析器還是很寬容的把它當作了一個字串來看待。
因此新人同學們最好寫完整一點:

echo $arr['some_key'];

這樣就沒有問題了,如果你要把它放在雙引號中連用,也不能省掉引號,可以這樣寫:

echo "這是混在雙引號中的字串{$arr['some_key']}";

 

3. 類型戲法

類型戲法相當好用,比如有一個表單送出過來的變量,標準情況下它應該是整型的,有時候偷懶省去校驗的寫法可以是這樣的:

$intVar = (int)$_POST['post_var'];

再比如陣列,有時候寫鍵值要打引號是不是很不爽啊,我們可以把它轉換成object,比如:

$arr = array('name' => 'volcano', 'sex' => 'male');

$arr = (object)$arr;

echo $arr->name;

echo $arr->sex;

是不是很省事?

 

4. lambda函數

lamda函數和array_*系列函數使用有奇效,拿php手冊上的一個例子來說:

<?php

$av = array("the ", "a ", "that ", "this ");

array_walk($av, create_function('&$v,$k', '$v = $v . "mango";'));

print_r($av);

?>

至少省了一個for迴圈

 

5. 嵌套迴圈顯示表格的單元格

嵌套迴圈顯示表格的單元格,這是一個很老的話題哦,往往會要在某個單元格後邊加個條件判斷什麼的,考慮是不是要輸出tr抑或是td標籤。

俺這裡介紹一個辦法,利用array_chunk函數能夠比較工整的輸出html,見下例,這個例子要輸出一個4行6列的表格:

<?php

$arr = range(1, 24); //這個會生成一個陣列array(1,2,3,4....24)

$arr = array_chunk($arr, 6);

// output table

?>

<table> <?php foreach($arr as $row): ?> <tr> <?php foreach($row as $col):?> <td><?php echo $col?></td> <?php endforeach;?> </tr> <?php endforeach;?> </table>

PHP代碼自動生成工具-PHPMaker 7 繁體中文化版

PHP代碼自動生成工具-PHPMaker 7 繁體中文化版

PHPMaker 是由 e.World Technology 開發的 PHP 代碼自動生成工具。
PHP代碼自動生成工具,一款在Windows平台上運行的基於MYSQL資料庫自動生成PHP腳本的軟體。
使用生成的PPHP代碼自動生成工具,一款在Windows平台上運行的基於MYSQL資料庫自動生成PHP腳本的軟體。
使用生成的PHP代碼,你可以通過WEB網頁對資料庫的記錄進行瀏覽、修改、查詢、加入和刪除。
利用它你只需幾步就可以得到完整的PHP代碼。
清晰易懂的生成代碼,方便開發人員在其基礎上二次開發。

attachments/201009/4740736531.png

PHPMaker是一個強大的自動化工具,可以生成一套完整的PHP迅速從 MySQL和PostgreSQL,Microsoft Access和Microsoft SQL Server資料庫。
使用PHPMaker,你可以立即建立的網站,容許使用者檢視,編輯,搜尋,加入和刪除記錄在網頁上。
PHPMaker是專為高度的彈性,許多選項可以生成PHP應用程式最適合您的需要。
生成的代碼是乾淨,簡單和易於定制。
PHP的腳本可以運行在Windows伺服器(MySQL的/ PostgreSQL的/訪問 / MSSQL)或Linux / Unix伺服器(MySQL的/ PostgreSQL的)。
PHPMaker噸可以節省你的時間和適合初學者和有經驗的develpers一樣。

attachments/201009/2973111442.png
 
PHPMaker is a powerful automation tool that can generate a full set of PHP quickly from MySQL, PostgreSQL, Microsoft Access and Microsoft SQL Server databases.
Using PHPMaker, you can instantly create web sites that allow users to view, edit, search, add and delete records on the web.
PHPMaker is designed for high flexibility, numerous options enable you to generate PHP applications that best suits your needs.
The generated codes are clean, straightforward and easy-to-customize.
The PHP scripts can be run on Windows servers (MySQL/PostgreSQL/Access/MSSQL) or Linux/Unix servers (MySQL/PostgreSQL).
PHPMaker can save you tons of time and is suitable for both beginners and experienced develpers alike.

提示: PHP代碼自動生成工具-PHPMaker 7原版是英文版,中文化非常不容易(有些字串不能動,否則生成程式時會發生錯誤,程式變成廢物不能用),再則生成程式的編碼只有一種,中文有Big5與UTF-8兩種編碼,程式編碼如果不修改則中文會產生『亂碼』如此好工具國人根本無法使用,目前全世界都找不到繁體中文化版(注意:不是封包語系檔喔!)。總教頭發很多時間修改,終於完成完整的【PHPMaker 7 繁體中文化版】,配合影片教學,那設計PHP程式結合MySQL資料庫的運用就得以快速產生,真可說是:PHP結合MySQL程式開發的神兵利器,再配合使用DreamweaverCSS樣式修改美化版面,那就可以讓很多PHP網站程式依據自己需要開發了!所以報名學習:【PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用設計網站教學)】課程就可獲得【PHPMaker 7 繁體中文化版】及程式開發技術!獨家技術、讓你快速商業運用,成為PHP程式開發高手。


標籤: PHPMaker
PHP程式設計問題諮詢:
要如何使Html/PHP格式的字串不被解釋,而是照原樣顯示?


---------------------------------------------------------
PHP程式設計問題回覆:
使Html/PHP格式的字串不被解釋,你可以這樣處理:

<?PHP
$str="<h1>PHP</h1>";
Echo "被解釋過的: ".$str."<br>經過處理的:";
Echo  htmlentities(nl2br($str));
?>
---------------------------------------------------------

改善PHP開發模式的方法

改善PHP開發模式的方法
  
關於如何使用PHP語系來開發應用程式,我們每個人都有自己的技巧和方法。
實際上,我們大家都知道,有很多種模式和方法可以讓開發變得更加簡單。
儘管如此,還是有一些方法,尤其是編碼樣式和習慣,是大家公認的。
我們列舉出了可以改善PHP開發模式的方法。

我們不應該輕視代碼的組織,選取的編碼樣式應該是事先約定好的,許多人只是隨機的在做這些事情,這讓他們的代碼變得十分混亂,十分令人難以理解。

你可以在那裡宣稱自己是最好的開發者,但是,如果你的代碼缺乏良好的組織,你是不會走的太遠的。
舉個例子,比如說,在當地的社區大學中,你是一名教師。
如果你決定從初級和進階的資料中隨機地選取一大堆知識,然後按照這種順序把這些知識教授給你的學生
而不是從初級到進階,循序漸進地教授給你的學生,那麼你的學生們會十分困惑,而且,作為一名教師,他們是不會歡迎你的,如果他們不歡迎你,他們就不會上你的課。

我的觀點是,找出一種適合你的組織方法和編碼樣式,並且一直堅持下去,這樣的話,你的代碼的組織和配置會變得十分有條理。

對於獨立的開發者來說,內定檔案並不是很流行,它主要是面向企業項目和開源項目的。
但是,這並不是說,內定檔案對你的項目沒有好處。對於你的項目來說,內定檔案是改善你的編碼和工作模式的重中之重。

許多支援PHP的整合開發環境(IDE)都支援內定檔案,這可以說明你記住你建立那些函數的時候用了哪些參數,或是,那些函數的功能是什麼?

如果你把你的項目移交給另外一個開發者或團隊,他們一定會對這份內定檔案心存感激的,因為它傳遞了和PHP項目(尤其是那些規模較大的PHP項目)有關的大量訊息。
 

隱藏apache和php的版本訊息可以盡量減少敏感訊息洩露的方法,並不會使你的伺服器真的更安全,如果你現在使用的版本比較舊,請務必盡快將系統升級,降低被蠕蟲攻擊的風險。

隱藏apache和php的版本訊息,web server避免一些不必要的麻煩,可以把apache和php的版本訊息不顯示


隱藏 Apache 版本訊息

/etc/apache2/apache2.conf 或 /etc/httpd/conf/httpd.conf

ServerTokens ProductOnly
ServerSignature Off

重啟 apache
現在 http 頭裡面只看到:
Server: Apache

隱藏 PHP 版本
php.ini

expose_php On
改成
expose_php Off

重啟apache後,php版本在http頭中隱藏了。

詳解 :

為了防止某些別有用心的傢伙窺視我們的伺服器,應該做些什麼.
我們來看一下關聯的2個參數,分別為ServerTokens和ServerSignature,通過控制這2個閥門應該就能起到一些作用,比如我們可以在配置檔案中這麼寫:
ServerTokens Prod
ServerSignature Off

ServerTokens
用於控制伺服器是否相應來自使用者端的請求,向使用者端輸出伺服器系統類型或內建模組等重要的系統訊息。 在主配置檔案中提供全局控制預設閥值為"Full"(ServerTokens Full),所以,如果你的Linux發行版本沒有變更過這個閥值的話,所有與你的系統有關的敏感訊息都會向全世界公開。比如RHEL會將該 閥值變更為"ServerTokens OS",而Debian依然使用預設的"Full"閥值
以apache-2.0.55為例,閥值可以設定為以下某項(後面為相對應的Banner Header):
Prod >>> Server: Apache
Major >>> Server: Apache/2
Minor >>> Server: Apache/2.0
Minimal >>> Server: Apache/2.0.55
OS >>> Server: Apache/2.0.55 (Debian)
Full (or not specified) default >>> Server: Apache/2.0.55 (Debian) PHP/5.1.2-1+b1 mod_ssl/2.0.55 OpenSSL/0.9.8b

ServerSignature
控制由系統生成的頁面(錯誤訊息,mod_proxy ftp directory listing等等)的頁腳中如何顯示訊息。

可在全局設定檔案中控制,或是通過.htaccess檔案控制
預設為"off"(ServerSignature Off),有些Linux發行版本可能會開啟這個閥門,比如Debian在預設的虛擬主電腦上預設將這個閥門設定為開放
全局閥門的閥值會被虛擬主電腦或目錄單位的配置檔案中的閥值所覆蓋,所以,必須確保這樣的事情不應該發生
可用的閥值為下面所示:
Off (default): 不輸出任何頁腳訊息 (如同Apache1.2以及更舊版本,用於迷惑)
On:輸出一行關於版本號以及處於運行中的虛擬主電腦的ServerName (2.0.44之後的版本,由ServerTokens負責是否輸出版本號)
EMail: 建立一個傳輸到給ServerAdmin的"mailto"

注意:上述關於如何設定2個閥門從而盡量減少敏感訊息洩露的方法,並不會使你的伺服器真的更安全,如果你現在使用的版本比較舊,請務必盡快將系統升級,降低被蠕蟲攻擊的風險。

本PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用設計網站教學)密訓基地立志於收集各類PHP程式設計、MySQL資料庫及網頁設計技術教學資訊,便於本人和廣大網友及網友查詢檢索,無論公司或個人認為本站存在侵權內容均可與本站聯繫,任何此類反饋資訊一經查明屬實後,將立即移除!