推薦這本書,從本機建立環境,到之後的操作都有詳細的說明,感恩。
P5-29,有成功更改貼上收件者來寄信。尚未測試gmail與 BCC。
P5-29,若要CC給其他人,要加在後面的郵件表頭,每個都要獨立的一行,用點(.)連結起來。
$mailHeader = "Bcc: aa@gmail.com\r\n";
$mailHeader .= "Bcc: bb@gmail.com\r\n";
郵件內容編碼問題,$mailHeader = "Content-type:text/html;charset=big5";
郵件主旨編碼,要被 "=?UTF-8?B?" 以及"?=" 包起來,再用 php函式 base64_encode處理。$mSubject = "=?UTF-8?B?".base64_encode("主旨")."?=" ;
PHP檔案,存檔的時候也要用utf8。(VSC與DW建立的檔案,用txt開啟,另存時就可以看到是否為utf8嗎???
P5-27,在<php.ini> 設定SMTP,就可以用 mail()函式寄信。
if ( mail ( "david@gmail.com" , " 主旨" , " 內容" [, 郵件表頭] ) ) { echo '寄出成功' ; }else{ echo '失敗'; }
P5-24,亂數函式,rand(0,5); // 產生0~5的亂數。
srand( (double)microtime() * 1000000 ) // 利用時間百萬分之一秒 在乘上 一百萬。
P5-15,遞迴函式 (效能比 迴圈 差,但邏輯好? 程式碼較少)
P5-14,檢查是否可以呼叫函式,if (function_exists( $變數函式) ) { $變數函式(); }
P5-13,呼叫函式,假設 function fun1() {}
這時可以 $變數函式 = "fun1"; //呼叫函式
$變數函式 (); //執行函式
P5-12,函式內修改全域變數,將變數放入 $GLOBALS['全域變數'] ,即可修改。
P5-9,取得函式的變數資訊。
個數,func_num_args();
第N個,func_get_arg(n-1);
轉成陣列,func_get_args();
P5-8,$變數的傳址呼叫,在前面加個 & (&$變數),這時不管在函式內、外修改,都會改變$變數。
function showA( &$a ) { $a += 2; }
P5-3,自訂函式,PHP3以前,函式要先寫才能呼叫。還是先寫函式在呼叫。
function 函式名稱 ($變數1 , $變數2='預設值' , ...) { 執行; [也可以 return 回傳值 ; ] }
P4-11,迴圈,while、do ... while、for、 foreach 四種。搭配 break、continue、goto。
while ($i < 10 ){ 執行; $i++; }
do { 執行; $i++; }while( $i<10)
for ( $i=0; $i<=10; $i++) { 執行; }
foreach ($_POST['items'] as $v ) { echo $v."<br>"; }
P4-2,條件控制,if 與 switch,兩種,搭配 break、continue、goto。
if (條件1) { 條件1成立就執行 }elseif (條件2) { 條件2成立就執行} else { 都沒符合條件就執行}。
switch ("值") { case "值1" : 執行1 ; break;
case "值2" : 執行2; break; case "值3" : 執行3; break; default: 值都不符合才執行; }
P3-43,include_once、require_once,可以避免重複include、require。例如資料庫連線,且建議將引入檔案都用php較安全。
P3-41,include與 require差別。
重要的跑require,因為錯誤中斷程式 (不能回傳值)。
include會繼續跑下去,在迴圈中,建議使用 include,因為可以回傳值。
P3-39,select 可以用陣列傳送, select name='items[]' ,中括號。
接收,用foreach迴圈,foreach ($_POST['items'] as $v ) { echo $v."<br>"; }
P3-34,傳送(POST可以改成GET),form 裡面要放1、2個東西, 內容要放3、4個東西。
1. method="POST" 或"GET",2. action="某個php"
3. input的 name , 4. input 的 type='submit'。這樣就可以傳送到某個php。
接收(POST可以改成GET),某個php裡面可以用 $_POST[' input的name'];
P3-32,執行shell指令。因為使用WIN10,所以還要調整顯示編碼。
$Phinet = `ping 168.95.1.1`;
echo iconv('big5', 'utf-8', nl2br($Phinet));
iconv() 將big5轉成 utf8。
nl2br (是NL,不是N1)可將傳回的結果自動分行顯示。
P3-10,常數的說明,不能放在雙引號裡面使用,只能用點 (.) 連結常數。
const eHappy = 'https://google.com'
echo "網址是" .eHappy.",請點選";
P3-6,變數的說明,前面加$字號。可以放在雙引號中使用,也可知道使用者的IP ($_SERVER['REMOTE_ADDR'] )。
P2-14,說明VSCODE的設定。
P-2-3,說明XAMPP的設定。