2008年1月16日 星期三

監獄兔(Usavich) vol.26


2008年1月15日 星期二

網頁離開頁面跳出確認視窗(by jQuery)

  有在使用Gmail的人應該都知道,在撰寫郵件時有個貼心的小功能會在你尚未編輯完成,但卻按其他的超連結或關閉視窗時,會跳出一個小視窗提醒你要離開此頁面,資料會消失,這個貼心的小功能其實很簡單就能完成唷。


##CONTINUE##  這個功能是使用Windows.OnBeforeUnLoad這個函數完成的,jQuery也有提供關於這個變數的用法,而且應用jQuery的其他語法,可以做到頁面有變更的時候才挑出這個視窗提醒唷。

var modified = false;
$(document).ready(function() {
$("input,select,textarea").change( function() {
modified = true;
});
});

window.onbeforeunload = function confirmExit(){
if (modified)
return '有尚未儲存的資料,確定要離開嗎?'; //自訂提示
}
  接下來只需要在送出時把modified宣告為fals,這樣在送出時就不會跳出是否要離開的頁面了,不過這個缺點是,只能自訂圖片中紅色區域的字樣,無法像Gmail一樣,完全跳出自訂的視窗。

2008年1月8日 星期二

使用php透過Gmail發信

  要使用php讓網站也能寄信,要設定一堆有的沒有的設定,有的還要自己架Mail Server這實在太麻煩了,讓這一切透過Google大神幫我們搞定吧

  不過Google大神是使用SSL這種安全性加密技術來接收郵件的,這對某些php程式可能會水土不服,沒關係,這點小問題膜拜一下Google大神,很容易就解決了

##CONTINUE##  Google大神告訴我這篇文章有我想要的答案,不過這篇文章年代可能有點久遠囉,有些地方有小錯誤,讓我指正他一下 XD
  1. phpmailer出到2.0x囉,1.73實在是太老了點,如果在2.00版本的話,class.phpmailer.php這個檔案應該是在587行插入
    //Modify by Fwolf @ 2006-4-14, to enable ssl mail connection $host = $this->Host;
    $port = $this->Port;
    而不是在544行,另外在class.smtp.php則是不用做任何修改,因為它已經幫你改好了
  2. 由於Gmail寄信是用SSL協定,所以根據http://tw2.php.net/manual/en/ref.openssl.php的說法,要讓PHP的openssl啟動,需要複製ssleay32.dll 及 libeay32.dll 到system目錄,然後將php.ini中的openssl註解取消。如此,PHP便能支援openssl。
    這邊的說法也錯了ssleay32.dll與libeay32.dll是要複製到windows下的system32資料夾下,而不是system資料夾
  另外需要注意的是,如果你安裝的是XAMPP的話,php.ini是要去apache/bin底下找,千萬別呆呆的學我改php資料夾下的php.ini =.=,還有如果你有成功開啟openssl服務的話,在phpinfo頁面中應該可以看到以下畫面,若沒看到就是開啟失敗囉...


  幫大家一個忙
  引申閱讀: