1. 程式人生 > >【PHP】Sublime下PHP網站開發指南

【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"}

替換成{ "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傳值,並對其進行處理操作:

<?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="">&nbsp;&nbsp;
    <button type="submit" class="btn btn-primary">查詢</button>&nbsp;&nbsp;
    <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

相關推薦

PHPSublimePHP網站開發指南

作者:白寧超 2017年3月16日11:03:17 摘要:隨著單位開發專案的需求,關於政務辦公多年來一直使用php開發管理平臺。筆者早年asp開發經驗算是有些幫助,但是之前從未接觸過php,如何快速上手還是費了一些時間的。好在php中wamp整合環境比較好,故而開發體驗還是不錯的。首先,本文選用sub

Struts2eclipse 搭建 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 關注一下自己的測試

windowWindows10PHP安裝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整合環境一鍵安裝Windowsphp整合環境一鍵安裝教程

 目標:讓天下沒有難配的php環境。 該程式包整合 Apache+Nginx+LightTPD+PHP+MySQL+phpMyAdmin+Zend Optimizer+Zend Loader,一次性安裝,無須配置即可使用,是非常方便、好用的PHP除錯環境。該程式綠色小巧簡

PHPPHP7 安裝並使用 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

LinuxDebian 安裝 Apache,MySQL,PHP

本文來自 DigitalOcean,我是翻譯過來的,親測安裝成功。 安裝環境:Debian7 64位 首先,對你的源進行更新: $ sudo apt-get update   第一步--安裝 Apache Apache 是一個開源軟體,它目前執行在全球超過

從零學習openCVIOS7的openCV開發起步(Xcode5.1.1&amp;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-

VUEMacvue 開發環境搭建,以及目錄結構

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

Windows10Eclipse搭建Hadoop3開發環境

Windows10下Eclipse搭建Hadoop3開發環境 前言 由於筆記本配置限制,虛擬機器CentOs-7關閉了圖形介面,作者在Windows端編寫mapreduce程式然後在linux上執行。

JuliaLinux配置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等開啟 顯示不出來正確結果

PHPlinux搭建PHP執行環境

之前在windows下寫了hello world,終歸是不夠用啊,因為開發環境是Linux,怎麼辦呢~~~學習學習再學習 寫在前面的話:我從百度文庫的一個文章裡摘出來的,原文章名稱《Linux下安裝Apache+PHP+MySql 搭建PHP執行環境》 http://