顯示具有 網頁設計 標籤的文章。 顯示所有文章
顯示具有 網頁設計 標籤的文章。 顯示所有文章

20140920

用javascript限制文字輸入框(text)僅能輸入英文及數字

若要在文字輸入框限制只能輸入英文及數字,可以用以下的語法來達成: 
 
onkeyup="value=value.replace(/[^\w\.\/]/ig,'')"
 
 

20120626

PHP郵件亂碼問題

許多的郵件管理軟體(mail 2xxx之類)預設都是大五碼( BIG5 ),但阿批所撰寫的PHP,通常都是搭配多國語言UTF-8編碼,所以在寄送到此類郵件軟體的收件夾內時,時常收到大伙們來敲門訴說收到一堆火星文(亂碼),怎麼辦呢?阿批今天來解謎:


在php撰寫可用下列函式來進行轉換:
mb_convert_encoding("要轉換的文字'","big5","utf-8");


而在php的mail函式中,在header標頭檔也要加入:
Content-Type: text/plain; charset=big5";

只要兩步驟,就足以應付大部分的大五碼郵件軟體嚕!

20120506

PHP宣告時的

這是阿批今天在處理就主機中的資料所遇到的問題,有些寫法是以

short_open_tag = On


這是代表是否要開起簡易(簡短)開始標籤,如果你懶得一個一個檔案開起來加php,就先這樣做吧,不過如果遇到其他語言也是以

20120422

CKEditor 修改 Toolbar

今天有幸接收到上級命令,要修改線上圖文編輯器的工具列項目,修改完也順便來發一下文章分享如何修改 :)

阿批原本都使用FCKEditor,而現在為求穩定及效率,開始全面改用CKEditor 。

話不多說,來教大家如何設定,步驟很簡單

打開editor/config.js檔案

可以看到裡面預設有一段
CKEDITOR.editorConfig = function( config )
{
    // Define changes to default configuration here. For example:
    // config.language = 'fr';
    // config.uiColor = '#AADC6E';
};

此時阿批將裡面新增以下設定
CKEDITOR.editorConfig = function( config )
{
config.toolbar_Basic =
[    ['Bold', 'Italic','Underline'],
    ['NumberedList', 'BulletedList'],
    ['Link', 'Unlink'],
    ['Font','FontSize'],
    ['TextColor','BGColor']];
};

OK~依照您的需求,將工具列的名稱加入,即可得到您想要的畫面 :)

20120328

Wampserver之Apache打不開

今天阿批像往常一樣開機後就順手點了start Wampserver,但就在這時候....Apache打不開!!!

用了一下Test Port 80,出現了以下畫面:Microsofts=IIS/7.5,代表你的80port就是被這怪物默默吃掉的!

於是乎,阿批打開了電腦管理員,切換到"服務",找到了World Wide Web Public Services這個服務後,將他停止,並且為了防止以後再度發生被偷吃的情況,直接改成手動模式,需要再打開。



經過上述步驟之後,各位看倌煩請針對Apache start,您就可以看到綠色Wampserver Logo嚕!

20111225

解決MySQL server has gone away的無情警語

Hey, EV8D~阿批又來了,阿批這次嘗試要把檔案存到資料庫裡遇到了困難

也就是 MySQL server has gone away

OMG~實在是讓阿批一個頭兩個大,後來查了資料,才知道改php.ini沒有用(迷之音:廢話.....

後來改了Mysql的設定檔:my.ini (舊一點的版本是my.cfg


這裡呢,分成兩種情況...

1.如果你是因為SQL指令太過於冗長導致timeout才出現 MySQL server has gone away
那請您修改:
wait_timeout=2880000
interactive_timeout = 2880000    


2.如果你像阿批一樣要把檔案上載到資料庫儲存,則請修改:
max_allowed_packet = 10M(預設1M)

就這樣,各位看倌請動手試試看唷~~~~


阿批碎念:請別忘了修改後要restart mysql唷!



20100225

網頁內嵌編輯器(Fckeditor+Filemanager),讓你的網頁圖文並茂

今年的天氣不曉得是怎麼搞得~去大陸沒遇到下雪,回國隔天就下了...

接著過年一整天都沒出去,因為都在下雨T_T....

然後....阿批也有CASE要趕,所以只好....也乖乖待在家做CASE...

anyway....還是得做,就算世界末日也要做完阿(誤).....

----------我是言歸正傳的分隔線--------------

越來越多網站後台都會須要用到編輯器,一來是可以讓一些使用者更方便的編輯,二來有些人不想要寫程式,可以用編輯器蒙混一下(XD),再來就是.....阿批拖稿拖太久~連老師都看不下去了(誤)

這篇文章要介紹的是阿批最近使用的一款編輯器-Fckeditor

這款編輯器目前已有更新的強化版-Ckeditor...但是,卻沒有阿批想要的功能-圖片上傳 Orz,讓原本使用Ckeditor的阿批,瞬間被丟到垃圾山(喔~其實是心情跌到谷底拉~)...其實有第三方作者寫的程式一樣可以支援上傳,但只能做簡易的上傳,至於真的需要上傳的朋友可能還是不夠用,因此這篇文章還是以Fckeditor無痛內嵌為主!

雖說Ckeditor是較新的版本,但對像阿批這種
其實是跟一般的Fckeditor使用者沒有甚麼差別。而基於想要更方便的(其實是懶惰...)使用圖像上傳功能,於是download了Fckeditor來玩玩....

Fckeditor跟Ckeditor都是同一家公司的,所提供的原始碼都是免費的。而雖然Ckeditor較新且功能完整,但使用Fckeditor的網站還是佔多數(當然要尋求幫助也比較有門路)。可以先至官網玩玩看Demo的版本,但Demo版以Ckeditor為主,(上面的上傳圖片功能是騙人的:P,下載後不會有)

首要工作:認識一下會用到的檔案吧!

  • fckconfig.js:工具列設定、外觀設定...等等都靠它!
  • fckeditor.php:有提供php用的呼叫函式和功能。因為阿批是寫PHP,當然就要找它來幫我呼叫嚕!
  • fckeditor/editor/filemanager/connectors/php/config.php:圖片上傳的設定檔,稍後用到
  • 傳送及接收參數的頁面:放心,這邊阿批會寫一點範例給大家先玩玩!
主要是以上幾個檔案就可以很簡單的設定Fckeditor!再來就開始我們的Fckeditor簡易設定之旅!
1.打開你要置入的php頁面,加入:

include_once(“./fckeditor/fckeditor.php”) ; //呼叫fckeditor設定檔,也可把此檔放在你的include資料夾方便分類
$editor = new FCKeditor(‘fck_editor′) ; //new一個物件來用,要傳送的變數名稱,可自行修改
$
editor ->BasePath = ‘./fckeditor/’ ; //Fckeditor的路徑
$
editor ->ToolbarSet = 'Default' ;
$
editor ->Value = ‘Hello World’ ; //要顯示在編輯器內的預設文字,你可以把資料庫抓出來的內容變數丟在這邊。
$
editor ->Width = ‘500′; //編輯器寬度
$
editor ->Height = ‘400′; //編輯器高度 "; ";

2.因為要有參數傳送的路徑,所以我們給個Form,直接承上接續(方法不一定要照此,可自行變化)

echo "< /form action="接收的頁面路徑" method="post">
"; //建立表單(因網至設定問題,直接複製請把form前的斜線(/)拿掉

$editor ->Create() ;
//建立FCKeditor編輯器的物件
echo "< /form>
";
//結束form

3.以上程式碼已可顯示一個編輯器以供使用,但現今的網站都有搭配後端資料庫,故以下提供簡短的接收DATA的程式碼做接收示範
$content = $_POST['fck_editor'];
//接收編輯器的內容變數,因編輯器所Create時的變數為第1步驟程式碼所設定,故需一至(本例以fck_editor為變數名稱)

設定完以上的程式碼,就可以先玩一下編輯器了~OK~大功告成!!!總算........不對,還有圖片上傳功能啊!!!!
別急著走開~以下我們要介紹上傳圖片的設定,當然也是非常無痛的設定!

在首要準備工作的第三個檔案,位於
fckeditor/editor/filemanager/connectors/php/內,因阿批是使用php,所以就進入php資料夾來設定(若是其他語言的使用者則可以選擇其他的程式語言資料夾),內有一config.php檔案,打開並設定:

$Config['Enabled'] = true ; //預設是關閉的,只要將它設為true就可以開啟圖片上傳功能。

其他的設定在config檔案裡都有說明,路徑、擴充套件等等,就讓大家自己摸摸啦!!不然就等下次的教學文(誤!)OK~這次真的是大功告成!!!可以再偷懶一陣子了~XD

20090519

PHP -利用mkdir函數建立中文資料夾無亂碼方案

因為自己龜毛,想要在家族的網站上設立一個為使用者開啟個人資料夾的功能,因為這樣可以讓使用者方便將自己的東西直接上傳到資料夾內(先前的網站必須還要由管理者移動),管理者才不用事後移來移去(其實管理者很懶惰XD)

於是乎

這種想法產生就也伴隨著無止盡的殘忍後果

正當我很高興的mkdir("0777","中文")給它時...

蝦米,是亂碼!!!!!!

好吧,既然他誠心誠意的出現了

我也要大發慈悲的解決他!!!!

我找阿找,找遍怕太太(這大概只有老一輩玩過BBS的人才知道這個名稱吧~)和X學園,不是建議用英文就是講一堆廢話然後叫你不要有這個想法(這我要特別提出來講是因為,如果有一天你老闆同樣交代了這件事,你會沒試過就要跟他說沒辦法嗎?雖然並非老闆要求,但這種不敬業的態度我做不到)

於是乎有位鄉民暗丟水球給我,跟我講了另一個方法可試試看,真是太感謝了!!!!

我就去找了iconv來玩玩

結果,壓呼!!!!壓倒性的勝利....喔不,是暫時解決了這個問題!!!!

好,於是我高興到想要將他PO出來,因為我真的找不到這個問題的解決方案,而且我有一些也要說明阿~~~~

來來來,做法是這樣

$dir_name=iconv("utf8", "big5", $dir_name); //將資料夾名稱編碼為big5,utf8是我寫程式所用的編碼

$path="upload/reports/$dir_name"; //路徑,我習慣額外設定

mkdir($path,'0777'); //建立資料夾!!!!

就是這樣~~喵~~~

各位看倌不曉得看這麼多廢話後,你有沒有豁然睜大雙眼的感覺!!?

20090120

PHP轉存為EXCEL

這大概是用到爛的技術,但是,最近我在做另一個CASE時,卻遇到UTF8邊碼的問題,怎麼辦哩,來試試以下方法....

在一開始的地方,用很熟悉的header..


header("Content-Type: application/octetstream; name=test.xls; charset=UTF-8");

接下來是大家耳熟能詳的內容

header("Content-Disposition: attachment; filename=test.xls;");

header("Content-Transfer-Encoding: binary");

header("Cache-Control: cache, must-revalidate");

header("Pragma: public");

header("Pragma: no-cache”);;

header("Expires: 0");


重點來嚕,在結尾的地方,給他來個下馬威:

echo "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; CHARSET=UTF-8\">";

因為以前用的編碼是針對Big5,而EXCEL可以對Big5直接進行編碼的動作,但是遇到UTF-8卻像個害羞的小姑娘,甚麼事都不能做(...微軟這個小姑娘...),所以如果改用UTF-8的捧油,匯出表單的部分可以試試這個方法,當然,網路上還有其他用fopen()函數來做的檔案會出方式,大家也可以參考!

20081214

Wamp原來PHP版本有改

今天異想天開的把wamp更新版本

卻意外發現網頁開啟來都給我出現:

Use of undefined constant...

耶,發生什麼事......

雖然頁面照常執行,但還是股溝一下~看了一些資料,大概了解是PHP版本更新後帶來的問題,解決方法如下:

1.開啟你的php.ini

2.請找出error_reporting這一行

3.改成error_reporting=2039 (預設是E_ALL,改之前可以先備份)

好,大功告成,原本的網頁上都沒出現錯誤了!!!

20080627

創造屬於自己的Favicon

Favicon!?黑係啥?請看 ↓

←一圖道盡千言萬語...

在很久很久以前有做過這種東西的朋友一定知道,一定要用軟體,最有名的就是microangle,另外就是尺寸阿,自己畫阿...總而言之美工天賦不是很好(就像阿批一樣)的人,總是做到一半就投降,不然就得捨繁從簡,幾筆線條帶過Orz

現在呢,網路上提供許多工具讓大家製作ICON了,完全不用在電腦上安裝軟體了!

http://tools.dynamicdrive.com/favicon/

↑以上是阿批製作這次的FAVICON所用的網站,雖然還有提供這類服務的網站,但做出來的品質應該是沒有差滴,因此就請各位看倌善用股溝搜尋!!


  1. 阿批先加入欲製作成FAVICON的圖片
  2. Optional的地放可以選擇除了FAVICON的圖片外,要不要"順便"製作其他圖片,這邊提供32*32桌面圖示和48*48 XP用圖示(其實沒必要還分成給什麼用吧QQ)

  3. OK後就按下Create Icon的按鈕開始製作吧,很快就會幫您做好的!!(特別注意一下圖片擋不要超過150K)
阿批這次貪心點把Optional的選項全勾,下方一樣出現三個圖示的應用位置,確定無誤就Download FavIcon吧!




再來就是教大家如何把FavIcon發布到網路上!

在剛剛的頁面中,大家可以看到該網站很好心的提供了一條語法:






沒錯,整叢好好,就是這麼簡單,將href="/favicon.ico"的內容改成href="填入ICON的位置"即可。然後開啟你的網頁,將其貼在<head></head>之間,就可以了!!

20080625

Smarty With EzSQL


本來想早點發這一篇的,但是....我突然發現

新版的smarty幾乎都沒ezsqlˊˋ,於是乎,懶惰神經催眠下,我拖了好久...

今天不曉得發甚麼神經,就是非要把他搞好才要去睡,不然杏村小姐的希望會落空

廢話不多說,打完這一篇我要來去眠了~

如果各位看倌用的是舊版(在lib資料夾下有ezsql資料夾)那就不用在下載,新版的,請到這邊下載,謝謝合作ˇˇ,當然,如果不想用ezsql的看倌們,也可以自行用php的mysql函數撰寫,並設定成公用函數。

現在版新版設定開始解說:


  1. 將ezsql資料夾附至於libs底下(一搬來說並無規定一定要在libs底下,只是習慣上我覺得他屬於library)


  2. 打開/libs/ezsql/mysql/demo.php檔(該檔可說是專為像我這種懶人而設計的ˇˇ,如果有意自行摸索的看倌,可以直接參考/libs/ezsql/ez_sql_with_smarty.html,這是ezsql專為smarty設計的環境設定說明唷!)


  3. 發揮一下平時整理文件的習慣,阿批把他整理如下

    include_once "../shared/ez_sql_core.php";
    //ezsql的core檔,一定要在ez_sql_mysql.php檔前呼叫

    include_once "ez_sql_mysql.php";
    //主要用來設定ezsql的SQL和DB相關設定,亦提供mssql、oracle等知名資料庫設定

    $db = new ezSQL_mysql('DB_USER','DB_PASSWD','DB_NAME','DB_HOST');
    //打開ez_sql_mysql.php可看見該設定為一個class,故使用前請先new一下,並依上述填入連接DB時的設定

    最後,將上述三行另存為config.php(各位看倌可自行取名),並存於根目錄底下

  4. 以上是最基本的設定,再來就要測試我們的設定是不是有錯誤嚕,觀看ez_sql_with_smarty.html時可知,ezsql的作者創造這麼好用的東東,就是苦於php取資料時,使用到的mysql函數不盡其數。例如:
    mysql_connect("localhost", "mysql_user", "mysql_password")or die("could not connect");
    mysql_select_db("mydb");
    $result = mysql_query("SELECT id, name FROM mytable");
    while ($row = mysql_fetch_array($result)) {
    printf ("ID: %s Name: %s", $row[0], $row["name"]);
    }
    mysql_free_result($result);


    由上可知,當你要取出一筆資料時,所用的語法,不僅難記,還佔空間(!?)

  5. 而在第三點時有提到EZSQL針對MYSQL的設定,我們現在就來做一下實例:

    $result_array = $db->get_results("SELECT * FROM TABLE");
    //get_results()函數就是ezsql就是ezsql提供的用來取得一列資料所用,若只需取得一筆,則可用get_var()函數搭配SQL條件"WHERE"做特定搜尋。

    foreach($result_array as $row_obj) { echo $row_obj->COLUME; }
    //筆者直接讓他取TABLE內所有欄位的資料,但僅印出(eho)COLUME欄位的資料。

  6. 上述兩段,筆者直接撰寫於index.php檔內,並且要記得include_once('config.php');



經過胃痛的折騰,終於寫完了Orz,阿阿~希望大家會喜歡,不小心又熬夜了>"<,去睡了去睡了,有問題請各位看倌留言,如果喜歡可以幫我按上方橘條!

20080615

Template Engine - Smarty

我要離開高雄了,因為杏村小姐說這樣沒時間教她,所以我就先寫一下簡易設定!!杏村小姐看過來!!

Smarty是樣板引擎之一,其他還有如power template,那些我覺得不是很好用,所以我不會介紹!!!!(開玩笑的,是因為懶惰)樣板引擎就是可以將程式與版面分離,讓你請專業美工人員排版時,不用連同程式也給對方,避免不必要的商業糾紛~~~XD

要介紹這個好東西也得先讓大家之到它住哪:http://www.smarty.net/ 好話不多說,耶,不對,是廢話不多說,我們直接download他的最新版:按我下載

如果需要好用的apache server套裝可以下載:Wamp Server

  1. 將檔案解壓縮後,放到www目錄(就是放要給大家瀏覽的網頁目錄)下,並且開設一資料夾名為smarty
  2. /www/smarty/,裡面放著原本展示的範例,直接以此來實作吧。
  3. 這邊我先將/www/smarty/目錄下的檔案和資料夾刪到只保留demo和libs
  4. 將/www/smarty/demo/資料夾底下的檔案全部複製到/www/smarty/底下,並且將demo資料夾刪除
  5. 編輯index.php,直接改成:
  • require 'libs/Smarty.class.php';//將require '../libs/Smarty.class.php';改為require 'libs/Smarty.class.php';(因為從demo資料夾複製過來,會少一層)
  • $smarty = new Smarty;//$smarty = new smarty;代表新增一個名為smarty的樣板
  • $smarty->assign("test", "123");//將TEST標籤,塞了字串123,assign(標識)到smarty樣版
    $smarty->display('index.tpl');//在index.tpl裡面展示smarty樣版
  • ?>

再來就是設定所要顯示smarty的index.tpl檔案,更改方是很簡單,將/www/smarty/template/資料夾底下的index.tpl檔案開啟,將原始內容全部刪除,並打上{$test},用瀏覽器開啟,就會看到該頁面顯示123字串(懶的截圖了ˇˇ)


更多詳細的smarty設定請看document,下次再來教教如何設定db!!!

20080612

PHP 發 mail

幫老姐弄公司網站的同時,發一下有用到的PHP funciton

php有個mail funciton,只要一行,就可以幫你輕輕鬆鬆寄出信件

mail('to', 'subject', 'msg');

to:收件者
subject:主旨
msg:要傳遞的內容
另外還看到有些延伸...

mail('to', 'subject', 'msg', 'header');
Header:標頭,也就是寄件者,這邊試過,如果沒有這一行,那麼會變成系統域設的Send From預設mail,建議還是設一下吧!!

到此還有一個重點要說明,當我們寫完一封信,總是要有一個郵筒蒐集你的信,再由郵差傳送到收件人的信箱,這時候就是SMTP出場的時候了!!!

一般來說,如果您是使用外面一建安裝到底的Web Server(EX:WAMP、APACHE),那麼其實只要在php.ini將SMTP設為:localhost(預設就是localhost,如果有需要再做更改),並且把php extension理的php_smtp mudule打開,就可以享受寄送郵件的功能。在此提醒各位客倌,再更改任何設定檔後,請養成習管Restart Service
建議:如果為了防止一些無聊人士把網站當跳板發垃圾信,可以使用JS來撿查該郵件是否為可用,搭配圖片認證,可以有效防止收到垃圾信件。

你還在幫別人打造舒適圈?

 師不順路,不好為人師,談何容易.... 人總是在為自己的做法找"理由",找一個漂亮的包裝,找一個可以說服人的方式,找一個立足點....然而,這個為自己所做的一切,往往是一個自私的隱性表現,因為你要達到的就是"滿足"自己。 但要如何滿足自己...