2009年3月31日 星期二

KISSRADIO 播放器 WM手機版

小弟自己弄了一個,能在手機上聽KISSRADIO各台廣播的程式 for WM
在這裡提供免安裝版本,歡迎各位下載使用!!
KISSRADIO V.1.2.6 點我下載
第一次釋出的版本號~也就是女王的生日啦..



此程式還有許多改進的空間,己知的錯誤如下
1.當音源來源無反應時,程式會掛掉
2.音量控制未開放,預設為手機70%的音量值
3.播放手機內的mp3檔案資料夾無法變動,預設路徑為 \儲存卡\MUSIC

以上的錯誤儘可能會在下一版本中改善~~

若您的手機執行發生.NETFramework 錯誤
請下載.NET Compact Framework 3.5 到您的手機進行安裝
.NET Compact Framework 3.5 下載點

如果有發現其它任何問題..皆可來信告知~~謝謝!!

2009年3月29日 星期日

威寶學生月租150專案

我第一次看到威寶電信是在 高雄市新興區民權一路253號
在現在台灣有電信三雄的環境之下,想佔有一席之地的確不容易
(台灣電信三雄:中華電信、遠傳、台哥大)
前陣子想辦個網內打到爽,在亞太與威寶研究了不少功課..

後來決定威寶原因如下
1.亞太的系統是CDMA2000,並不能與其他使用WCDMA的業者 威寶、台灣大哥大、中華、遠傳使用影像電話
2.亞太的手機不能插其它家SIM卡使用
3.亞太前陣子因為財務危機,基地台建置停擺許久,收訊較不好
(其實這個見人見智,每個人環境不同,說不定你家中華收不到,亞太反而收的到)
4.亞太最低需繳333才能網內打到爽,威寶只要300
(現在有學生專案變150元)
5.亞太333型費率網外每秒0.075,威寶300型費率網外每秒0.07
6.威寶300型有送影像通話2分鐘(每通),而亞太沒有

亞太333型每秒0.075 不含影像通話 (有圖有真像)
亞太官方費率


威寶300型每秒0.07 含每通2分鐘的影像通話(有圖有真像)
威寶官方費率


威寶學生專案是以300型的去打折成150型,所有費率還是以300型為主,每月贈30分鐘
威寶學生專案活動網址

其實150元每月送網外30分,網內無限暢打,真的是很划算了..
看的出來威寶想當電信四雄的決心,也難得女王會一次讓我辦2個門號跟她暢打..

再來談談選擇威寶另一個原因.."日租型無限上網方案"
這也是唯一只有威寶有的服務而以~~
就如吳念真說的,一個月用不到那麼多,卻每個月都要繳一樣的錢~~
舉例我使用中華的無限上網750型,我一個月平均只有20天在使用,那麼
我也是必須繳750元進中華電信的口袋,那豈不是很不划算...

也有人說中華750型/30天,一天只要25元...
而威寶在廣告上主打"無限上網一天只要39元"
那如果天天在使用,那不是威寶比較貴??~~如果你這麼想,那就錯了...

經過版主分析..中華750型是不得使用emome服務
而威寶日租39元是可以使用"威寶手機網"~~~
如果你只想單純的上Internet,威寶還是有"月租750元型"的"日租"方案..
一樣是25元暢行無阻,如果以這麼來推算,另外上威寶行動網的價錢
也就是39元-25元=14元 ,但威寶日租型還是有他的不便利性..

例如我今天要上網,必須打電話去開通,開通後會有一則簡訊通知,
收到簡訊通知後才可上網,但如果可以省錢這樣的方式我倒還可接受..

另外如果您想知道對方是不是網內用戶,可透過威寶門號撥打57016查詢
因為目前有許多攜帶門號的用戶,變成無法由手機號碼前4碼來判別..
威寶57016查詢服務是免費的,請放心使用...

目前使用威寶跟女王影像通話及一般語音通話,都還蠻順暢的..
待我多使用個幾個月再來報告心得,以及威寶3G上網的速度心得~~

最後套一句廣告台詞

威寶每月月租150元~
跟女王影像通話,分享週遭的事物~~~無價

MiniLyrics 音樂播放軟體

今天來介紹一套播放MP3時會自動下載歌詞的播放軟體~
MiniLyrics 播放器除了PDA版本也同時有PC上的版本..
如果您覺得掌上千千靜聽常找不到歌詞的話~~~
不彷可以試用一下MiniLyrics
MiniLyrics 官網連結


播放介面簡單明瞭,該有的功能皆有


也可以全畫面歌詞播放


最殺的就是下載歌詞啦..還有多版本可供選擇...

2009年3月28日 星期六

導航軟體 PAPAGO X3

導航軟體也是我必裝軟體之一,也是唯一同性質軟體我會裝2套以上的~~
例如我就裝了PAPAGO X3 & TOMTOM 6...
這2套算在台灣最好取得也最好用的了...
除了這2套其實我還有用過其它的,例如IGO8台灣未上市,但這軟體真的很讚
詳情請見..PDA魔王部落
讚歸讚..但中文輸入的部份就XXOO..
還是等它台灣上市我才會考慮列入導航名單中..
而PAPAGO X3 & TOMTOM6 如果PAPAGO X3 沒有出現任何狀況的話,
TOMTOM 6基本上我是不會用到..
TOMTOM的愛用者我沒有說它不好啦.
回到主題~PAPAGO X3 我出門旅遊都靠它..接下來就介紹它有哪些功能吧..
PAPAGO X3主畫面


這次推出了其它導航軟體所沒有的"路隊長"功能
多台車一同出遊時,加入路隊長就不用怕迷路了..




當然少不了這個"旅遊大補玩"相當實用
例如我常去的台南老街,也有被收錄進去...




接下來就介紹實際導航的畫面吧..
由於是夜間開車所以PAPAGO X3就自動轉成夜間模式..




要上交流道了,左邊清楚標示目的地距離及所需時間..
清楚的2段式轉彎,虛線代表目的地的方向,另外右下角還有指北針,車速偵測...




每個交流道都會有提示,讓您不會笨笨的提早下交流道..

2009年3月26日 星期四

KISSRADIO 音樂小貼紙 (新版)

這是前陣子製作的KISSRADIO音樂小貼紙,音源取自於中華電信~
透過FLASH Click事件來控制音源的播放~~
並加入即時顯示歌曲名稱功能,及下方顯示公告的跑馬燈。

若對此音樂小貼紙有疑問或是發現BUG,請寄信到
通知我,謝謝!!

各種KISSRADIO音樂小貼紙連結請按我

注意:目前KISSRADIO音樂小貼紙,預設自動播放,若您不想自動播放
可以將原本iframe語法中

的這一段
src="http://web2.kiss.com.tw/kiss/activity/blog/KISSRADIO2/KISSRadio_blog.php"
後面加上
src="http://web2.kiss.com.tw/kiss/activity/blog/KISSRADIO2/KISSRadio_blog.php?AUTO=N"

如何編流水號?

在程式設計過程中,時常會遇到如何編流水號的問題...
本文提供ASP.NET取MSSQL資料最後一筆的判斷方式..


'產生流水號
sn = Year(Now) & Right("0" & Month(Now), 2) & Right("0" & Day(Now), 2)
db.SelectCommand = "Select top 1 [mcid] from [membercard] where [mcid] like '" & sn & "%' order by [mcid] Desc"
dv = db.Select(New DataSourceSelectArguments)
If dv.Count > 0 Then
sn = sn & Right(dv.Item(0).Item("mcid") + 1, 3) '若有資料,流水號為最後一筆流水號加1
Else
sn = sn & "001" '若無資料,流水號從001開始 (每日流水號重編)
End If

Javascript 幾秒後自動更新頁面

前陣子弄了一個音樂小貼紙,會播放廣播(音源來自中華電信),在小貼紙上
也有一個顯示目前正在播放哪首歌曲的跑馬燈(我設定每30秒更新一次)
這裡介紹Javascript 如何幾秒後自動更新頁面的方法..code如下

方法一

timer = self.setTimeout("location.reload(true)",30000); //30秒更新


方法二

timer = self.setTimeout("history.go(0)",30000); //30秒更新

PHP 幾秒後自動更新頁面

最近弄了一個音樂小貼紙,會播放廣播(音源來自中華電信),在小貼紙上
也有一個顯示目前正在播放哪首歌曲的跑馬燈(我設定每30秒更新一次)
這裡介紹PHP 如何幾秒後自動更新頁面的方法..code如下


header("refresh:30"); //30秒後頁面重整


另外也可以直接在HTML搞定


ASP 幾秒後自動轉頁

有些網站在註冊會員、填完表單後,會在幾秒後轉頁到所指定的網頁..
這裡介紹ASP 如何幾秒後自動轉頁的方法..code如下


System.Threading.Thread.Sleep(2000); //等待2秒
Response.Rederict(url);

2009年3月25日 星期三

在Blogger加入表情符號

此篇文章是參考自
http://billconan.blogspot.com/2007/03/blogger.html
但裡面的文章範例許多圖都己經失連...
而且也沒有我喜歡的Mobile01的表情符號,於是我把他的js檔下載下來重新編輯..
並加入Mobile01表情符號...
此方法可以讓您在發表文章時,多了一些表情符號讓文章更生動活潑~
(此方法僅適用於Blogger博客)
如果您有在哪看到不錯的表情符號,也許您可以跟我說,或許我會把它加入..

在Blogger編輯文章時,可以在瀏覽器網址列貼上這一串

javascript:var oScript=document.createElement('script');oScript.src='http://csu.dorun.cc/doremi/hahablogger.js';void(document.body.appendChild(oScript));


或是

滑鼠移到這裡,按右鍵加入最愛
在編輯文章時,瀏覽器打開剛新增進去"我的最愛"的連結

然後你就可以看到右側多了表情圖片可供選擇囉...

浮動圖層,廣告範例

做網頁的時候常常會用到一種廣告方式會跟隨著瀏覽器的捲軸移動,
這裡提供原始檔案,如果您也有興趣可以自行把程式修改...
例如改成~顯示幾秒後關閉、幾秒後圖片輪播~來做應用~~code如下

範例程式下載



這裡放您要呈現的內容




adWidth = 160;//廣告寬度
nowX = 1000;//目前位置(left)
nowY = 100;//目前位置(top)

fad_style = document.getElementById('iRFloating').style;

function fadIni()
{
innerWidth = document.body.clientWidth;
innerHeight = document.body.clientHeight;

edge = (innerWidth-1000)/2;

if( edge > adWidth )
{
posX = edge + 1000;
}
else
{
posX = innerWidth-adWidth;
}

posY = 100;

}
function fadRefresh()
{
offsetX = posX + document.body.scrollLeft - nowX;
offsetY = posY + document.body.scrollTop - nowY;
nowX += offsetX / 5;
nowY += offsetY / 5;
fad_style.left = nowX;
fad_style.top = nowY;

floatID = setTimeout('fadRefresh()', 20 );//Refresh時間
}

function fadStart()
{
fadIni();
window.onresize=fadIni;
fadRefresh();
}

fadStart();

2009年3月24日 星期二

避免表單重覆送出內容

我們常會用一些表單來送出使用者所填的資料,
例如..註冊會員~各種報名表~但有時會因為伺服器或網路反應過慢,
而導致使用者以為沒按到,再多按一次...
於是我們可以透過下面的方式來防止表單重覆送出...

在HEAD與/HEAD之間插入




在BODY與/BODY之間插入




在表單text欄位,顯示預設值

我們一般在做表單讓使用者輸入資料時,常會在欄位旁邊加上註解,說明該欄位的用途,讓介面更加友善,另外也可以直接在text欄位上顯示..










範例程式下載

關閉視窗,不顯示詢問框

我們常用window.close來關閉視窗
但是window.close在IE7版本開始會出現提示窗



如果不想出現詢問框直接關閉的話,可以參考下面的code


2009年3月23日 星期一

資管系學生慣性定律

也不侷限於資管系,只要跟電腦扯上邊的科系都會發生這樣的慣性定律,以下
經測試排名出最"經常性"發生的必學招式,也是學校規定畢業前一定要會的
"專業"技能~~

擠上第三名的是-架設LINUX伺服器
通常這個不用老師教,用心一點的學生就知道書店有賣"輕輕鬆鬆架伺服器只
要一小時"的套件包,(再不然網路上仔細找找,一定有下載檔&白吃法教學檔)
只要把光碟放進去就會"自動完整"裝到好.然後再打入linux 解壓縮&安裝指
令,依教學文件改一下相關的conf檔..馬上就弄出WEB,FTP,MAIL SERVER.
多酷呀,而通常剛接觸LINUX的人,有高達90%的機率會反微軟~~
並完全的以LINUX當作業系統在使用,必竟用LINUX裝MSN跟人聊天&超酷視窗介面..
被別人看到是多麼有專業水準的事情..


當之無愧的第二名-架遊戲SERVER

大學生無聊通常會玩些遊戲解解悶~~當然架出遊戲SERVER在同學面前是
多麼屌的一件事..只要依照教學文件step by step,短時間就立刻架出
遊戲SERVER找同學一起殺殺殺..然後這也是最快喪失其必要性的"技術"
之一,通常持續不久..
而最熱門的遊戲SERVER..由"天堂","RO" 分別拿下冠亞軍..


榮登第一名的是-架論壇
如何快速架設出一個論壇呢??當然是各種論壇套件包,讓您完完全全不必
懂程式設計,也可以架出一個屬於自己的論壇,而大學生架設論壇來當班網
的發生率高達80%以上~~舉凡熱門的論壇套件包有..
Disczu,phpbb2,xoop..等等...

以上測試數據為電腦經過二進位嚴密運算結果,
純屬虛構,如有雷同,純屬巧合

2009年3月21日 星期六

字串截取,亂碼

字串截取,通常我們會用在標題列過長時,截取部份
字串後面再加"...",來當部份說明,而當截取字串時
會遇到一些編碼原則,BIG5,UTF8 或是全形半形之間的亂碼問題...

各種編碼及全形半形截取字串的方式如下..

此方法適用於網頁編碼為BIG5

$len = 30;
echo strlen($news_title)<=$len ? $news_title : (substr($news_title,0,$len).chr(0)."....");
?>


此方法適用於網頁編碼為UTF8

function csubstr($text, $limit) {
$s = ';
for($i=0;$i< $limit-3;$i++) {
$s .= ord($text[$i])>127 ? $text[$i].$text[++$i].$text[++$i] : $text[$i];
}
$s = $s."...";
return $s;
}


此方法適用於全形字元的處理方式

function ChgTitle($news_title)
{
$length = 30;
if (strlen($news_title)>$length) {
$temp = 0;
for($i=0; $i<$length; $i++)
if (ord($news_title[$i]) > 128) $temp++;
if ($temp%2 == 0)
$news_title = substr($news_title,0,$length)."...";
else
$news_title = substr($news_title,0,$length+1)."...";
}
return $news_title;
}

2009年3月20日 星期五

上傳圖片自動縮圖

如果我們後台所上傳的圖片,除保留原檔之外,

再順便縮圖到另一個資料夾 (通常我會設images與preview二個資料夾)

images主要存放原檔圖片
preview主要存放縮圖檔

這樣有什麼好處呢?
通常我們首頁都是顯示小圖,在內頁開才是使用大圖..
如果只用原圖去改img的width,height (雖然看起來變小了)
但實際上還是讀取完整的圖下來,所以我們必須縮小處理讓整個頁面變快

程式碼如下

$tw = 118; $th = 169; $tx = 0; $ty = 0;
$pic = ImageCreateTrueColor($tw,$th);
$img = ImageCreateFromJPEG($uploadpath.$rnd_filen.$file_type);
$sw = ImageSX($img);
$sh = ImageSY($img);
ImageCopyResized ($pic,$img,$tx,$ty,0,0,$tw,$th,$sw,$sh);
ImageJPEG($pic,"../../activity/sw/preview/".$rnd_filen.$file_type);
ImageDestroy($img);
ImageDestroy($pic);

Audio Notes 錄音軟體

Audio Notes應該算是我用過最好用的錄音軟體

其它的不是通話中錄音對方聲音太小,就是錄音品質不好....囧
Audio Notes最好用的功能,在於能在通話中自動幫你錄音...
以MP3中音質來錄的話,錄3分36秒..約是1.6M的大小..
一張8G的記憶卡,每天講個10通(每通以3分36秒來算),約可錄個1.4年..
如果一直開著不停的錄的話..約可以錄個13天...

在通話中自動幫你每通電話錄音之後..會儲存在你指定的地方
並以 名稱 年_月_日_時 分_秒.mp3 幫你儲存,讓你知道這個檔案是誰打來的

Audio Notes官方連結

2009年3月19日 星期四

取得遠端文字資料~每日氣象製作

在一些情況,我們會試著抓取對方網站資料
或者是對方提供的文字檔,例如某網站的股票資料,氣象台資料~~等等

以下的範例是利用中央氣象局提供的txt檔來做範例
這是氣象局提供的各種氣象文字檔
在這裡我們使用這個W002.txt檔來做範例
ftp://ftpsv.cwb.gov.tw/pub/forecast/W002.txt

程式如下

$file = "ftp://ftpsv.cwb.gov.tw/pub/forecast/W002.txt";
$html = "";
$fo = fopen($file, "r");
while (!feof($fo)) {
$i++;
$temp=fgets($fo);
if ($i <= 7)
{
$html[$i]=$temp;
}
else
{
$di = $i-10;
//下面這部份是我全形與半形間的轉換,沒用到的可自行刪除
$vv1 = str_replace(" ","",substr($temp,2,4));
$vv2 = str_replace(" ","",substr($temp,16,21));
$str = str_replace(" ","",substr($temp,44,21));
$str = str_replace('-','-',$str);
$str = str_replace('1','1',$str);
$str = str_replace('2','2',$str);
$str = str_replace('3','3',$str);
$str = str_replace('4','4',$str);
$str = str_replace('5','5',$str);
$str = str_replace('6','6',$str);
$str = str_replace('7','7',$str);
$str = str_replace('8','8',$str);
$str = str_replace('9','9',$str);
$str = str_replace('0','0',$str);
$data[$di] = array('d1'=>$vv1,'d2'=>$vv2,'d3'=>$str);
}
}
echo $data[1]['d1']."
";
echo $data[1]['d2']."
";
echo $data[1]['d3'];
fclose($fo);
/*1-台北地區
2-桃園地區
3-新竹地區
4-苗栗地區
5-台中地區
6-彰化地區
7-南投地區
8-雲林地區
9-嘉義地區
10-台南地區
11-高雄地區
12-屏東地區
13-恆春半島
14-宜蘭地區
15-花蓮地區
16-台東地區
17-澎湖地區
18-金門地區
19-馬祖地區*/


此程式完全沒用到資料庫,直接複製存成PHP檔,在有PHP環境下執行即可

表頭跟隨資料列

有時會因資料列過長~~而表頭在最上方~~~
而無法清楚對應到表格中的資料欄位說明~~~

簡單的利用Javascript達成,因code太長,直接提供下載吧~~

表頭跟隨資料列範例下載

2009年3月18日 星期三

讀取不到圖片,則顯示預設圖

在設計的網頁中,如果需載入的圖檔過多,
而當讀取太久,是否會遇到圖片無法顯示~~
Javascript有提供onabort事件,來處理這個例外~~








上面的CODE是以單張圖來做示範,但如果頁面太多圖都需要這樣的處理方
式,那麼不就要1張圖1個funtion??那豈不是很笨??

透過下面的方式,我們可以聰明的使用1個funtion來處理所有問題..





2009年3月17日 星期二

偵測瀏覽器Cookie功能是否開啟

偵測瀏覽器Cookie功能是否開啟
透過Javascript可以簡單的知道瀏覽器設定是否支援Cookie


testCookie =navigator.cookieEnabled
if (testCookie){
alert("你的瀏覽器設定支援 Cookie")
}else{
alert("你的瀏覽器設定不支援 Cookie")
}


範例下載

彈出視窗 Window.open

在網頁設計我們常會用到彈出視窗,這裡介紹如何用
Javascript window.open來做彈出視窗的應用及相關函數介紹~~


window.open(URL,target,style)
//URL 網頁網址
//target 視窗名稱
//style 樣式設定


範例

window.open ('page.html', 'newwindow', 'height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=n o, status=no')


style的一些屬性
toolbar yes/no 是否具有工具列
menubar yes/no 是否具有功能表選項列
status yes/no 是否具有狀態列
scrollbars yes/no 是否顯示捲動軸
resizable yes/no 是否允許使用者調整視窗大小
width 數值 指定視窗寬度
height 數值 指定視窗高度
top、left 數值 設定視窗出現位置

另外我們也可以自行建立一個funtion,如下

function openBrWindow(theURL,winName,features) {
window.open(theURL,winName,features);
}


在事件當中就可以直接呼叫傳入參數

onclick="openBrWindow('xx.html','','width=700,height=700')"


點我範例下載

2009年3月16日 星期一

修改連線設定檔,以解決亂碼

修改連線設定檔,以解決亂碼

MYSQL在4.1版後,對UTF8編碼提供更完整的支援,對多國語言系的網頁
亦更加的方便,不過因為AppServ伺服器套件安裝MySQL預設並沒有UTF8
的編碼可選擇,故在安裝AppServ伺服器套件過程仍以BIG5為預設,
這樣的話會造成PHP在讀取資料庫中有中文字串的資料都會變成亂碼,
所以我們必須修改連線設定強制將以BIG5碼為輸出,以解決亂碼問題。

請將這3行

$MWDboard = mysql_query("SET NAMES big5;");
$MWDboard = mysql_query("SET CHARACTER_SET_CLIENT=big5;");
$MWDboard = mysql_query("SET CHARACTER_SET_RESULTS=big5;");


加入在這之前

$MWDboard = mysql_query($query_MWDboard, $Mwebdata) or die(mysql_error());

2009年3月13日 星期五

header 檔案下載

在一些檔案連結下載,我們可能會用到這樣的語法




點我下載

但是如果遇到一些USER端己有安裝的應用程式..如
Windows Media Player
那麼去下載wav..等等的檔案,就會變成直接播放,而不會出現"是否要下載"的詢問框

此時我們可以做一支Download專用的php程式
命名為download.php,程式碼如下

$file = $_GET[file]; //接受get參數
$file_name = "ring (".$file.").mp3"; //組成檔名
$file_path = "/tw/com/kiss/php/new_hp/ring/"; //相對路徑
$file_size = filesize($file_path); //傳回文件大小
header("Content-Type:text/html;charset=utf-8"); //header宣告
header("Content-Disposition: attachment; filename=\"$file_name\"");
readfile($file_path.$file_name); //讀檔
?>

此時我們就可以利用,http://xxx.xxx.xxx.xxx/download.php?file=XXX
的方式來下載檔案,不論任何檔案都會詢問是否下載,而且又可以把相同的文件都規定放在同一個資料夾裡!!

PHP與資料庫溝通的2種寫法

此篇將介紹2種PHP與資料庫溝通的寫法
2種寫法都可以,但如果建置較大型專案,
建議使用第2種寫法~~~~

EX.1-1 一般寫法
先建立一個空白的conn.php檔案,程式碼如下

$hostname_Mwebdata = "XXX.XXX.XXX.XXX";
$database_Mwebdata = "test";
$username_Mwebdata = "root";
$password_Mwebdata = "test";
$Mwebdata = mysql_connect($hostname_Mwebdata, $username_Mwebdata, $password_Mwebdata) or trigger_error(mysql_error(),E_USER_ERROR);
?>

之後可在任何要存取資料庫的PHP引用



存取方式如下

mysql_select_db($database_Mwebdata, $Mwebdata);
$query_MWDboard = "SELECT * FROM member WHERE sw =1"; //下SQL條件
$MWDboard = mysql_query($query_MWDboard, $Mwebdata) or die(mysql_error());
$row_MWDboard = mysql_fetch_assoc($MWDboard);
$totalRows_MWDboard = mysql_num_rows($MWDboard); //搜尋筆數
//假設有資料就可以echo出來看看了
if($totalRows_MWDboard>0){
echo $row_MWDboard["name"];
}
?>






EX.1-2 物件導向&Funtion寫法
先建立一個空白的conn.php檔案,程式碼如下

//先建立一些錯誤排除
class CONN_MYSQL
{
var $Host;
var $User;
var $Pass;
var $DBName;

function Connect()
{
if(!@mysql_connect($this->Host,$this->User,$this->Pass))
{
echo("\n

ERROR : FAIL TO CONNECT

\n");
echo("\n

很抱歉,目前系統忙碌中,請在 5 ~ 10 秒後按 F5 重新整理網頁!

\n");
exit();
}
$this->Select($this->DBName);
}

function Select($DBName)
{
if(!@mysql_select_db($DBName))
{
echo("\n

ERROR : FAIL TO SELECT

\n");
exit();
}
}

function Execute($SqlStr)
{
$TS = @mysql_query($SqlStr);
if(!$TS)
{
echo("\n

ERROR : FAIL TO EXECUTE

\n");
exit();
}
return $TS;
}

function Execute2($SqlStr)
{
$TS = @mysql_query($SqlStr);
return $TS;
}

function Fetch($TS)
{
$RS = @mysql_fetch_array($TS);
if(!isset($RS))
{
echo("\n

ERROR : FAIL TO FETCH

\n");
exit();
}
return $RS;
}

function RowsNum($TS)
{
$RSNum = @mysql_num_rows($TS);
if(!isset($RSNum))
{
echo("\n

ERROR : FAIL TO COUNT

\n");
exit();
}
return $RSNum;
}

function GoTo($TS,$SeekNum)
{
@mysql_data_seek($TS,$SeekNum);
}
}

//再建立連線Function
class CONN_PHP extends CONN_MYSQL
{
function CONN_PHP()
{
$this->Host = "xxx.xxx.xxx.xxx";
$this->User = "root";
$this->Pass = "test";
$this->DBName = "test";
$this->Connect();
}
};
?>

之後可在任何要存取資料庫的PHP引用




存取方式如下

$CONN = new CONN_PHP();
$CONN->Select("test"); //選擇資料庫
$SQL = " SELECT * FROM member WHERE sw = 1"; //下SQL條件
$TS = $CONN->Execute($SQL);
$Record = $CONN->RowsNum($TS); //搜尋筆數

//假設有資料就可以echo出來看看了
if ($Record>0){
echo $RS["name"];
}
?>
Fetch($TS)) { //利用迴圈列出每一筆資料 ?>





另外一些MYSQL相關函數可以參考
http://km.tceb.edu.tw/~wsx/php/ch9-4.htm

2009年3月12日 星期四

PHP 表單驗證

我整理了一些常用到的驗證方式,並會不定時更新!!
以後只要複製起來改一下驗證欄位就ok了,相當方便~~


if (($_POST['Mm_Cname']=='') || ($_POST['Mm_Loginpwd']=='') || ($_POST['Mm_Sex']=='') || ($_POST['Mm_Addr']==''))
{
echo "";
exit;
}

}

if (!empty($_POST['UserInputPassCode'])) {

if ($_POST['SystemPassCode'] != $_POST['UserInputPassCode'])
{
echo "";
exit;
}
}

if ($_POST['Mm_Loginpwd'] != $_POST['Rty_Loginpwd'])
{
echo "";
exit;
}

if (preg_match('/.*@yahoo.com.tw/', $_POST['Mm_Email']))
{
echo "";
exit;
}

if (!empty($_POST['Mm_Email']))
{
// 使用正規表示法比對使用者輸入的字串是否符合要求
if (!ereg("^[0-9a-z._-]+@+[0-9a-z.-]+.[0-9a-z]{2,4}$",$_POST['Mm_Email']))
{
echo "";
exit;
}
}

if (!empty($_POST['Mm_Loginpwd']))
{
// 使用正規表示法比對使用者輸入的字串是否符合要求
if (!ereg("[0-9a-z]",$_POST['Mm_Loginpwd']))
{
echo "";
exit;
}
}

if (!empty($_POST['Mm_Email']))
{
// 判斷E-mail帳號是否已經註冊過 ...
$diffsqlstr="SELECT * FROM member WHERE Mm_Email=\"".$_POST['Mm_Email']."\"";
$Resultdiff=mysql_num_rows(mysql_db_query($cfgDB_NAME,$diffsqlstr));
if ($Resultdiff != 0)
{
echo "";
exit;
}
}

str = "中文字";
if (/[\x00-\xff]/g.test(str)) alert("含有非中文字");
else alert("全是中文字");

E-MAIL 名單寫入文字檔

承上一篇 特急送報童

送報童內建可以匯入.lst檔的e-mail格式文件,所以利用php匯出mysql所有
同意收到電子報的會員,再匯入送報童就可以直接寄發了~


mysql_select_db($database_Mwebdata, $Mwebdata);
$query_MWDboard = "select * from member where epaper=1";

$MWDboard = mysql_query($query_MWDboard, $Mwebdata) or die(mysql_error());
$totalRows_MWDboard = mysql_num_rows($MWDboard);
$f= fopen("member.lst","w"); //打開 member.lst ,若不存在則自動建立
do{ //將所搜尋出來的e-mail寫入member.lst
fwrite($f,$row_MWDboard["Mm_Email"]);
fwrite($f,"\r\n");
} while ($row_MWDboard = mysql_fetch_assoc($MWDboard));
fclose($f);

送報童是一個open source的軟體,如果您懂Delphi5的話,
也可以直接 下載原始碼 進行修改~~

2009年3月11日 星期三

特急送報童

特急送報童, 顧名思義此乃送信(報)軟體, 亦即俗稱的電子報軟體
功能介紹:
1. 支援多個伺服器分散流量
2. 支援多個設定檔選擇
3. 支援純文字, HTML 郵件.
4. 配合 ServiceAgent 可以成為NT/2000下的服務.
5. 可夾帶附件 , 自動連結html圖檔等.
6.在原本可直接選取電腦硬碟上的檔案(HTML)來做為HTML寄信的本文之外, 目前已能將 HTML 內的圖檔(gif,jpg,bmp,png)的" tag "和多媒體檔(wav,mid,swf)的" tag" 的內容一起包進郵件內容裡.
7. 以 Command Line 方式執行寄信程序.
8. 透過POP3 帳號完成自動化電子報訂閱/取消.(NEW!)

作者: 素還尊 theodore@ares.com.tw

官方下載點
http://playstation2.idv.tw/sourcecode/projects/epboy_author.html

由於在官方找不到他的source code ,明明說有開放但找不到載點..
熟Delphi5的朋友可以下載source code

Googlemap 縱橫

在新的Googlemap版本中,突然有個"縱橫"的功能,只要登入你的GOOGLE帳號,密碼..
就可以在Googlemap上顯示出你Gtalk的個人專屬圖示,代表你的位置...
更可以加入其它GOOGLE聯絡人並得知對方目前位置在哪裡..(對方也要裝Googlemap)
而似乎PDA手機不需有GPS也可以靠基地台完成定位..(這點不太確定)

在有相同設備(PDA手機)&軟體(Googlemap)前提下,這可是居家旅遊必備軟體..

EX
A君與B君將一同出遊,B君等A君開車來接他,此時B君可得知A君是否出門,或開到哪裡了..以做準備..
在這樣的情況下,雙方皆不用撥打手機即可知道對方目前位置...

Google一向都是佛心來的,當然這個軟體也是免費使用..

GoogleMaps V3.0.0.12 下載點

Spb Insight

Spb Insight是一套提供訂閱RSS的離線閱讀軟體,這也應該算我剛用PDA手機時,第一個裝的軟體,它有多好用呢?有請客倌慢慢聽我道來..

古話說的好,秀才不出門 能知天下事,但是在家還能靠電視or電腦上Internet吸收知識,如果你是在等捷運等公車..或者等人的時候..可別把這些時間給抹殺掉了..這時用Spb Insight訂閱一些喜歡的頻道,新聞~肯定是件不錯的事..更可以把喜愛的BLOG RSS訂閱進來..(我通常會訂閱蘋果日報,重灌狂人,及一些3C的頻道)

可惜的是Spb Insight不是一套免費的軟體,沒註冊只能擁有15天的鑑賞期,
有能力的話還是支持正版..沒能力的話就去拜拜谷哥大神了...囧
這裡只介紹Spb Insight,當然Spb旗下還有許多知名好用的軟體~你也可以造訪下面網址

Spb Software 官方網站
http://www.spbsoftwarehouse.com/

Spb Insight Template (這裡收集了相當多可訂閱的頻道)
http://www.rss.url.tw/sit.asp

正妹星球

2009年3月7日 星期六

Google 行事曆&聯絡人~同步更新

之前如果我GOOGLE的行事曆跟聯絡人有更新,就要使用OGGSYNC去做
同步
更新現在GOOGLE已開放透過ActiveSync來進行同步更新,也就是說只要在GOOGLE行事曆&聯絡人有所更改,你的手機裡的就會同步更新到...超方便的..

有興趣的可以參考GOOGLE的教學

WM 來電延遲&響鈴延長&PIN碼

[以下為網路收集資料]
因處於不同網址,故小弟匯整,並測試過~在此分享^^

如果你覺得在對方撥打電話給你時會延遲幾秒,你的手機才會響
可以修改註冊表更改所要延遲的時間.
HKEY_CURRENT_USER------>ControlPanel------>PhoneNetSelMode------>Timeout

change the value from 3000 to 0, the delay is than gone.
Reboten,Done.
把值從3000改為0,延時就沒有了。重啟,完成。

如果你覺得來電響鈴到轉接語音信箱的時間太短的話,也可以透過下列方法延長時間
1.中華電信:手機直接輸入**61*77手機碼後8碼**(秒數長短)
2.台灣大哥大:原設定30秒。需修改手機直撥**70*123*(秒數時間)#
3.和信電訊:電話響超過35秒以上,直到用戶接聽或掛掉。直撥**61*0938777777#
4.遠傳電信:提供5、10、15、20、25、30秒。直播**61*222**秒數#

各系統商的原始PIN和PIN2碼
(系統商/PIN/PIN2)
中華電信 / 0000 / 1111
台灣大哥大 / 1234 / 無
東信 / 0000 / 3579
和信 / 8888 / 無
泛亞 / 8888 / 8888
遠傳 / 8888 / 1234
以上的PIN(2)碼是原始設定值

2009年3月5日 星期四

大堡礁徵島主 台灣1人入選



今天下班新聞一直報"大堡礁徵島主 台灣1人入選 ",索性的去GOOGLE了一下投票網址,3/5 00:15剛去看了一下Clare目前以18XXX票,穩居第一名位置,跟第2名4XXX票,也有一萬多票的差距,但還不到截止日~~別忘了去投個票吧!!

Clare投票網址
輸入完E-MAIL,將會寄一封信件到你的信箱,點選信件最底下的網址,才算是投了一票

所有的參選者網址

2009年3月2日 星期一

全省校園免費旅遊攝影講座


在台北、新竹、台中、高雄舉辦校園免費的旅遊攝影講座,現場將邀請旅遊經驗豐富的網路知名旅遊攝影達人溫士凱等人,全程將邀請喜愛攝影的大專院校的同學們免費參與,還有分享你的校園美食、遊記想萬元獎金的活動等你來挑戰唷!

活動連結按這裡!!

ASP防隱碼攻擊

隱碼攻擊是由SQL接字串時所引發的安全性問題
在沒有防隱碼攻擊的一些網站可介由任何一個input輸入
' or '1' = '1
以達到入侵的需求,最慘的是還可以下一些SQL DELETE FROM的語法

在這裡介紹如何用Replace簡單的過濾字串,以防止隱碼攻擊


UserName=Replace(Request("UserName"),"'","'+chr(34)+'")
Password=Replace(Request("Password"),"'","'+chr(34)+'")

PHP防隱碼攻擊

隱碼攻擊是由SQL接字串時所引發的安全性問題
在沒有防隱碼攻擊的一些網站可介由任何一個input輸入
' or '1' = '1
以達到入侵的需求,最慘的是還可以下一些SQL DELETE FROM的語法

在這裡介紹2個php防隱碼的方法

1.建立一個funtion 利用preg_match去檢查字串

function contains_newlines($str_to_test) {
if(preg_match("/(%0A|%0D|\\n+|\\r+)/i", $str_to_test) != 0) {
echo "你輸入的字串可能含有 injection 漏洞攻擊,請重新檢查!!";
exit;
}
}

2.利用mysql_escape_string 去將含有"'"的字串,自動加一個"\"

$str = "doremi's home";
$escaped_str = mysql_escape_string($str);
printf ("%s\n", $escaped_str);
輸出:
doremi\'s home

以上方法在為了檢查字串的安全性,再塞給sql去動作

2009年3月1日 星期日

Coreplayer Plus V1.3.0

至從2008年底在一次Youtube更新後,就無法看到FLV畫質的Youtube影片了
現在Coreplayer又出V1.3.0版本,又可以看FLV畫質的影片,爽度可是大大的提升呢..

Coreplayer是一個付費軟體,如果試用不錯不彷支持正版一下!!
TCPMP與Coreplayer是同一個開發團隊,雖然TCPMP也是個不錯的播放器,
而且免費!!但開發團隊已不再更新,此外Coreplayer功能多更多唷..支持一下吧!!
Coreplayer V1.3.0 下載點

以下為部份圖文介紹

Coreplayer主畫面


支援Youtube,並可指定帳號收看影片,只要輸入Youtube帳號是suqoishow所提供的影片,
就會列出所有最新的電視節目,輸入ChinaTimes就可以收看新聞的影片囉..
簡單的說只要你在Youtube喜愛的頻道都可以加入Coreplayer..相當方便呢..


用D80所拍下的FLV畫質

##EasyReadMore##