Garmin Wallent

買Garmin 265,除了要它的跑步、GPS功能之外,也想要它悠遊卡的功能。可是沒常常用,到了要感應時,都會手忙腳亂的,感應失敗。趁著這次搭火車去嘉義,運作的很順利,趕快把步驟記錄起來。


步驟一:常按啟動鈕,讓它出現選單。

步驟二:按start鈕後,出現悠遊卡的樣子。

步驟三:出現感應的符號,才來靠近感應機器。

又完成一個賽事

這次的中小學田徑賽實在是驚險,先是主辦學校換人、賽程表匯入有問題、領隊會議更換組別有問題、比賽紀錄出現問題。還好一項一項解決,把這些困難都當成是一次,可以加深對網站程式認識的機會,這樣就會慢慢釋懷了。

想辦法努力模仿學習

需要改進的地方

  1. 賽程表匯入有問題     
    • 改成匯入後,檢查play_group_id,play_item_id,ol_id是否為空值,將錯誤存成一個txt檔。
    • done!
  2. 更改組別編賽道有問題
    • 目前想法,寫一個可以手動單一換編組賽道的程式。
  3. 400公尺400跨欄成績格式有問題
    • 改play_item的game_unit的值
    • 400M的play_item_id是13,400跨欄的play_item_id是19。把它們的game_unit改成6;另外記得改紀錄的成績格式,不然大家都破紀錄。
    • done!
  4. 選手編號碼有問題
    • 編號碼布時要再check。
    • done!
  5. 網站新聞排序改成DESC
    • index.php的排序增加DESC的排序。
    • done!

PHP 把資料寫入txt檔

把資料寫入txt檔有點複雜,學問有點大,而且發現換行的符號在不同系統是不一樣的,因此紀錄一下。

函式

file_exits()

檔案是否存在 傳回值1,0

file_open() 打開檔案

參數
“r” 開啟為可讀取,檔案指標位於檔案開頭
“r+” 開啟為可讀寫,檔案指標位於檔案開頭
“w” 開啟為可寫入,檔案指標位於檔案開頭。若檔案已存在,則刪除其內容,若不存在則建立該檔案。
“w+” 開啟為可讀寫,檔案指標位於檔案開頭。若檔案已存在,則刪除其內容,若不存在則建立該檔案。
“a” 開啟為可寫入,檔案指標位於檔案結尾。若檔案不存在,則建立。
“a+” 開啟為可讀寫,檔案指標位於檔案結尾。若檔案不存在,則建立。

fclose() 檔案關閉

Windows 系統換行符號是:  \r\n

Mac 系統換行符號是:  \r

Linux 系統換行符號是: \n

搭個便車吧!

危機解除

長久以來一直把我的學習資料、生活點滴,各放置在google及自己的wordpress,再加上自己測試用的網站。算一算,總共要三個網站要維護,其中兩個網站是放在自己架設的伺服器中。

自己架伺服器好處是,可以順便學學Linux、mysql、php。讓我不只接觸php也學shell scrip、SQL語言。

主機的位址是用中華電信的IP,我的電信費用讓我可以擁有一個I固定IP跟七個浮動IP,想架站就必須先解決IP的問題,於是我先申請一個固定IP,並研究如何把家裡的分享器設定指向一台伺服器。解決了固定IP,就變成Domain Name了。

今年七月忍不住先申請了免費的DNS,是用myddns申請的。但是,他的免費性質,造成有很多雜七雜八的網站來申請,其中有色情、有詐騙得。導致此網域,被臺南市網解析為不受歡迎網站,而無法從學校端連網。於是我在九月申請了中華電信的Domain Name:wwesbake.idv.tw,每年400元,金額還可以。解決了Domain Name的問題,另一個則是SSL。

每次看著自己的網站連結總是出現不安全的訊息,總是讓我很在意。於是查一下中華電信的SSL服務,一年竟然要3000元這麼多。昨天(10/13)查一查有沒有免費不用錢的,就找到Certbot這個服務。還蠻好裝的,一下子就起來了,用起來也沒什麼問題。所以SSL也起來,真是開心!

心雪來潮試試網站裡的運動程式,竟然會出現一些問題,是可以用程式判斷來解決。可是登入時產生迴圈的問題,不知道該怎麼解決?一時慌張亂了頭緒,於是,就把Certbot移除,可是變成apache2出現問題,重新安裝apche2,PHP也出現錯誤。三個網站有兩個網站無法開啟,網站上的心得資料也打不開。

這時還好有google網站,讓我平時維護的心得資料可以用得上,今天(10/14)早上終於可以運作了。

所以,多做一點是好事!
不急,有事慢慢解決!
下次要慢慢的思考,不要慌!不要慌!

免費SSL

何謂SSL

為了讓使用者於瀏覽網頁時安全地傳輸資料,特別是具備後台管理或輸入個人機敏資料的網站,應該使用網站資料傳輸加密協定(如HTTPS),透過SSL憑證加密後讓資料傳輸更安全,並且若網站升級採用新一代的HTTP/2的網頁傳輸協定,其先決條件就是必須使用HTTPS加密。

一般而言要使用加密傳輸,若不是使用系統自發憑證(使用Chrome瀏覽器閱讀時會出現「不安全的憑證」),便需要向第三方以支付年費方式購買SSL憑證,本說明將提供於伺服器上安裝免費的憑證(以Let’s Encrypt為例)教學文件,為大家的網頁傳輸加密。          資料參考:師大資訊中心

申請及使用

Let’s Encrypt是由各大非營利團體為了推廣 HTTPS 而推出免費 SSL/TLS憑證服務,每次申請有效期為3個月,並可設定自動更新憑證。

我是主機的擁有者,所以選擇安裝Certbot軟體。

1.選擇 apache+Linux(snap)

2.ssh登入主機安裝snapd

sudo apt update
sudo snap install --class certbot

3.Prepare the Certbot command

sudo ln -s /snap/bin/certbot /usr/bin/certbot

4.Choose how you’d like to run Certbot

sudo certbot --apache

5.Test automatic renewal

sudo certbot renew --dry-run

後記:

安裝後運動程式會有問題,必須下判斷式去判斷。

發現網站加了SSL後,運動網站有點問題。
目前解決方式:
/include/config.php
加上判斷
//URL
if($_SERVER["HTTP_HOST"]=="wwesbake.idv.tw"){
   define('ROOT_URL' , "https://". $_SERVER["HTTP_HOST"] ."/$web_name/") ; 
}else{
   define('ROOT_URL' , "http://". $_SERVER["HTTP_HOST"] ."/$web_name/") ;
}

除了要加判斷式之外,登入時轉址還會出現錯誤。檔案在:/var/log/apache2 的 error.log檔

造成網頁出不來,移除Certbot,卻出現無法執行apache2的情形。

重裝apache2連帶影響php5.5,到我的google網站去看教學。安裝了php5,只有裝部份的php5模組,真是糟糕!爬一爬文章,再加上自己的判斷,終於是在10/13晚上裝好了,可是自己的網站還是不行。不過,phpmyadmin竟然可以跑,心比較平靜一點,因為資料還在就好。抱著忐忑的心去睡覺吧!

早上(10/14)起床,突然想一想應該是php.ini設定的問題。果然是

Short_open_tag 要設定on
display_errors 設定on
php.ini 檔案位置

設定好就可以執行了。

Pear 安裝 DB套件

主機  Ubutu 14.04.06 + PHP5.5

下 pear list 指令  

沒有安裝DB套件

先升級 pear 

pear  install  PEAR-1.10.10

再安裝 DB套件

pear install DB

就有DB的套件了

引入 DB

require “DB.php”;

連接mysql資料庫

$dsn = "mysql://{$mysql_user}:{$mysql_pass}@{$mysql_host}/{$db_name}";
$dbCon = DB::connect($dsn);
$sqlstr=" select * from gov ";
$sth = $dbCon->query($sqlstr);

三種取值方法

Method-1
$row = $sth->fetchRow(DB_FETCHMODE_ASSOC);
print "first".$row[gov_code]."-".$row[login_pass]."
";

Method-2
$row1 = $sth->fetchRow(DB_FETCHMODE_OBJECT);
print "second".$row1->gov_code."-".$row1->login_pass."
";

Method-3
$row2 = $sth->fetchRow();
print "third".show_array($row2)."
";

設定中文編碼UTF8

$dbCon->query('SET NAMES utf8');