【PHP】Sublime下PHP網站開發指南
作者:白寧超
2017年3月16日11:03:17
摘要:隨著單位開發專案的需求,關於政務辦公多年來一直使用php開發管理平臺。筆者早年asp開發經驗算是有些幫助,但是之前從未接觸過php,如何快速上手還是費了一些時間的。好在php中wamp整合環境比較好,故而開發體驗還是不錯的。首先,本文選用sublime作為開發平臺,這個根據讀者喜好而定;選擇其作為開發平臺的主要原因是,之前一直用其開發python等,其跨語言性和跨系統均好。這裡可以大大減少我們學新技術新語言新平臺,而浪費很多時間在開發工具上,筆者是深有感受。其次,主要介紹sublime下php開發環境的配置。然後,使用登入的案例介紹php基本的增刪改查。最後,完成一個列表分頁的功能。本文實驗經過測試均可以正常執行,適用於初學或者初級php開發人員。()
目錄
1 開發平臺相關配置
首先,進行sublime的php相關配置。主要是一些常用外掛,諸如程式碼提示、自動補全、字型顏色等等吧,具體配置參照(Python開發工具:Anaconda+Sublime)一文。
其次,下載並安裝WampServer整合環境。按win+R輸入sysdm.cpl開啟系統屬性,配置環境變數C:\wamp\bin\php\php5.5.12。cmd命令窗體,輸入命令php -h檢視是否會提示php的命令使用方法。建立php編譯系統,執行Sublime Text,選擇Tool——>Build System——>New Build System,在新彈出的窗體中,把預設內容{ "shell_cmd": "make"}
最後,測試下配置效果:
測試php安裝是否成功,測試結果如下即可:
測試WampServer配置是否成功,測試結果,雙擊開啟呈現綠色即可,其中WAMP的bin包括php,mysql,Apache配置。專案建立放在www資料夾下:
新建資料夾,命名text1.php,複製以下程式碼:
<?php class Car{ var $name; var $age; function callname(){ $this->name="張三"; $this->age = 12; echo "我的名字叫:".$this->name."<br />"."我的年齡是:".$this->age; } function call($name,$age){ $this->name = $name; $this->age = $age; echo "我的名字叫[:".$name."<br />"."我的年齡是[:".$age; } } $p1=new Car; $p1->call('sddf','23'); ?>
在瀏覽器執行如下,其中紅色代表本地執行地址,黑色框是建立專案的目錄檔案:
至此,已經完成各項配置工作。 備註:此過程中wamp配置可能出現“紅色”“黃色”情況,均屬於配置不成功,可以通過下載外掛處理。
2 使用者登入案例
1 下載一個網站開發的後臺模板,並開啟如下:
2 建立login.html和login.php用來登入操作。登入成功進入主頁index.php,其中Node資料夾是對使用者資訊管理操作,詳見下圖:
login.html核心表單程式碼:
<form name="LoginForm" method="post" action="login.php" onSubmit="return InputCheck(this)"> <li><input name="username" type="text" class="loginuser" /></li> <li><input name="password" type="text" class="loginpwd" /></li> <li><input name="submit" type="submit" class="loginbtn" value="登入" /><label> <input name="" type="checkbox" value="" checked="checked" />記住密碼</label> <label><a href="#">忘記密碼?</a></label> </li> </form>
展示效果:
login.php接收post傳值,並對其進行處理操作:
<?php session_start(); //登出登入 if(@$_GET['action'] == "logout"){ unset($_SESSION['userid']); unset($_SESSION['username']); echo '登出登入成功!點選此處 <a href="./login.html">登入</a>'; exit; } //登入 if(!isset($_POST['submit'])){ exit('非法訪問!'); } $username = addslashes($_POST['username']); $password = addslashes($_POST['password']); //包含資料庫連線檔案 include('./Public/conn.php'); //檢測使用者名稱及密碼是否正確 $check_query = mysql_query("select uid from users where uname='$username' and upass='$password' limit 1"); if($result = mysql_fetch_array($check_query)){ //登入成功 $_SESSION['username'] = $username; $_SESSION['userid'] = $result['uid']; // echo "success"; header('Location: http://127.0.0.1/MyBlog/index.php'); /*echo $username,' 歡迎你!進入 <a href="./index.php">使用者中心</a><br />'; echo '點選此處 <a href="./login.php?action=logout">登出</a> 登入!<br />';*/ exit; } else { die('Could not connect: ' . mysql_error()."\n\t"); exit('登入失敗!點選此處 <a href="javascript:history.back(-1);">返回</a> 重試'); } mysql_close($con); ?>View Code
執行結果,其中紅色框為使用者名稱的傳值:
引數接收:
$userid = addslashes(@$_POST['roleid']);
如上頁面效果index.html前端核心程式碼:
<form name="LoginForm" class="form-inline definewidth m20" action="index.php" method="post" onSubmit="return InputCheck(this)"> 使用者編號: <input type="text" name="roleid" id="roleid" class="abc input-default" placeholder="" value=""> <button type="submit" class="btn btn-primary">查詢</button> <button type="button" class="btn btn-success" id="addnew">新增使用者</button> </form> <table class="table table-bordered table-hover definewidth m10" > <thead> <tr> <th>使用者編號</th> <th>使用者名稱</th> <th>使用者密碼</th> <th>使用者許可權</th> <th>管理操作</th> </tr> </thead> <?php foreach ($data as $key => $value) { ?> <tr> <td><?php echo $value['uid']?></td> <td><?php echo $value['uname']?></td> <td><?php echo $value['upass']?></td> <td><?php echo $value['upower']?></td> <td> <a href="update.php?id=<?php echo $value['uid']?>">編輯</a> <a onclick="return del(<?php echo $value['uid']?>)">刪除</a> </td> </tr> <?php } ?></table> <div class="page" name="page"> 共<?php echo $arrtot[0] ?> 條記錄 <?php echo $pagenum?>/<?php echo $pagetot?> 頁 <?php $isfhide=($pagenum==1)?"style='display:none'":"";?> <?php $islhide=($pagenum==$pagetot)?"style='display:none'":"";?> <a <?php echo $isfhide?> href='index.php?page=1'>首頁</a> <a <?php echo $isfhide?> href='index.php?page=<?php echo $prevpage?>'>上一頁</a> <?php for($j=1;$j<=$pagetot;$j++){ $style = ($pagenum==$j) ? "style='color:red'" : ""; $linkurl=($pagenum==$j) ? "javascript:;" : "index.php?page={$j}"; echo "<a href='{$linkurl}' {$style}>".$j."</a>"; } ?> <a <?php echo $islhide?> href='index.php?page=<?php echo $nextpage?>' >下一頁</a> <a <?php echo $islhide?> href='index.php?page=<?php echo $pagetot?>' >最後一頁</a> </div>
查詢資訊:
//查詢列表 function selView($userid){ //連線資料庫 include('../Public/conn.php'); if (!$conn){ die('Could not connect: ' . mysql_error()); } if($userid==null|$userid==""){ $sql="select * from users";//設定查詢指令 }else{ $sql="select * from users where uid=$userid";//設定查詢指令 } $result=mysql_query($sql);//執行查詢 $data = []; $i=0; while($row=mysql_fetch_assoc($result))//將result結果集中查詢結果取出一條 { $data[$i]["uid"] = $row["uid"]; $data[$i]["uname"] = $row["uname"]; $data[$i]["upass"] = $row["upass"]; $data[$i]["upower"] = $row["upower"]; $i++; } mysql_close($conn); include('index.html'); }View Code
增加資訊:
<?php //插入新的資料 $username=addslashes($_POST['username']); $userpass=addslashes($_POST['userpass']); $userpower=addslashes($_POST['status']); if($userpower==1){ $userpower="系統管理員"; } else if($userpower==0){ $userpower="普通管理員"; } // echo $username."\n\t".$userpass."\n\t".$userpower."\n\t"; include('../Public/conn.php'); $sql="insert into users(uname,upass,upower) values('$username','$userpass','$userpower')"; $result=mysql_query($sql); if($result){ header('Location: http://127.0.0.1/MyBlog/Node/index.php'); } else{ echo "插入資訊失敗請重新插入!"; } mysql_close($conn); ?>
修改資訊:
<?php //插入新的資料 if(empty($_POST)){ //點選提交後 $id = @$_GET['id']; include('../Public/conn.php'); $sql="select * from users where uid=$id"; $selresult=mysql_query($sql); $data = []; while($row=mysql_fetch_assoc($selresult))//將result結果集中查詢結果取出一條 { $data["uid"] = $row["uid"]; $data["uname"] = $row["uname"]; $data["upass"] = $row["upass"]; if($row["upower"]=="系統管理員"){ $data["upower"] =1; } else if($row["upower"]=="普通管理員"){ $data["upower"] =0; } } include('edit.html'); }else{ //回顯 $username=addslashes($_POST['username']); $userpass=addslashes($_POST['userpass']); $userpower=addslashes($_POST['status']); if($userpower==1){ $userpower="系統管理員"; } else if($userpower==0){ $userpower="普通管理員"; } // echo $username."\n\t".$userpass."\n\t".$userpower."\n\t"; if($id==null){ $sql="insert into users(uname,upass,upower) values('$username','$userpass','$userpower')"; } else{ $sql="update users set uname='$username' , upass='$userpass', upower='$userpower' where uid=$id"; } $result=mysql_query($sql); if($result){ header('Location: http://127.0.0.1/MyBlog/Node/index.php'); } else{ echo "更新資訊失敗請重新插入!"; } mysql_close($conn); } ?>View Code
刪除資訊:
//刪除資訊 $id = @$_GET['id']; if($id!=null){ delView($id); } function delView($id){ include('../Public/conn.php'); if (!$conn){ die('Could not connect: ' . mysql_error()); } $sql = "delete from users where uid=$id"; $result=mysql_query($sql);//執行查詢 echo $result; if($result){ header('Location: http://127.0.0.1/MyBlog/Node/index.php'); }else{ echo "查詢失敗,可能sql語句錯誤"; } mysql_close($conn); }View Code
3 列表分頁
分頁前臺操作:
<div class="page" name="page"> 共<?php echo $arrtot[0] ?> 條記錄 <?php echo $pagenum?>/<?php echo $pagetot?> 頁 <?php $isfhide=($pagenum==1)?"style='display:none'":"";?> <?php $islhide=($pagenum==$pagetot)?"style='display:none'":"";?> <a <?php echo $isfhide?> href='index.php?page=1'>首頁</a> <a <?php echo $isfhide?> href='index.php?page=<?php echo $prevpage?>'>上一頁</a> <?php for($j=1;$j<=$pagetot;$j++){ $style = ($pagenum==$j) ? "style='color:red'" : ""; $linkurl=($pagenum==$j) ? "javascript:;" : "index.php?page={$j}"; echo "<a href='{$linkurl}' {$style}>".$j."</a>"; } ?> <a <?php echo $islhide?> href='index.php?page=<?php echo $nextpage?>' >下一頁</a> <a <?php echo $islhide?> href='index.php?page=<?php echo $pagetot?>' >最後一頁</a> </div>
分頁後臺操作:
function fenye(){ include('../Public/conn.php'); if (!$conn){ die('Could not connect: ' . mysql_error()); } //limit要求引數 $length=3; $pagenum[email protected]$_GET['page']?$_GET['page']:1; //當前頁 //資料總行數 $sqltot="select count(*) from users"; $arrtot=mysql_fetch_row(mysql_query($sqltot));//總條數 $pagetot=ceil($arrtot[0]/$length);//總頁數 //限制頁數 if($pagenum>=$pagetot){ $pagenum=$pagetot; } $offset=($pagenum-1)*$length; //從資料庫獲取資料 $sql="select * from users order by uid limit {$offset},{$length}"; // echo $sql; // exit(); $result=mysql_query($sql); $i=0; while($row=mysql_fetch_assoc($result)){ $data[$i]["uid"] = $row["uid"]; $data[$i]["uname"] = $row["uname"]; $data[$i]["upass"] = $row["upass"]; $data[$i]["upower"] = $row["upower"]; $i++; } //計算上一頁和下一頁 $prevpage=$pagenum-1; $nextpage=$pagenum+1; //釋放連線資源 mysql_close($conn); include('index.html'); }
原始碼共享: http://pan.baidu.com/s/1kVlwW67
相關推薦
【PHP】Sublime下PHP網站開發指南
作者:白寧超 2017年3月16日11:03:17 摘要:隨著單位開發專案的需求,關於政務辦公多年來一直使用php開發管理平臺。筆者早年asp開發經驗算是有些幫助,但是之前從未接觸過php,如何快速上手還是費了一些時間的。好在php中wamp整合環境比較好,故而開發體驗還是不錯的。首先,本文選用sub
【Struts2】eclipse 下搭建 Struts2 開發環境
eclipse的第一個struts2外掛 Alveole Studio MVC Web Project An eclipse plugin for Struts 2 -------- 官方地址 http://mvcwebproject.sourcefor
【PHP】微信公眾號開發,TP5本地環境下獲取微信使用者openId與使用者資訊
1.相關準備 需要準備自己公眾號的appId與appSecret,可在微信公眾平臺後臺中檢視 本地開發可以使用微信提供的微信公眾平臺測試賬號來進行除錯 使用微信掃碼即可直接登入,登入後微信會提供一個測試用的appId 與 appSecret 關注一下自己的測試
【window】Windows10下為PHP安裝redis擴展
5.1 windows10 span round pre pdb 安裝redis擴展 mile bin 操作: 步驟1:D:\wamp\bin\apache\apache2.4.9\bin/php.ini中添加 ; php_redis extension=php_igb
【PHP整合環境一鍵安裝】Windows下php整合環境一鍵安裝教程
目標:讓天下沒有難配的php環境。 該程式包整合 Apache+Nginx+LightTPD+PHP+MySQL+phpMyAdmin+Zend Optimizer+Zend Loader,一次性安裝,無須配置即可使用,是非常方便、好用的PHP除錯環境。該程式綠色小巧簡
【PHP】PHP7 下安裝並使用 xhprof 效能分析工具
git clone https://github.com/longxinH/xhprof 安裝 xhprof cd xhprof/extension/ phpize ./configure make make install 然後在/etc/php.
【備忘】【No5】微信公眾平臺開發入門到實戰開發視訊教程(Java+PHP)
(1)微信入門視訊 共14節課 (2)微信公眾平臺搭建與開發揭祕 共50節課 (3)深入淺出微信公眾平臺實戰開發(微網站、LBS雲、Api介面呼叫、服務號高階介面) 共16節課 (4)微信公眾平臺搭建與開發揭祕50集 (5)兄弟連24集 微信開發VIP教程 (6)微信jav
【Linux】Debian 下安裝 Apache,MySQL,PHP
本文來自 DigitalOcean,我是翻譯過來的,親測安裝成功。 安裝環境:Debian7 64位 首先,對你的源進行更新: $ sudo apt-get update 第一步--安裝 Apache Apache 是一個開源軟體,它目前執行在全球超過
【從零學習openCV】IOS7下的openCV開發起步(Xcode5.1.1&openCV2.49)
rgb load fcm 12px 轉換 sim 圖像 round ios 前言: 開發IOS7已經有一月的時間了。近期在準備推研的事,有點想往CV方向發展。於是開始自學openCV。 關註CSDN已經非常久了。也從非常多博主那學到了非常多知識,於是我也從這周開
【LNMP】提示Nginx PHP “No input file specified”錯誤的解決辦法
ted 普通 messages 進入 rec 修改 attr 打開文件 指令 原理: 任何對.php文件的請求,都簡單地交給php-cgi去處理,但沒有驗證該php文件是否存在。 PHP文件不存在,沒辦法返回普通的404錯誤,它返回 一個
【nginx】記錄nginx+php-fpm實現大檔案下載排坑的過程
先上一段程式碼,支援大檔案下載和斷點續傳,程式碼來源網際網路。 set_time_limit(0); // 省略取檔案路徑的過程,這裡直接是檔案完整路徑 $filePath = get_save_path() . $File['save_name']; $filePath = realpath($fil
【Linux】解除安裝PHP
author:咔咔 wechat:fangkangfk 解除安裝PHP rpm -qa|grep -i php 得到以下包 php-odbc-4.3.4-11 php-4.3.4-11 php-mysql-4.3.4-11 php-pear-4.3.4-
【VUE】Mac下vue 開發環境搭建,以及目錄結構
1 安裝Node.js 參看 node.js環境安裝 http://www.cnblogs.com/richerdyoung/p/7265786.html 2 安裝淘寶映象 sudo npm ins
【原創】基於NodeJS Express框架開發的一個VIP視訊網站專案及原始碼分享
專案名稱:視訊網站專案 開發語言:HTML,CSS(前端),JavaScript,NODEJS(expres)(後臺) 資料庫:MySQL 開發環境:Win7,Webstorm 上線部署環境:Linux伺服器 主要功能我們先來看一下最終的效果:使用者主頁的搭建: 實現了主頁輪播圖的顯示和切換,使用者可以從
【分享】高效能的PHP框架 Yii PHP Framework
Yii 是什麼Yii 是一個基於元件、用於開發大型 Web 應用的高效能 PHP 框架。它將 Web 程式設計中的可重用性發揮到極致,能夠顯著加速開發程序。Yii(讀作“易”)代表簡單(easy)、高效(efficient)、可擴充套件(extensible)。需求要執行一個基
【總結】mac下配置less並在sublime中安裝,sublime3中啟用錯誤
mac下配置less https://blog.csdn.net/jiaoshenmo/article/details/51484052 1、下載安裝node.js環境 2、安裝過node.js for mac 安裝包,可以使用node和npm的命令了,npm.j
【轉】Windows10下Eclipse搭建Hadoop3開發環境
Windows10下Eclipse搭建Hadoop3開發環境 前言 由於筆記本配置限制,虛擬機器CentOs-7關閉了圖形介面,作者在Windows端編寫mapreduce程式然後在linux上執行。
【Julia】Linux下配置Julia互動開發環境(Julia notebook)
0x00 前言 近期Julia這門語言突然被拉入了大眾視野,我也是被一句 “Walk as Python,Run as C” 深深的吸引住了, 如果它沒有在吹牛,那麼這門語言說不定確實是我所想要的,那麼,學學看吧? 本篇文章主要用於介紹如何搭建便於學習與測
【php】如何執行php檔案
1. 開啟編輯器 <?php echo "Hello World"; ?> 儲存為test.php 放在xampp的htdocs資料夾下 2.執行xampp 3.開啟瀏覽器 就可以運行了(不可以直接右鍵用chrome等開啟 顯示不出來正確結果
【PHP】linux搭建PHP執行環境
之前在windows下寫了hello world,終歸是不夠用啊,因為開發環境是Linux,怎麼辦呢~~~學習學習再學習 寫在前面的話:我從百度文庫的一個文章裡摘出來的,原文章名稱《Linux下安裝Apache+PHP+MySql 搭建PHP執行環境》 http://