分類: PHP, JavaScript, Sql
php 驗證碼 imgage 圖像函數,font 路徑
在驗證碼使用 imaettftext 時, imagettftext( resource
image, float size, float angle, int x, int y, int color, string
fontfile, string text ),fontfile 可能因為
GD版本不同,查找目錄的方式可能不同,因此找不到字型檔,在檔案前加入路徑,如:$font = './symbol.ttf';加入 ./
強迫查找當前目錄就可以
驗證碼重新讀取
今天在玩網頁登入加入驗證碼,可是在重新讀取時一直沒有作用,後來查網才知道,因為 src 沒有改變,所以不會重新執行
原來 img 的 jquery
$("#getcode_num").click(function(){
$(this).prop("src", "captcha/code_num.php" ); })
//沒有作用,因為 src = "captcha/code_num.php" 永遠一樣.,不會改變
改成
$("#getcode_num").click(function(){
$(this).prop("src", "captcha/code_num.php?code=" + Math.random()); });
//改變,因為 src = "captcha/code_num.php?code=" + Math.random()); 因為 random每次改不一樣的值,code 參數隻是讓 src 不一樣,在後端不用處理
php mysqli_multi_query 執行多筆 sql 指令 -- update 多筆用
在 update 不同值時, mysqli_query 只能一筆一筆更新,時間效率都很差,上網找的方法是產生一個更新資料暫存表,再用唯一值一次更新.
經過重覆測試,指令如下:
(閱讀全文)
mysql 插入數據時出現 Incorrect string value: '\xF0\x9F...' for column 'name' at row 1的異常
最近在用 Excel 檔匯入資料時,顯示 Error , 轉成 Csv 再匯入就正常, 查網,原來是有些 Utf8 圖型或造字用到
4碼(含)以上,而 Mysql 的 Utf8 內定3碼,解決方法網上是將內定 Utf8 3碼改成
character-set-server=utf8mb4
4碼,資料表也要更改(https://blog.csdn.net/m0_37983376/article/details/79224862)有修改方法,可是我改後無效,不知少了什麼,後來想,那些造字沒有顯示對網頁來說沒有那麼重要,所以想到一個取巧的方式,將這些字丟掉不存在就可以了,方法是,在
php 程式,將 utf8 轉成 big5 ,那些字就會用 "?" 代替,再將它轉回 Utf8 給網頁用,再樣那些字就給轉不見了, Csv
不用轉,因為它本來就是 big5,程式自動轉成 Utf8 ,指令如下: (閱讀全文)
phpexcel中PHPExcel_Exception Invalid cell coordinate
那是欄位超出 26 的原因,Excel A1.B1.......Z1,AA1,AB1...所以輸出的時侯要轉換, Google
看到直接在程式轉換,覺的不好用,自己寫一個小函數,代入 row 從 0 開始,直接轉換
A,B,C.....AA,AB,AC........ZX,ZY,ZZ ,應該足夠用
function n2a($num)
{
$b = 26; //除數,26個英文字母
$c = 64; //商+64 ,第二位英文字
$d = 65; //餘數+ 65 , 餘數字母
$aa =(int)($num / $b) ; //有無超過 26
$bb = $num % $b ; //餘數
$ret = ($aa) ? chr($aa+$c).chr($bb+$d) : chr($bb+$d) ;
return $ret;
}
javascript 不同型態比較不相等
在取部份字串時, 用 substr 取是 String ,match 取是 Object ,直接 if(substr == match) 傳回 False 必須改字串才能比較,如下:
var str = 'c002';
mstr = str.match(/\d+/).toString();
sstr = str.substr( 1 , 3 ).toString();
alert(mstr + " = " + typeof(mstr) + "\n" + sstr + " = " + typeof(sstr));
jquery 用 display 時 ie 沒有作用
jquery 在用 select option 時 hide() 在 firefox , chrome 可以,但是在 ie 時沒有作用,只能用 disabled ,後來想到 jquery 可以串聯使用,於是試用 $(".arrnoout").prop('disabled',true).hide(); 將兩種功能串在一起,各取所需儘然可以, firefox,chrome 可以 hide(), 而 ie 也可以 disabled
用 jquery 時更改 js 檔一直沒用
今天在改程式時,增加網頁功能,更改 jquery 的 js 檔案,一直沒有作用,後來想到是不是 buffer 問題,直接叫出我的 js 檔 (piggy.js) 結果沒有更改,重新整理後改成新的就有作用了,第一次碰到,原來 js 檔可能在 buffer ,而不會更新,下次碰到要記得叫出來看看
jqurey 及 form table 的順序
今天在用 Ajax 的查圖程序時,當更改圖檔時在 pc,ipad 手機時,圖檔顯示都正常,可是在 andrid 手機時會最大化到超出螢幕 , 後來發現只要將 順序改為<form...><table ...>
就正常了,之前在新增 html 檔案時也發現過一次,看來用 <form...> <table...> 時比較不會出狀況的,至於為什麼,不知道
20200914
只要是用新増 html 元件的都要用 <form><table> ,用 <table><form>在 client 有作用,但是在 Server端,抓不到新增元件的值
alter table Sql 表格處理
第一,我們要加入一個叫做 "Gender" 的欄位。這可以用以下的指令達成:
ALTER TABLE Customer ADD Gender char(1);
接下來,我們要把 "Address" 欄位改名為 "Addr"。這可以用以下的指令達成:
ALTER TABLE Customer CHANGE Address Addr char(50);
再來,我們要將 "Addr" 欄位的資料種類改為 char(30)。這可以用以下的指令達成:
ALTER TABLE Customer MODIFY Addr char(30);
最後,我們要刪除 "Gender" 欄位。這可以用以下的指令達成:
ALTER TABLE Customer DROP Gender;
來自:https://www.1keydata.com/tw/sql/sql-alter-table.html