歐迪設計
此後痞客邦教學文章與作品停止更新,想看教學文件的格友門請至歐迪設計官網喔!
目前分類:php (22)
- Jul 26 Thu 2012 17:08
Missing argument 2 for get_xx()
- Jul 12 Thu 2012 18:32
php 字元計算[mb_strlen / strlen]
$str="我是字串"
mb_strlen($str,'UTF-8')=>輸出 4//因為有設定編碼
strlen($str);=>輸出 12//中文字佔3個字元><
- Mar 02 Fri 2012 10:19
php 強制下載檔案
<?php
if(isset($_GET['f'])){
$str=urldecode($_GET['f']);//解碼
$filename=substr($str,strrpos($str,'/')+1,strlen($str)-strrpos($str,'/'));//取出檔案名稱
$file="../xxx/".$filename;//檔案相對路徑
- Mar 01 Thu 2012 17:14
php 字串取代
<?php
echo str_replace("world","John","Hello world!")
;
?>
Hello John!
str_replace(參數1,參數2,參數3)
參數1<=要找的字
參數2<=找到後取代成這個
參數3<=來源字串
- Mar 01 Thu 2012 12:20
php error code: [Cannot redeclare function_name()]
[Cannot redeclare function_name()]此錯誤訊息表示你的函式重覆宣告
請先檢查是不是有重覆require某程式(放該 function),如果是可將改成 require =>require_once,這樣就不會載入兩次。
若非上述狀況,請檢查該function是否存在於某個 for迴圈、while、foreach裡,請將此function搬出即可。
- Mar 01 Thu 2012 12:04
php 取得目前執行頁面的檔案名稱
$currentFile = $_SERVER["PHP_SELF"]; 取得目前執行的檔案名稱(會有路徑)
$parts = Explode('/', $currentFile); 依 '/'分成多個陣列元素
$exe_name=$parts[count($parts) - 1];取得最後一個陣列元素 就會是我們要的 test.php
- Feb 24 Fri 2012 11:36
[php] error: A session had already been started – ignoring session_start() 你的session已經啟用
if (!isset($_SESSION)) { session_start(); }
//判斷$_SESSION變量是否存在
不存在才執行 SESSION_STATR();
- Feb 23 Thu 2012 18:58
將日期字串格式化顯示
date("j M,Y", strtotime(日期字串))
- Feb 17 Fri 2012 12:14
[php error ]A non well formed numeric value encountered
A non well formed numeric value encountered
是指說 date ("格式",來源)
來源的格式不是int所以會造成date函式無法轉成你指定的日期格式
修正方式
date ("格式",intval(來源))
將來源轉成int格式即可
- Sep 16 Fri 2011 16:01
使用get傳參數,含有特殊字元傳不過去怎解?解藥在這…
一般情況下使用get 傳參數只,傳遞頁 (ex :shopping_cart_add.php?s_p_no=".$row[0].'&s_pr=1');接收頁(ex: $s_p_no=$_GET['s_p_no'];)
但如果$row[0] 內容值含有特殊符號[@#$%!],接收頁取值時會發現特殊字元都被清空了…
解決的方法很簡單,就是透過 urlencode() 來編碼,urldecode( )來解碼。
傳遞頁 (ex :shopping_cart_add.php?s_p_no=".urlencode($row[0]).'&s_pr=1');接收頁(ex: $s_p_no=urldecode( $_GET['s_p_no']);)
這樣就可正確的抓到參數的值了…
- Sep 16 Fri 2011 09:31
php 為啥會出現�符號?是亂碼嗎?答案是…
答案很簡單…那是因為該欄位設的大小不足…輸入的字元比欄位還大時就會出現這個符號…
解決的方式更簡單,加大你的欄位大小…不過之前存的資料有出現�可能就要重覆維護了…
- Jul 07 Thu 2011 11:11
big5編碼網站連結到utf8網頁後變亂碼 解決方法
<Directory /var/www/www.****.com.tw/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
AddDefaultCharset big5<=預設編碼
- Jun 11 Sat 2011 17:40
php取得自動編碼id的最後一碼
在資料表規劃時,主鍵我們常常會使用自動編碼來產生;
但在新增完此筆資料時,總是需要將資料帶回編輯畫面;
讓使用者再次確認資料的正確性,可即時的修改;
這時就需要回傳,自動編碼的id;
以下例出參考的程式碼:
- Apr 23 Sat 2011 14:06
Duplicate entry '127' for key 1…錯誤訊息
- Jan 31 Mon 2011 21:31
php-mail函式使用設定
1.請點選php.ini
2.開啟該檔後,查詢關鍵字SMTP
3.修改 SMTP = msa.hinet.net (此範例是以HINET,如果你的ISP提供者也是中華電信就可以照著打)
4.修改 sendmail_from = 你的帳號@msa.hinet.net
5.請重啟你本機的APache
寄信程式範例
- Dec 19 Sun 2010 13:43
php 三元運算子
condition ? value if true : value if false
條件式 ? 當條件式成立時的值 : 當條件式不成立時的值
舉例:
$score >59 ? "passed" : "failed"
當分數大於59分時 值等於 passed
小於59分時 值等於 failed
- Sep 19 Sun 2010 15:06
php刪除在伺服器中的圖片
unlink('img/product/z0000002.jpg');
img/product/<=圖檔路徑
z0000002.jpg<=名稱.副檔名
- Sep 06 Mon 2010 10:11
共用檢索回傳值,欄位不同時的解決方案
多個頁面共用一個子視窗檢索時,若要回傳的資料數不同時,且某個頁面又沒有回傳的欄位名稱,該回傳敘述之後的程式片斷就不會執行。
function c1(a,b,c,d,e,f){
window.opener.document.getElementById("ss1_no").value =a;
window.opener.document.getElementById("ss1_order_no").value =b;
window.opener.document.getElementById("ss1_cum").value =c;
window.opener.document.getElementById("ss1_item").value =d;
- Aug 27 Fri 2010 20:21
登入頁面 記住帳號的做法
許許多多的網站都會有會員機制,每次總要重打帳號使用都會閒麻煩;
所以貼心的工程師就會提供一個功能,那就是幫你記住你的帳號;讓你不用每次登入都要輸入一次。
以下提供我的作法:
網頁部份:
<input name="check1" type="checkbox" id="check1" value="t" onclick="setid();" <?php if($_COOKIE["id"]!=''){echo 'checked="checked"';}?>>記住帳號
- Aug 27 Fri 2010 20:13
php cookie的使用方法(含javascipt設定cookie)
<?php
setcookie("name", "value", time()+3600);
echo $_COOKIE['name'];
?>
setcookie為php中設定cookie值的函數
用法如上,name=>設定cookie的名稱
value=>給該cookie值