【PHP】Sublime下PHP网站开发指南
Sublime下PHP網站開發指南
作者:白寧超
2017年3月16日11:03:17
摘要:隨著單位開發項目的需求,關于政務辦公多年來一直使用php開發管理平臺。筆者早年asp開發經驗算是有些幫助,但是之前從未接觸過php,如何快速上手還是費了一些時間的。好在php中wamp集成環境比較好,故而開發體驗還是不錯的。首先,本文選用sublime作為開發平臺,這個根據讀者喜好而定;選擇其作為開發平臺的主要原因是,之前一直用其開發python等,其跨語言性和跨系統均好。這里可以大大減少我們學新技術新語言新平臺,而浪費很多時間在開發工具上,筆者是深有感受。其次,主要介紹sublime下php開發環境的配置。然后,使用登錄的案例介紹php基本的增刪改查。最后,完成一個列表分頁的功能。本文實驗經過測試均可以正常運行,適用于初學或者初級php開發人員。(本文原創,轉載請注明出處:Sublime下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"}替換成{ "cmd": ["php", "$file"], "file_regex": "php$", "selector": "source.php" }。保存在默認的目錄下即可,注意修改文件名為 php.sublime-build 。重啟sublime text,就可以用Ctrl+B來編譯.php文件了;
最后,測試下配置效果:
測試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傳值,并對其進行處理操作:
<?phpsession_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><?phpforeach ($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 οnclick="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><?phpfor($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 Code3 列表分頁
分頁前臺操作:
<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><?phpfor($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=@$_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网站开发指南的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: shell 调试 2例
- 下一篇: Vue.js学习系列(二十七)-- 计算