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程式設計時日期錯誤,PHPDate()出現錯誤的具體解決辦法

PHPDate()出現錯誤的具體解決辦法

PHPDate()出現錯誤對於新手來說是比較頭疼的一件事情。
我們給出了具體的解決方法,希望對大家有所說明。

我們在運用PHPDate()這個函數取得時間資料的時候,經常會遇到不準確等一系列問題。
下面我們將為大家具體講解PHPDate()出現錯誤的關聯解決辦法。


取得系統時間時,發現取得的時間與系統的時間不符。
今天用echo date("Y-m-dH:i:s")取得系統時間時,發現取得的時間與系統的時間不符。

PHP是外國人開發的,所以經常有很多東西不太好用。
研究了一番發現,PHP預設設定的時間是以格林威治時區為標準的,表現是和北京時間差8個小時,因此我們需要將其+8個小時,原理是我們正好位於時區的東8區,所以我們必須把PHP的時區設定改為台北時間。

PHPDate()出現錯誤的具體解決方法:

開啟PHP.ini檔案,一般在PHP的安裝根目錄下
找到其中的:date.timezone
刪掉date.timezone前面的分號,並改成:date.timezone=Asia/Taipei
存檔,並重新啟動Apahce服務(有時用Apache的restart功能會有問題,建議先stop然後再start)
重新檢驗一下echodate("Y-m-dH:i:s")。
是不是時間還原標準了
--------------------------------------------------------------------------------------
如果無法改動PHP.ini檔案,也可以在輸出時間之前使用date_default_timezone_set()設定時區

date_default_timezone_set('Asia/Shanghai');

函數date_default_timezone_set(timezone)與date_default_timezone_get()

以上就是PHPDate()出現錯誤的關聯解決方法。

--------------------------------------------------------------------------------------
調整時區

<?echo date("Y-m-d H:i:s",mktime (date(H)+15, date(i), date(s), date(m), date(d), date(Y)))?>
--------------------------------------------------------------------------------------

網站經營一陣子後,內容越來越多(MySql資料庫就會變成很大)
有些架站程式後台可以備份與還原(會自動分割)
所以網站的備份與還原當然沒有問題!
但是萬一你的網站或架站程式並沒有此功能時
您使用phpMyAdmin將MySQL資料庫匯出時當然沒有問題
但是當你要還原(匯入)時,可能就匯出現:MySql檔案過大無法匯入的窘境!
那該怎麼辦呢?


使用phpmyadmin匯出與匯入方式更換MySql Server時
若在匯入時遇到"你正嘗試上載大容量檔案,請查看此文件如何略過此限制"的訊息.這是因為匯入的檔超過限制。

-----------------------------------------------------------
總教頭教你解決的辦法如下:

下載BigDump這個軟體,下載網址:

http://www.ozerov.de/bigdump.zip

官方網址:http://www.ozerov.de/bigdump/

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

接下來自動將SQL檔案分割上傳:

1. 下載 BigDump
2. 在轉檔Server的Web根目錄下建立暫存目錄(例如:temp),解壓縮bigdump.php與將要匯入的sql檔放於該暫存目錄下
3. 修改bigdump.php檔案

$db_server = ""; //server位址,一般為 "localhost"
$db_name = "AAA"; //MySql資料庫名稱
$db_username = "BBB"; //MySql帳號
$db_password = "CCC"; //MySql密碼

4.匯入mysql檔案:  http://你的網站網址/temp(暫存檔目錄)/bigdump.php
-----------------------------------------------------------
若使用BigDump 後仍然發生 max_allowed_packet 問題

解決方法:

vi /etc/my.ini
在[mysqld]項下增加如下敘述
max_allowed_packet=64M

重新啟動 MySQL 即可大功告成!
-----------------------------------------------------------
標籤: mysql phpMyAdmin

為什麼我得不到變數(PHP程式教學問與答)

問題:我在一網頁向另一網頁POST資料name,為什麼輸出$name時卻得不到任何值?

技術回覆:在PHP4.2以後的版本中register_global預設為off

  若想取得從另一頁面送出的變數:

方法一:在PHP.ini中找到register_global,並把它設定為on.

方法二:在接收網頁最前面放上這個extract($_POST);extract($_GET);(注意extract($_SESSION)前必須要有Session_Start()).

方法三:一個一個讀取變數$a=$_GET["a"];$b=$_POST["b"]等,這種方法雖然麻煩,但比較安全.

  2:除錯你的程式

在運行時必須知道某個變數為何值。我是這樣做的,建立一檔案debug.php,其內容如下:

<?PHP
Ob_Start();
Session_Start();
Echo "<pre>";

Echo "本頁得到的_GET變數有:";
Print_R($_GET);

Echo "本頁得到的_POST變數有:";
Print_R($_POST);

Echo "本頁得到的_COOKIE變數有:";

Print_R($_COOKIE);

Echo "本頁得到的_SESSION變數有:";
Print_R($_SESSION);
Echo "</pre>";
?>

然後在php.ini中設定:include_path = "c:/php",並將debug.php放在此檔夾,以後就可以在每個網頁裏包括此檔,檢視得到的變數名和值.

  3:如何使用session

凡是與session有關的,之前必須呼叫函數session_start();

為session付值很簡單,如:

<?php
Session_start();
$Name = "這是一個Session例子";
Session_Register("Name");//注意,不要寫成:Session_Register("$Name");
Echo $_SESSION["Name"];
//之後$_SESSION["Name"]為"這是一個Session例子"
?>

在php4.2之後,可以為session直接付值:

<?PHP
Session_Start();
$_SESSION["name"]="value";
?>

取消session可以這樣:

<?php
session_start();
session_unset();
session_destroy();
?>
取消某個session變數在php4.2以上還有BUG.

注意:

1:在呼叫Session_Start()之前不能有任何輸出.例如下面是錯誤的.
==========================================
1行
2行 <?PHP
3行 Session_Start();//之前在第一行已經有輸出
4行 .....
5行 ?>
==========================================


提示1:

凡是出現"........headers already sent..........",就是Session_Start()之前嚮流覽器輸出資訊.

去掉輸出就標準,(COOKIE也會出現這種錯誤,錯誤原因一樣)

提示2:


如果你的Session_Start()放在迴圈語句裏,並且很難確定之前哪裡向流覽器輸出資訊,可以用下面這種方法:

1行 <?PHP Ob_Start(); ?>
........這裏是你的程式......

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

解決MySQL server has gone away的問題

解決MySQL server has gone away的問題

 
你是否曾遇見過 「MySql serverhas gone away」,一句讓人其實非常琢磨不透的錯誤訊息。

對這個問題請先別懷疑自己的代碼是否有問題,其實可能只不過是一個小小的設定問題。

我所碰到的情況就是,當你有大資料(資料大小大於1M)儲存到longblob欄位時,會出現這個問題。

起初也查了很久,是不是自己的代碼出錯,但使用的是PHP,不會向哪類編譯型語系有資料越界的可能,百思不得其解。

最終看了下mysql.ini,發現max_allowed_packet=1M,是不是這個預設設定值造成了此問題,把此設定值修改成max_allowed_packet=16M,問題真的解決了。

因此碰到此問題請先檢查自己的設定值是否有問題。

補充一句,不同版本的Mysql,此問題的錯誤訊息可能會不同。

PHP程式設計問題諮詢:
要怎麼在函數裏取得函數外的變數值?


---------------------------------------------------------
PHP程式設計問題回覆:
要在函數裏取得函數外的變數值,請看以下的範例:


<?PHP
$a="PHP";
foo();
Function foo()
{
global $a;//刪除這裏看看是什麼結果
Echo "$a";
}
?>
entities(nl2br($str));
?>
---------------------------------------------------------

隱藏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個閥門從而盡量減少敏感訊息洩露的方法,並不會使你的伺服器真的更安全,如果你現在使用的版本比較舊,請務必盡快將系統升級,降低被蠕蟲攻擊的風險。

你有沒有想要將Mysql資料庫中字符替換?

如何使用SQL語法,將MySQL資料表中的替換字串?

你有這樣的苦惱問題嗎?
當以SQL為資料庫的網站內有大量的文字要修改替換時,最陽春的方法就是一筆一筆的修改(那不是要出人命?)
可是如果需修改的數量龐大,那麼可能就會修改到暈倒了(至少會累倒進醫院吊點滴...)
最快的方法就是利用SQL語法替換字串:


你可以用以下的方法(快速的把字串刪除或換掉!)


phpMyAdmin 替換資料字串(使用phpMyAdmin進入資料庫執行SQL語法)
基本的語法範例如下:
UPDATE `資料表名稱` SET `資料表欄位` = REPLACE(`資料表欄位`,'要替換的文字','替換後的文字') WHERE `資料表欄位` LIKE '%要替換的文字%'

例如:要把logContent欄位中的『</div>』字串刪除!
UPDATE `f2cont_logs` SET `logContent` = REPLACE(`logContent`,'</div>','') WHERE `logContent` LIKE '%</div>%'
--------------------------------------------------------

又例如:要將網址「http://visdacom.com」換成「http://por.tw」!

 UPDATE `f2cont_logs` SET `logContent` = REPLACE(`logContent`,'http://visdacom.com','http://por.tw') WHERE `logContent` LIKE '%http://visdacom.com%'
--------------------------------------------------------
注意:要練習之前請先備份好資料庫不然把資料庫弄壞啦(又沒有備份檔案可以還原時)
我看你會笑不出來,懊惱不已捶胸頓足!

網站發生:Fatal error: Allowed memory size of 錯誤之處理

網站使用PHP程式去呼叫.dat的資料
在網站輸入搜尋就會有以下訊息產生:

Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 4023 bytes) in /var/www/web/data_04/index.php on line 34


你的伺服器上PHP設定的記憶容量太少了, 在php.ini裡將
memory_limit = 8M
改成
memory_limit = 32M

然后重啟apache就可以啦!

也可以通過在php程式申請大一些的記憶容量實現

ini_set( 'memory_limit', '32M' );

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

PHP程式設計問題諮詢:
如何比較兩個日期相差幾天?


---------------------------------------------------------
PHP程式設計問題回覆:
要如何比較兩個日期相差幾天,請看以下的範例:


<?PHP
$Date_1="2003-7-15";//也可以是:$Date_1="2003-6-25 23:29:14";
$Date_2="1982-10-1";
$Date_List_1=explode("-",$Date_1);
$Date_List_2=explode("-",$Date_2);
$d1=mktime(0,0,0,$Date_List_1[1],$Date_List_1[2],$Date_List_1[0]);
$d2=mktime(0,0,0,$Date_List_2[1],$Date_List_2[2],$Date_List_2[0]);
$Days=round(($d1-$d2)/3600/24);
Echo   "我已經奮鬥了 $Days 天^_^";
?>

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

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