2023年9月18日 星期一

Bootstrap3 常用的Html 及檔案

       最近讀了資料來源1.實戰PHP7+MySQL:從0開始寫出自己想要寫的程式,才開始研究Bootstrap。

檔案下載,解壓密碼:demo1234

檔案名稱:bootstrap3.html
檔案內容:
<!DOCTYPE html>
<html lang="zh-Hant">
<head>
    <title>Bootstrap3 基本頁面</title>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device,initial-scale=1">
    <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
    <!--[if lt IE 9]>
        <script src="bootstrap/js/html5shiv.min.js"></script>
        <script src="bootstrap/js/respond.min.js"></script>
    <![endif]-->
    <script src="bootstrap/js/jquery.min.js"></script>
    <script src="bootstrap/js/jquery-migrate.min.js"></script>
    <script src="bootstrap/js/bootstrap.min.js"></script>
</head>
<body>

</body>
</html>

bootstrap3 布局容器:
1.最大寬度 1170px
<div class="container">
</div>
2.全螢幕
<div class="container-fluid">
</div>

bootstrap3 格線系統
布局容器內有row ,row內再細分成12個 columns
<div class="container">
        <div class="row">
            <div class="col-md-12">
 
            </div>
        </div>
    </div>
 
<div class="container-fluid">
        <div class="row">
            <div class="col-md-12">

            </div>
        </div>
</div>
 
bootstrap 將螢幕依解析度分成4種,如下:

    <div class="container-fluid">
        <div class="row">
            <div class="col-md-9 col-sm-8 col-xs-7">
               主內容
            </div>
            <div class="col-md-3 col-sm-4 col-xs-5">
               側邊內容
            </div>
        </div>
    </div>

    <div class="container">
        <div class="row">
            <div class="col-md-9 col-sm-8 col-xs-7">
               主內容
            </div>
            <div class="col-md-3 col-sm-4 col-xs-5">
               側邊內容
            </div>
        </div>
    </div>
 
bootstrap 外觀
利用class 就可以直接套用,若class內有好幾個樣式,可用空白隔開即可。
<h1> Bootstrap 外觀</h1>
<div class="alert alert-danger">
    警告
</div>
bootstrap 文字編排樣式
<div class="text-left text-lowercase">
    Hello
</div>
<div class="text-right text-uppercase">
    Hello
</div>
<div class="text-center text-capitalize">
    Hello
</div>
 

text-left 內容靠左對齊
text-right 內容靠右對齊
text-center 內容置中對齊
text-justify 內容左右對齊
text-nowrap 內容不自動換行
text-lowercase 小寫文字
text-uppercase 大寫文字
text-capitalize 字首大寫
 
 
 
資料來源:


2023年9月17日 星期日

解決 Captcha 實作不能呈現的問題

      今天終於成功了!!一直無法解決的Captcha不能呈現的問題!!趕快將成紀錄,免得自己忘記。
 
1.安裝LAMP 與 libapache2-mod-php php-mysql php-gd
sudo apt-get install apache2
sudo apt-get install mysql-server
sudo apt-get install php libapache2-mod-php php-mysql php-gd
sudo systemctl restart apache2
 
若不想安裝mysql ,可安裝 mariadb
 sudo apt-get install mariadb-server
 
設定mariadb
$ sudo mysql -u root
> SELECT User, Host, plugin FROM mysql.user;
>CREATE USER 'webadmin'@'localhost' IDENTIFIED BY 'demo1234';
>GRANT ALL PRIVILEGES ON *.* TO 'webadmin'@'localhost';
>UPDATE mysql.user SET plugin='mysql_native_password' WHERE User='webadmin';
>FLUSH PRIVILEGES;
>exit;
若要安裝編輯器,如Geany、Bluefish、Visual Studio Code。
指令如下:
$sudo apt-get install geany bluefish
$sudo apt install gnupg2 software-properties-common apt-transport-https wget
$wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add
$sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
$sudo apt update
$sudo apt install code


2.php 程式碼
檔案名稱:captcha_index.php
檔案內容:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>php圖形驗證碼</title>
    <script>
        function refresh_code(){
            document.getElementById("imgcode").src="captcha.php";
        }
    </script>
    <form name="form1" method="post" action="./checkcode.php">
        <p>請輸入下圖字樣:</p><p><img id="imgcode" src="captcha.php" onclick="refresh_code()" /><br />
           點擊圖片可以更換驗證碼
        </p>
        <input type="text" name="checkword" size="10" maxlength="10" />
        <input type="submit" name="Submit" value="送出" />
    </form>
 
檔案名稱:captcha.php
檔案內容:
<?php
    if(!isset($_SESSION)){ session_start(); } //檢查SESSION是否啟動
        $_SESSION['check_word'] = ''; //設置存放檢查碼的SESSION
    //設置定義為圖片
    header("Content-type: image/PNG");
    /*
      imgcode($nums,$width,$high)
      設置產生驗證碼圖示的參數
      $nums 生成驗證碼個數
      $width 圖片寬
      $high 圖片高
    */
    imgcode(5,120,30);
    //imgcode的function
    function imgcode($nums,$width,$high) {     
        //去除了數字0和1 字母小寫O和L,為了避免辨識不清楚
        $str = "23456789abcdefghijkmnpqrstuvwxyzABCDEFGHIJKLMOPQRSTUBWXYZ";
        $code = '';
        for ($i = 0; $i < $nums; $i++) {
            $code .= $str[mt_rand(0, strlen($str)-1)];
        }
        $_SESSION['check_word'] = $code;
        //建立圖示,設置寬度及高度與顏色等等條件
        $image = imagecreate($width, $high);
        $black = imagecolorallocate($image, mt_rand(0, 200), mt_rand(0, 200), mt_rand(0, 200));
        $border_color = imagecolorallocate($image, 21, 106, 235);
        $background_color = imagecolorallocate($image, 235, 236, 237);
        //建立圖示背景
        imagefilledrectangle($image, 0, 0, $width, $high, $background_color);
        //建立圖示邊框
        imagerectangle($image, 0, 0, $width-1, $high-1, $border_color);
        //在圖示布上隨機產生大量躁點
        for ($i = 0; $i < 80; $i++) {
            imagesetpixel($image, rand(0, $width), rand(0, $high), $black);
        }    
        $strx = rand(3, 8);
        for ($i = 0; $i < $nums; $i++) {
            $strpos = rand(1, 6);
            imagestring($image, 5, $strx, $strpos, substr($code, $i, 1), $black);
            $strx += rand(10, 30);
        }
        imagepng($image);
        imagedestroy($image);
    }
?>
 
 
檔案名稱:checkcode.php
檔案內容:
<?php
if(!isset($_SESSION)){
    session_start();
    }  //判斷session是否已啟動
if((!empty($_SESSION['check_word'])) && (!empty($_POST['checkword']))){  
 //判斷此兩個變數是否為空
      if($_SESSION['check_word'] == $_POST['checkword']){
          $_SESSION['check_word'] = ''
 //比對正確後,清空將check_word值        
          header('content-Type: text/html; charset=utf-8');       
          echo '<p> </p><p> </p><a href="./chptcha_index.php">OK輸入正確,將於一秒後跳轉(按此也可返回)</a>';
          echo '<meta http-equiv="refresh" content="1; url=./captcha_index.php">';       
          exit();
     }else{
         echo '<p> </p><p> </p><a href="./chptcha_index.php">Error輸入錯誤,將於一秒後跳轉(按此也可返回)</a>';
         echo '<meta http-equiv="refresh" content="1; url=./captcha_index.php">';
     }
}
?>
 
 
資料來源:


2023年9月15日 星期五

5-1-1 體溫上傳APP-任務4-體溫上傳APP-完成APP程式碼與測試

相關內容:
 
程式碼如下:
1.初始化 

 
2.程式碼與Google表單連結的關係:
 
   
 
因此,整段的程式碼如下: 

 執行測試的結果:
 






5-1-1 體溫上傳APP-任務3-體溫上傳APP-取得Google表單連結

相關內容:
 
寫在前面的注意事項。若不注意,很容易就無法將資料上傳到表單。
       表單設定的地方

       活動2-介面設計OK了,接下來則要處理 APP 與表單的連結。其目的是要讓使用者在APP上輸入資料後,按下[送出鈕]。將資料傳送到google表單,也就是活動1-體溫上傳表單。 

一、取得連結,步驟如下:


二、整理資料:

關鍵字:formResponse

最後會取得三段文字

https://docs.google.com/forms/d/1hiiQRlkAbHY8RLe6TXj1rifUScyyWWB7liw4F3K5P4Q/formResponse

發燒

?entry.848085491=number
&entry.1891524970=temperature
&entry.1033307834=%E7%99%BC%E7%87%92

正常 

?entry.848085491=number
&entry.1891524970=temperature
&entry.1033307834=%E6%AD%A3%E5%B8%B8

測試資料的時候,將上述資料整理:

座號:17

體溫:38

是否發燒?發燒

https://docs.google.com/forms/d/1hiiQRlkAbHY8RLe6TXj1rifUScyyWWB7liw4F3K5P4Q/formResponse?entry.848085491=17&entry.1891524970=38&entry.1033307834=%E7%99%BC%E7%87%92

然後將上述整理好的文字貼到瀏覽器的網址列

此時,就會看到





2023年9月12日 星期二

5-1-1 體溫上傳APP-任務2-體溫上傳APP-介面設計

相關內容:

 

教學內容:提醒學生的注意事項

延續任務 1,以手機填寫表單時,介面操作較不方便。因此,老師想製作一個上傳體溫的手機 app,讓輸入、上傳資料操作更便捷。 

目標說明:
1. 使用者只要輸入「座號」、「體溫」,程式將自動判斷是否發燒。 
2. 將填入 app 的資訊上傳至 Google表單 

步驟:
1.設定新專案:名稱:upload
2.畫面編排:10個元件

屬性值參考:
01.Screen1
螢幕方向:鎖定直式畫面 
App 名稱:體溫上傳 app 
App 標題:體溫上傳 app  


02.App標題  標籤
粗體:勾選 
字體大小:30 
文字顏色:藍色 
文字:體溫上傳 app  

03 表格配置 1 表格配置 
列數:2 
行數:3  


04 座號標題 標籤
粗體:勾選 
字體大小:20 
文字:座號:


05 體溫標題 標籤 
粗體:勾選 
字體大小:20 
文字:體溫:


06 座號輸入 文字輸入盒 
粗體:勾選 
字體大小:20 
僅限數字:勾選 
提示:請輸入座號  


07.體溫輸入 文字輸入盒 
粗體:勾選 
字體大小:20 
僅限數字:勾選 
提示:請輸入體溫  


08 送出鈕 按鈕 
粗體:勾選 
字體大小:20 
文字:送出  


09.除錯  標籤
粗體:勾選 
字體大小:20 
文字:除錯

10 網路   通訊

放置在Google Classroom的內容:

標題: 5-1-1 體溫上傳APP-任務2-體溫上傳APP-介面設計

內容:

延續任務 1,以手機填寫表單時,介面操作較不方便。因此,老師想製作一個上傳體溫的手機 app,讓輸入、上傳資料操作更便捷。 

目標說明:
1. 使用者只要輸入「座號」、「體溫」,程式將自動判斷是否發燒。 
2. 將填入 app 的資訊上傳至 Google表單 

步驟:
1.設定新專案:名稱:upload
2.畫面編排:10個元件

屬性值參考:
01.Screen1
螢幕方向:鎖定直式畫面 
App 名稱:體溫上傳 app 
App 標題:體溫上傳 app  

02.App標題  標籤
粗體:勾選 
字體大小:30 
文字顏色:藍色 
文字:體溫上傳 app  

03 表格配置 1 表格配置 
列數:2 
行數:3  

04 座號標題 標籤
粗體:勾選 
字體大小:20 
文字:座號:

05 體溫標題 標籤 
粗體:勾選 
字體大小:20 
文字:體溫:

06 座號輸入 文字輸入盒 
粗體:勾選 
字體大小:20 
僅限數字:勾選 
提示:請輸入座號  

07.體溫輸入 文字輸入盒 
粗體:勾選 
字體大小:20 
僅限數字:勾選 
提示:請輸入體溫  

08 送出鈕 按鈕 
粗體:勾選 
字體大小:20 
文字:送出  

09.除錯  標籤
粗體:勾選 
字體大小:20 
文字:除錯

10 網路   通訊

建議圖片:


軟體定義網路SDN-主題2-1 OpenFlow 概述

學習目標: 一.介紹OpenFlow特性 二.介紹OpenFlow Ports:實體port、邏輯port、保留port 一.介紹OpenFlow特性 1.OpenFlow 是 (1).控制器與交換器之間溝通的通訊協定 (2)使用了TCP (port 6653;舊版 port 6...