/*自定义导航栏*/

【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:\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=@$_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

posted @ 2017-03-16 11:57  伏草惟存  阅读(786)  评论(0编辑  收藏  举报