資訊專案系統開發 實作課程 講師:張秀山 css0503@gmail.com
參考網址 https://acd.idv.tw/wadatest/admin 帳號:admin 密碼:123456 程式是PHP+Mysql
環境安裝 Appserv安裝 PHP+Mysql 的執行環境 網站伺服器 Sublime安裝 程式編輯器
Appserv安裝 https://www.appserv.org/download/ 下載 Download 執行 appserv-win32-8.6.0.exe
Appserv安裝
Appserv安裝
Appserv安裝
Appserv安裝
Appserv 測試 http://localhost:8080/
Sublime安裝 下載網址:https://www.sublimetext.com/3 安裝教學: http://www.flycan.com/article/free-resource/sublime-text-setup-2060.html http://www.flycan.com/article/free-resource/sublime-text-setup-2-2077.html
架構 登入 產品管理 產品清單 產品新增 出貨管理 客戶清單 客戶新增 出貨清單 出貨新增 進貨管理 廠商清單 廠商新增 進貨清單 進貨新增 基本資料
建立資料夾(網站) 網站位置:C:\AppServ\www 建一個資料夾:erp 把網站放在 C:\AppServ\www\erp
Sublime File => Open Folder => C:\AppServ\www\erp
建立首頁 File => New File 首頁檔名:index.php 輸入「!」按「Tab」 Title 網站標題 lang=“zh-Hant-TW“ 台灣繁體中文 http://localhost:8080/erp
建立資料庫 http://localhost:8080/phpMyAdmin 左邊「新增」,右邊「建立新資料庫」 名稱:erp 編碼與排序: utf8_unicode_ci 按「建立」
建立資料表 資料表名稱:admin 欄位數:4
Admin的欄位 # 名稱 型態 編碼與排序 屬性 空值 預設值 備註 額外資訊 1 id int(11) 否 無 2 account AUTO_INCREMENT 2 account varchar(20) utf8_unicode_ci 帳號 3 password varchar(40) 密碼 4 name varchar(10) 姓名
輸入一筆帳號
資料庫連線 新增 conn.php <?php $host=“localhost”; //資料庫主機位置 $user=“root”; //帳號 $passwd=“12345678”; //密碼 $dataBase=“erp”; //資料庫名稱 $link= mysqli_connect($host,$user,$passwd,$dataBase); //建立連線 if($this->link) echo "成功"; else echo "失敗"; ?>
常用設定 mysqli_query($link,“SET NAMES ‘UTF8’”); //避免中文寫入資料庫變亂碼 date_default_timezone_set(“Asia/Taipei”); //設定台灣時區 header(‘Content-Type: text/html; charset=utf-8’); //php檔頭編碼,避免中文顯示亂碼 測試連線:http://localhost:8080/erp
登入表單 <body> <form action="" method="post"> <p>帳號:<input type="text" name="account"></p> <p>密碼:<input type="password" name="password"></p> <p><input type="submit" value="登入"></p> <p style="color:#ff0000"><?php echo $errStr; ?></p> </form> </body>
Index.php 連結 conn.php include("./conn.php"); PHP程式的前面要加 <?php 後面要加 ?>
MySql查詢指令 SELECT `欄位1`,`欄位2`,… FROM `資料表名稱` WHERE `欄位1`=‘條件1’ AND|OR `欄位2`=‘條 件2’ ORDER BY `欄位1 ` ASC|DESC SELECT 後面是要顯示的欄位 FROM 後面是要查詢的資料表名稱 WHERE 後面是查詢的條件 ORDER BY 後面是排序欄位 ASC是遞增 DESC是遞減
查詢的執行 $sql=“SELECT * FROM `admin` WHERE `account`=‘$account’ AND `password`=‘$password’”; $rs=mysqli_query($link,$sql); //執行sql 語法 (RecordSet) $rec=mysqli_ fetch_array($rs); //把查詢的資料傳給 $rec 讀資料 $rec[欄位名]
登入帳號的判斷 <?php if(isset($_POST[account])){ $account=mysqli_real_escape_string($dbLink->link,$_POST['account']); $password=md5($_POST['password']); $sql="SELECT * FROM `admin` WHERE `account`='$account' AND `password`='$password'"; $rs=mysqli_query($link,$sql); $rec=mysqli_fetch_array($rs); if($rec[account]!=""){ $_SESSION['account']=$rec['account']; header("location:main.php"); }else $errStr="帳號或密碼錯誤!!"; }?>
Main.php的規劃 因為每頁只有內容不一樣,所以把一頁分割成多頁 Header1.php Main.php 的內容 <?php include("include/header1.php"); ?> <?php include("include/header2.php"); ?> <h1 class="head1">最新網站收藏</h1> <?php include("include/footer.php"); ?> Header1.php 依各頁載入不同的 js 及 css Header2.php 內容 footer.php
Header1.php <!DOCTYPE html> <html lang="zh-Hans-TW"> <meta name="viewport" content="width=device-width, initial-scale=1,user-scalable=0"> <meta charset="UTF-8"> <title>ERP</title> <link rel="shortcut icon" type="image/x-icon" href="favicon.ico"> <link rel="stylesheet" type="text/css" href="screen.css"/> <link rel="stylesheet" type="text/css" href="../bootstrap/css/bootstrap.min.css"/> <link rel="stylesheet" type="text/css" href="../bootstrap/css/bootstrap-theme.min.css"/> <link rel="stylesheet" type="text/css" href="../js/ui/jquery-ui.css"/> <script type="text/javascript" src="../js/jquery-1.9.1.min.js"></script> <script type="text/javascript" src="../js/ui/jquery-ui.min.js"></script> <script type="text/javascript" src="../bootstrap/js/bootstrap.min.js"></script> <script type="text/javascript" src="../js/jquery.validate.min.js"></script>
Header2.php </head> <body> <header class="container"><img src="../images/logo2.gif"></header> <nav class="navbar navbar-default"> <div class="container"> <!-- Brand and toggle get grouped for better mobile display --> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria- expanded="false"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> </button> </div>
Header2.php <!-- Collect the nav links, forms, and other content for toggling --> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav"> <li><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">出貨管理<span class="caret"></span></a> <ul class="dropdown-menu"> <li><a class="dropdown-item" href="erp_product.php">產品管理</a></li> <li><a class="dropdown-item" href="erp_productAdd.php">新增產品</a></li> </ul> </li> <li><a href="profile.php">基本資料</a></li> </div><!-- /.navbar-collapse --> </div><!-- /.container-fluid --> </nav>
Footer.php <div id="footerEnd"> <div class="container"> ©2018 <a href='https://acd.idv.tw' target='_blank' id='company'>美奇電腦製作</a></p> </div> </body> </html>
各頁檔名 客戶清單:customer.php 客戶新增:customerAdd.php 產品清單:product.php 產品新增:productAdd.php 出貨清單:order.php 出貨新增:orderAdd.php 進貨清單:take.php 進貨新增:takeAdd.php
MySql新增指令 INSERT INTO `資料表名` (`欄位1`,`欄位2`,… ) VALUES (‘值1’,’值2’,…) 欄位1 對應 值1 欄位2 對應 值2
新增、刪除、修改的執行 $sql=“INSERT INTO `admin` (`account`,`password`) VALUES (‘$account’,’$password’)”; mysqli_query($link,$sql); //執行 sql 指令
MySql修改指令 UPDATE `資料表名` SET `欄位1`=‘值1’,`欄位2`=‘值2’ WHERE `欄位1`=‘條件1’
MySql刪除指令 DELETE FROM `資料表名` WHERE `欄位1`=‘條件1’