發表文章

[Day0] 網頁設計師會用到的VSCODE與常用套件

圖片
[Day00] 網頁設計師會用到的VSCODE與常用套件 所謂工欲善其事必先立行器,VSCode已經是目前熱門主流的編輯器,原因除了直覺快速的介面操作,便利的專案與檔案管理,還有那些滿滿免費套件可以使用。套件不是一定需要的,每個人都有習慣的環境套件,找到符合自己的套件才是真正屬於自己的環境,以下是我推薦想成為網頁設計師的新手套件,可以分為四個類別來介紹。

視覺強化 屬於高亮提示或排版自動美化部分,方便在編輯程式碼時減少錯誤的宣告起始頭尾,也利於觀看程式碼能快速看出主體結構。
Bracket Pair Colorizer
幫你的{}大括弧上色,會自動對應不同顏色,幫助你輕鬆看準程式區段範圍。
Highlight Matching Tag
當游標停留在某一個區段或是標籤上,能高亮提示該屬於那些區段範圍或對應的頭尾標籤位置。
indent-rainbow
協助你排版(TAB)的空格填塞淡淡顏色,能幫助你對齊更快速方便。
Prettier - Code formatter
對HTML/CSS/JS支援自動化format排版效果,提升美觀性容易維護。
vscode-styled-components
幫助JS跟CSS有更高亮的視覺輔助效果
Comment Translate
滑鼠停留在變數、函數或註解能自動Google翻譯(可繁體),易用於原作者之註解說明。
filesize
增加資訊於左下角對於檔案空間為多少的輕資訊。
Image preview
可簡單輕巧提示該圖片預覽並縮圖於行數左側。
SVG Viewer
我們都知道內建支援圖片預覽但不支援svg格式,此套件可以補強此需求。
程式語言輔助 收錄MD、PHP、JQ、BS這類網頁開發的程式語言為主,使用某宣告或函式能方便提示語法說明,不必背誦太多語法也能輕鬆找到指定宣告語言。
docs-markdown
透過ALT+M或是F1輸入>docs就能快速生成MarkDown標籤,MarkDown初學者推薦。
Markdown All in One
提供一些常用的快速鍵,方便Markdown編寫上手,以及支援預覽效果。
PHP Intelephense
自動化的PHP代碼偵測,提供可用的函式或格式化整理等選項使用,僅限於PHP格式下作用。
建議關閉VSCODE內建的代碼
到擴展畫面 -> 搜尋輸入@builtin php -> 停用P…

[60秒筆記] PHP的headers already sent....

PHP出現了錯誤是 headers already sent.. 通常發生在session、setcookie、header(轉址)這些代碼時且同時無效使用。 這常發生在某PHP環境下正常(舊版本7.2),移植到新PHP環境就不允許使用(新版本7.3)。這是因為新版本更嚴謹,不允許這些PHP執行之前,你的HTML文件就已經有輸出了。你有兩個作法可改善。 調整代碼順序:
將session_start()或header()或setcookie()放在該php之頁首,確保這些函式之前沒有任何的打印輸出調整php.ini:
找到output_buffering,預設off改成on即可(apapche重啟)

[上課筆記] 常看見的系統維護時間並取消SQL連接

常見在PHP網頁遊戲或網站更新備份,會在指定日期或星期會自動進行系統維護並取消SQL連結。這部分分為兩個階段來討論。首先,開發者不會在每一個php去head宣告sql連結,會在另外一個建立linkdb.php並透過include作為SQL連結需要。再來是,每當被執行linkdb.php時,再連結SQL前做個時間檢查,如果剛好符合維修時間內,那應該停止SQL連接並回傳告知系統維修中

*******************************linkdb.php******************************* <?php $link=mysqli_connect("localhost","root","","a2018"); mysqli_query($link,"set names utf8") or die("資料庫連結發生錯誤"); include("stopdb.php"); ?>

接下來分兩步驟,首先到資料庫建立判斷的時間所用,再來設計一個stopdb.php,做為時段上的檢查



*******************************stopdb.php******************************* <?php $check_time=strtotime("+7hour"); $now_time=date("H:i:s",$check_time); $sql="select * from w05_webstop where ws_start<='$now_time' and '$now_time'<=ws_stop"; $ro=mysqli_query($link,$sql); $row=mysqli_fetch_assoc($ro); $num=mysqli_num_rows($ro);//計算這次搜尋到幾筆資料 if($num==1){ $check_stop=0; $now_day=date("Y-m-d",…

[上課筆記] 使用PHP做一個資料管理

作業練習1. 建立一個新的TABLE,欄位4個,規格與範例如下[索引鍵(int)][動物名稱(text)][動物種類(text)][體重(int)]1阿瘦貓熊302. 建立一個頁面,提供文字欄位3個與按鈕1個,可以新增動物資料3. 建立一個頁面,可以顯示所有動物的資料,例如:1阿瘦貓熊304. 建立一個頁面,可以刪除指定的動物資料(輸入索引鍵刪除)5. 建立一個頁面,可以修改指定的動物資料,藉由輸入索引確定欲修改的資料(但索引鍵不能被修改)會用到的PHP功能

include("head.php");可以將別的網頁整合到目前內容,通常被用PHP做分割頁面做header.php+body.php=index.php,以及一些通用的語法可以做個include方便節省

switch($page){case "main":include('main.php');break;}SWITCH判斷,比較多項目要做不同結果執行時,比較清楚條列的判斷式用途

$link=mysqli_connect("localhost","root","","a2018");mysqli_query($link,"set names utf8");透過php去登入SQL,需要輸入位置,帳號,密碼,跟資料庫名稱。而設定UTF8作為避免寫入中文時會發生亂碼,所以第兩行通常會跟著馬上寫。同樣這兩行會習慣獨立寫在例如linkdb.php內,再透過include("linkdb.php");的方式快速放在會操作SQL的網頁中。

header("location:???");設計form表單送出資料時,如果你操作沒有導向其他頁面,其之前的資料還會存在,會導致你重整F5時,資料又再重複送出。所以會利用header要求到其他頁面脫離的表單的服務。

$sql="SELECT * from w04_animal;";mysqli_query($link,$sql);每次要執行上傳遠端的SQL語法時,每次都要透過mysqli_query去進行連結SQL。否則PHP不會自動去跟資料庫傳送指令。

$ro=mysqli_que…

[上課筆記] PHP與SQL 第二彈

前置作業(作業):建立三個table
1. 客戶資料 - 欄位:客戶帳號、密碼、姓名
CREATETABLEw03_customer(c_idint(10) AUTO_INCREMENT,c_accounttext,c_passwordtext,c_nametext,PRIMARYKEY(c_id))
# crate table 客戶資料表 (索引欄 整數(長度10), 客戶帳號 文字串, 密碼 文字串, 姓名 文字串, primary key(索引值));

2. 訂單資料 - 欄位:產品編號、購買數量、客戶編號、訂購時間
CREATE