zoukankan      html  css  js  c++  java
  • 【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. 【PHP】Sublime下PHP网站开发指南

    1 开发平台相关配置


    首先,进行sublime的php相关配置。主要是一些常用插件,诸如代码提示、自动补全、字体颜色等等吧,具体配置参照(Python开发工具:Anaconda+Sublime)一文。

    其次,下载并安装WampServer集成环境。按win+R输入sysdm.cpl打开系统属性,配置环境变量C:wampinphpphp5.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()."
    	");
            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."
    	".$userpass."
    	".$userpower."
    	";
        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."
    	".$userpass."
    	".$userpower."
    	";
    
            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=@$_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

  • 相关阅读:
    (引)spring学习笔记1.什么是控制反转
    Arduino 各种模块篇 步进电机 step motor 舵机 servo 直流电机 总复习
    Raspberry Pi Wireless Adaptor
    Pyramid 使用总结1
    Arduino 各种模块篇 人体红外感应模块 proximity sensor
    Pyramid 使用总结2
    Webcam Streaming Desktop Recording on Linux for ubuntu or its destros
    Arduino 各种模块篇 步进电机 step motor( 不用库,不用shield, 纯)
    Arduino 各种模块篇 motor shield 电机扩展板(舵机、直流电机、步进电机party)
    转载 stepper motors
  • 原文地址:https://www.cnblogs.com/baiboy/p/php1.html
Copyright © 2011-2022 走看看