PHP json_encode sting in HTML input field

json_encode 輸出於 HTML input 發生異常

把PHP中的Array透過json_encode()轉換成Json格式輸出到HTML input value中如下:

輸出於 HTML 發生異常,只剩下左側「中括號」

主要原因是Json中的雙引號與HTML的雙引號打架

可以使用 htmlspecialchars() 簡單解決這問題

在執行 json_encode() 後再執行 htmlspecialchars() 如下方代碼

如此就正常輸出囉

https://stackoverflow.com/a/21887262

[……]

閱讀更多

Social Network Service (SNS) Share Link

Facebook

  • http://www.facebook.com/share.php?u=[URL]&t=[TITLE]&pic=[IMAGE]

Twitter

  • http://twitter.com/intent/tweet?text=[TITLE]&url=[URL]&pic=[IMAGE]

Google Plus

  • https://plus.google.com/share?url=[URL]&t=[TITLE]

Pinterest

  • https://www.pinterest.com/pin/create/button/?url=[URL]&description=[TITLE]&media=[IMAGE]

Linkedin

  • https://www.linkedin.com/sharing/share-offsite/?url=[URL]&title=[TITLE]

Delicious

  • http://del.icio.us/post?url=[URL]&title=[TITLE]

Tumblr

  • http://www.tumblr.com/share?v=3&u=[URL]&t=[TITLE]

Digg

  • http://digg.com/submit?phase=2&url=[URL]&title=[TITLE]

StumbleUpon

  • http://www.stumbleupon.com/submit?url=[URL]&title=[TITLE]

Reddit

  • http://reddit.com/submit?phase=2&url=[URL]&title=[TITLE]

新浪微博

  • http://v.t.sina.com.cn/share/share.php?title=[TITLE]+[URL]&pic=[IMAGE]

QQ 空间

  • http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=[URL]

人人网

  • http://share.renren.com/share/buttonshare.do?link=[URL]&title=[TITLE]

腾讯微博

  • http://v.t.qq.com/share/share.php?url=[URL]&title=[TITLE]

https://github.com/bradvin/social-share-urls
https://chon.io/notes/social-media-sharing-link-url/

[……]

閱讀更多

PHP function alias 方法別名

開發PHP專案的時候,有時會有更改 function 名稱的需求,也許當時是趕時間草率命名,也許是拼錯字,但隨時間推移,更改 function 的名字就變得很可怕,可能一改造成一連串的錯誤,但不改又很礙眼,感覺很痛苦,為避免錯誤連換爆的這個狀況,思考是否可以用「別名」的概念,讓新的 function 跟舊的 function 都可以做一樣的事情,在不發生錯誤的情況下慢慢汰除舊名字,隨著版本的演進直至所有舊名都被移除,最後再將「別名」移除

最簡單的做法

stackoverflow Jon 提供了一個最簡單的做法

https://stackoverflow.com/a/23426311

不過此做法存在缺陷,在 class 中呼叫會找不到 function

以下是目前最好解法

由 stackoverflow Nathan Crause 提出

https://stackoverflow.com/a/2877219/6784662

做了一點小修改

龜毛了一點,我習慣別名再右方,為維持這習慣我把上面方法做了一點小修改,更好理解

[……]

閱讀更多

三竹簡訊串接 – API 網址

三竹簡訊官方API文件,API Call 的網址如下:,

https://{三竹網域名稱}/b2c/mtk/SmSend

還以為真的是直接用他官網的網域,太天真了,弄半天結果不是,最後透過客服得知三竹簡訊目前帳號分為,個人帳號 (二站)、企業帳號 (三站),Call 的網址不同,call 的網址分別為下面兩個網址:

API 網址

企業帳號 (三站)
https://smsapi.mitake.com.tw/api/mtk/SmSend?

個人帳號 (二站)
http://smsb2c.mitake.com.tw/b2c/mtk/SmSend?

簡單測試API

[……]

閱讀更多

WAMP Server change default Browser to Chrome

開啟 WAMP Sever 居然是用 IE 11 開啟,到底對不對阿,這都什麼時期的產物了,雖然直接用瀏覽器輸入網址瀏覽本地端網頁也是可行,但心裡就是有個疙瘩,來哥教你改成用你愛的瀏覽器開

修改設定檔

如果安裝路徑沒有修改的話,開啟下面這個檔案,如果安裝路徑有修改的話,自己去找這個檔案。

用你愛用的文字編輯器打開,照到該死的這一行

替換成瀏覽器執行檔位置

關閉 WAMP Server 重新開啟,SEE Chrome 出現了,開勳

[……]

閱讀更多

XAMPP 換成 WAMP Server 安裝教學

XAMPP 一直來都是我裝在自己電腦中模擬開發環境使用,最大的優點的優點就是非常簡單,在 Windows 一鍵安裝完 MySQL、PHP、PHPMyAdmin,甚至連 Filezilla Server 都可以一次裝到好,省去逐一安裝及配置的時間,又有友善的介面可以開啟這些Server,實在是非常方便。

那麼方便幹嘛換,嘿對,隨時代的更迭,PHP、MySQL、Apache 都會釋出新版本,以 PHP來說 PHP5 到 PHP7 就是一個明顯陣痛過程,部分程式需要重構,但並非所有程式都會上PHP7,然而XAMPP雖然方便但它只安裝一種 PHP 版本,如果我裝 PHP7 的版本就無法開啟 PHP5 時期的程式,這是忽然要改 PHP5 的程式變成沒有這樣的開發環境了

我相信 XAMPP 一定有辦法手動去安裝舊版本的 PHP ,但一定免不了手動安裝及配置,在切換過程中也會需要一些設定,會搞得有一點不優雅,所以如果有更好的解決方案,為何不嘗試呢?想開發什麼版本就切換到哪個版版,WAMP Server 正好有這優點,聽起來是不是很棒呢,開始試試看吧

開始之前準備

安裝新環境時都要有個好習慣,記得先備份好之前的 XAMPP 檔案,還有匯出資料庫,天知道等下安裝後會發生什麼事,至少都還有還原的機會

下載 Wamp Server

官網下載:https://www.wampserver.com/en/

等一下!!! 這什麼瀏覽器?! IE11 為什麼會開啟骨灰級的瀏覽器,阿我也不知道,不行不行這我受不了,於是我把它改回我慣用的 Chrome,不然我心裡過不去阿

至於怎麼改呢?可以參考我另一篇文章

WAMP Server change default Browser to Chrome

控制面板

WAMP Server 開啟後,在 Windows 右下角常駐程式會出現這個 icon ,相關控制功能都在這邊

更改語言

接著滑鼠指標在 icon 的上按「右鍵」,「右鍵」「右鍵」是「右鍵」,就會出現相關設定選單,其中有一個 Language 的選單,但當然不是只有俄文拉,WAMP 內建一堆語言。

再來就是 WAMPP

相容 WAMP 最酷的地方

身為一個 PHP 程序員,電腦裝個幾個版本的 PHP 也是很正常的,在 WAMP 中可以允許我們切換不同版本的 PHP 就在這邊,就這麼簡單,基本的功能面板都在這邊,除此之外還提供很多好用的工具,這就要自己慢慢完囉

相容 XAMPP 不必卸載

最後,XAMPP 與 WAMP Server 的環境都是分別獨立的,連資料庫都是,只要不要同時開啟,基本上兩者都可以使用

[……]

閱讀更多

PHP 上傳檔案,自訂錯誤訊息,當超過php.ini post_max_size 限制時

PHP上傳檔案會受限於 php.ini post_max_size 的值,這非常合理,但在程式中檔案上傳超過 post_max_size 時會直接中斷檔案上傳動作,吐出一個Warning 

在正式環境中,通常會關閉錯誤報告,程式中試著用 $_POST and $_FILES 找上傳檔案超出 post_max_size 的線索,皆回傳空值,如此一來程式很難判斷發生了怎麼一回事,沒辦法回應使用者目前情況,影響使用者體驗

透過以下代碼,可以透過PHP判斷上傳檔案超出 post_max_size 的錯誤,以便在輸出的頁面告訴使用者發生什麼事,當然也可以修改它,做需要的錯誤處裡

[……]

閱讀更多