• 【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

  • 相关阅读:
    PHP之十六个魔术方法详解
    PHP之十六个魔术方法详解
    让Docker容器使用静态独立的外部IP(便于集群组建)
    桥接和nat模式区别
    使用 GitHub / GitLab 的 Webhooks 进行网站自动化部署
    docker gitlab
    docker gitlab安装
    docker ui管理工具
    docker 批量删除容器
    Scrapy设置代理
  • 原文地址:https://www.cnblogs.com/baiboy/p/php1.html
Copyright © 2020-2023  润新知