練習寫了一個賀卡程式,寫賀卡程式其實並不難,為了考驗自己我做了一些更突破的方式,結合 Flash 來讓賀卡有動態效果,既然運用到 Flash 只好將程式改為 utf-8 編碼,顯示的文字才不會出現亂碼,也能使用各國語言,但沒想到在製作完成測試時,才驚覺 utf-8 編碼的 PHP 程式,郵件的「主題」無法顯示完整的中文,這個問題之前就困擾我很久,曾接過一個案子也需要用 utf-8,那時候沒解決問題就暫時擱著,這一擱置就將近了一年,這次查詢更多資料,總算找到方法。
$subject = "=?utf-8?B?" . base64_encode("賀卡通知") . "?=";
在寫程式的過程中有一個問題一直讓我想不通,表單傳來的值設為 x 或 y 預覽的時候經過判斷式是 OK 的,但發送寫入紀錄檔後,於領取賀卡的頁面從紀錄檔中讀出的 x 或 y 值卻無法讓判斷式正常運作。
預覽頁面 : (正常)
if($_POST['Style']=="x"){
- - - - - - - - - - - - -
}
領取頁面 : (無法判斷)
從紀錄檔讀取 $style 值等於 x 時
if(x == $style){
- - - - - - - - - - - - -
}
最後我將原本的值 x or y 改為 0 or 1 才解決這個問題。
賀卡程式的版面還沒完成設計,賀圖或音樂都是臨時選的,先放上來測試看看,在想怎麼做才能讓 Yahoo 的信箱,不把領取賀卡通知信歸類為垃圾郵件,我曾經看過一篇文章:
在 PHP 內用 mail() 發出郵件時,如果沒有指定 Return Path,系統便會以預設的電郵地址代替.很多 email server 會將這類 email 檔掉或者標示成 spam ,雖然我在 header 指定 Return-Path 卻沒有作用,再詳細找一下果然 php mail() 的 Return-Path: 參數,真的沒有作用,繼續努力吧!
[ 查看我的電子賀卡 ]
文章標籤
全站熱搜

領取頁面 : (無法判斷) 從紀錄檔讀取 $style 值等於 x 時 if(x == $style){ - - - - - - - - - - - - - } 這裡的 x 是字串吧? 若說 x 加上個雙引號, 會不會比較恰當? 另外, 我自己比較習慣這樣寫 if($style == "x") 也就是把 $style 先擺在前面
我一開始也是這樣寫,後來發生問題改了很多地方,就變這樣了= =" 不過有沒有雙引號有差別嗎?
對於 PHP 來說, 我若沒記錯的話, 主要是資料型態的不同. "123" 以這裡來說, PHP 會視為 "文字" 123 則會視為 "數字" 正確寫法我有點忘了 假設 $a = "123"; $b = "456"; print $a + $b 結果應該會是 "123456" 但若 $a = 123; $b = 456; print $a + $b 則結果應該會是 579 或者妳也可以用亂數產生一組數字 然後妳用表單去填寫這組數字並進行比對 妳可能會發現比對結果都是有誤的 因為亂數產生的是 "數字" 而表單裡的數字會視為 "文字" 資料型態的不同, 在判斷上就會出錯了 以上, 是我以我概念做說明, 如果跟實際上有出入.... 哈哈哈, "郎不是哇台耶"
我仔細再看一下書籍,的確~~ 其實在我用x和y時,我也改過雙引號 是沒有作用的,還是只能用數字
如果, 判斷式沒有作用, 建議先把變數裡的值在網頁上顯示, 這主要是要知道變數裡的值是什麼. 通常我會在判斷式前顯示一次, 判斷式後再顯示一次, 用以確保判斷式是否有誤, 以及變數裡的值是否在我們掌握之中.
有ㄚ~我也有這麼做的確可以從紀錄檔讀出值x或y,但判斷式就沒辦法說...
我很喜歡這個賀卡程式耶^^ 可是~預覽之後如果不滿意 沒辦法回上一步修改 如果按上一頁就變成要全部重寫了 是嗎?
我用 IE or Firefox 瀏覽器都是可以回上一頁修改的 除非按下寄送就無法再回到上一頁 安全性考量預防重複發送.
你這個程式寫得真好~~好喜歡這樣的感覺~^^ 可以開放教學或是有範例嗎? 也好想寫一個電子賀卡的程式~^^
謝謝你~因為寫的很陽春,功能與安全上都還不齊全 所以沒有考慮開放,網路上也有許多不錯的賀卡程式 搜尋一下Google吧~^^~
*****