歐迪設計
歐迪設計官網=>請點我
此後痞客邦教學文章與作品停止更新,想看教學文件的格友門請至歐迪設計官網喔!

目前分類:php (22)

瀏覽方式: 標題列表 簡短摘要

錯誤訊息Missing argument 2 for get_xx()

 
get_xx()<=這個函式需要2個參數,呼叫時可能沒給參數或只給一個

歐迪設計 發表在 痞客邦 留言(1) 人氣()

$str="我是字串"

mb_strlen($str,'UTF-8')=>輸出 4//因為有設定編碼

strlen($str);=>輸出 12//中文字佔3個字元><


歐迪設計 發表在 痞客邦 留言(0) 人氣()

<?php
if(isset($_GET['f'])){
$str=urldecode($_GET['f']);//解碼

$filename=substr($str,strrpos($str,'/')+1,strlen($str)-strrpos($str,'/'));//取出檔案名稱

$file="../xxx/".$filename;//檔案相對路徑

歐迪設計 發表在 痞客邦 留言(0) 人氣()

<?php
echo str_replace("world","John","Hello world!");
?>
 
Hello John!
 
str_replace(參數1,參數2,參數3)
 
參數1<=要找的字
參數2<=找到後取代成這個
參數3<=來源字串


歐迪設計 發表在 痞客邦 留言(0) 人氣()

[Cannot redeclare function_name()]此錯誤訊息表示你的函式重覆宣告

請先檢查是不是有重覆require某程式(放該 function),如果是可將改成 require =>require_once,這樣就不會載入兩次。

若非上述狀況,請檢查該function是否存在於某個 for迴圈、while、foreach裡,請將此function搬出即可。


歐迪設計 發表在 痞客邦 留言(0) 人氣()

$currentFile = $_SERVER["PHP_SELF"]; 取得目前執行的檔案名稱(會有路徑)
$parts = Explode('/', $currentFile); 依 '/'分成多個陣列元素
$exe_name=$parts[count($parts) - 1];取得最後一個陣列元素 就會是我們要的 test.php


歐迪設計 發表在 痞客邦 留言(0) 人氣()

if (!isset($_SESSION)) {  session_start(); }

//判斷$_SESSION變量是否存在 

不存在才執行 SESSION_STATR();


歐迪設計 發表在 痞客邦 留言(0) 人氣()

date("j M,Y", strtotime(日期字串))


歐迪設計 發表在 痞客邦 留言(0) 人氣()

A non well formed numeric value encountered 
是指說 date ("格式",來源)

 來源的格式不是int所以會造成date函式無法轉成你指定的日期格式

修正方式 

date ("格式",intval(來源))

將來源轉成int格式即可


歐迪設計 發表在 痞客邦 留言(0) 人氣()

一般情況下使用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']);)

這樣就可正確的抓到參數的值了…

歐迪設計 發表在 痞客邦 留言(0) 人氣()

答案很簡單…那是因為該欄位設的大小不足…輸入的字元比欄位還大時就會出現這個符號…

解決的方式更簡單,加大你的欄位大小…不過之前存的資料有出現�可能就要重覆維護了…

 


歐迪設計 發表在 痞客邦 留言(0) 人氣()

 

 <Directory /var/www/www.****.com.tw/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
AddDefaultCharset big5<=預設編碼

歐迪設計 發表在 痞客邦 留言(0) 人氣()

在資料表規劃時,主鍵我們常常會使用自動編碼來產生;

但在新增完此筆資料時,總是需要將資料帶回編輯畫面;

讓使用者再次確認資料的正確性,可即時的修改;

這時就需要回傳,自動編碼的id;

以下例出參考的程式碼:

 

mysql_query($sql) or die('error'.$sql);

歐迪設計 發表在 痞客邦 留言(0) 人氣()

 

造成原因是p-key為 auto
資料型態設成 TinyInt
 
此型態的資料表示範圍為: -128~127
UNSIGNED : 0~255

歐迪設計 發表在 痞客邦 留言(0) 人氣()

1.請點選php.ini

2.開啟該檔後,查詢關鍵字SMTP

3.修改 SMTP = msa.hinet.net (此範例是以HINET,如果你的ISP提供者也是中華電信就可以照著打)

4.修改 sendmail_from = 你的帳號@msa.hinet.net

5.請重啟你本機的APache

 

寄信程式範例

歐迪設計 發表在 痞客邦 留言(0) 人氣()

condition ? value if true : value if false

條件式  ? 當條件式成立時的值 : 當條件式不成立時的值

 

舉例:

$score >59 ? "passed" : "failed"

當分數大於59分時  值等於 passed
        小於59分時  值等於   failed

歐迪設計 發表在 痞客邦 留言(0) 人氣()

unlink('img/product/z0000002.jpg');

img/product/<=圖檔路徑

z0000002.jpg<=名稱.副檔名


歐迪設計 發表在 痞客邦 留言(0) 人氣()

多個頁面共用一個子視窗檢索時,若要回傳的資料數不同時,且某個頁面又沒有回傳的欄位名稱,該回傳敘述之後的程式片斷就不會執行。


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;

歐迪設計 發表在 痞客邦 留言(0) 人氣()

許許多多的網站都會有會員機制,每次總要重打帳號使用都會閒麻煩;

所以貼心的工程師就會提供一個功能,那就是幫你記住你的帳號;讓你不用每次登入都要輸入一次。

以下提供我的作法:

網頁部份:

 


 

<input name="check1" type="checkbox" id="check1" value="t"  onclick="setid();"  <?php if($_COOKIE["id"]!=''){echo 'checked="checked"';}?>>記住帳號

歐迪設計 發表在 痞客邦 留言(0) 人氣()

<?php
 setcookie
("name""value"time()+3600);
 echo 
$_COOKIE['name'];
?>

setcookie為php中設定cookie值的函數

用法如上,name=>設定cookie的名稱

              value=>給該cookie值

歐迪設計 發表在 痞客邦 留言(0) 人氣()

1 2