PHP-MySQL停车场车位管理系统(附源码

本系统采用phpstudy开发平台,采用PHP和MySQL数据库进行开发,开发工具为HBuilder。phpStudy是一个PHP调试环境的程序集成最新的

Apache+PHP+MySQL+phpMyAdmin,一次性安装,无须配置即可使用,是非常方便、好用的PHP调试环境。(其他平台均可)@@@文末有获取方式

主要功能:

1、客户端功能模块:

  • 查看停车位
  • 自定义录入/录出车牌号
  • 查看账单
  • 选择对账单进行支付
  • 修改个人信息等

2、管理员端功能模块:

  • 查看停车位
  • 对车辆进行录入
  • 对车辆进行录出
  • 自动计费
  • 录出自动生成用户账单
  • 查看停车位使用记录
  • 查看所有账单支付情况
  • 可以对用户进行禁用/启用管理
  • 修改管理员信息
  • 修改密码等

主要语言:

PHP MySQL JQuery HTML

运行效果:

  • 单个车辆使用车位情况

在这里插入图片描述

<?php
                    $get_car_num = filter_char(@$_GET['car_num']);
                    $use_username = ""; //使用用户用户名
                    $start_time = NULL; //开始时间
                    $status = "";       //使用状态
                    $place_num = "";    //使用车位号
                    $end_time = date('Y-m-d H:i:s', time());
                    $sql = "select * from parking_place where car_num=\"$get_car_num\";";
                    if($get_car_num){
    
    
                        $result = $conn->query($sql);
                        if ($result->num_rows > 0) {
    
    
                            while($row = $result->fetch_assoc()) {
    
    
                                $start_time = date('Y-m-d H:i:s', $row['start_time']);
                                $use_status = $row['use_status'];
                                $place_num = $row['place_num'];
                                // echo $start_time."<br>".$end_time."<br>";
                            }
                        } else {
    
    
                            echo "<p>不好意识~~没有查到数据</p>";
                        }
                    }
                    // 获取用户名信息
                    $uid = 0;
                    $get_uinfo = "select * from cars where car_num='$get_car_num'"; //使用用户
                    $result = $conn->query($get_uinfo);
                    if ($result->num_rows > 0) {
    
    
                        while($row = $result->fetch_assoc()) {
    
    
                            $uid = $row['user_id'];
                            $get_uid = "select * from users where id=".$uid;
                            $result_u = $conn->query($get_uid);
                            if($result_u->num_rows > 0){
    
    
                                while($row = $result_u->fetch_assoc()) {
    
    
                                    $use_username = $row['username'];
                                }
                            }
                        }
                    }
                    // print_r(timediff('2015-03-20 16:20:30','2015-05-25 11:10:10'));
                    $use_time = timediff($start_time,$end_time);
                    // print_r($use_time);
                    $day = $use_time['day'];    //天
                    $hour = $use_time['hour'];  //小时
                    $min =  $use_time['min'];   //分钟
                    $sec =  $use_time['sec'];   //秒
                    if($use_status == 1){
    
    
                        $status = "正在使用中........";
                    }else{
    
    
                        $status = "已经使用完毕........";
                    }                    
                    echo "<div>
                    <p>用户:$use_username</p>
                    <p>车牌号:$get_car_num</p>
                    <p>使用车位号:$place_num</p>
                    <p>开始计时时间:$start_time</p>
                    <p>使用了多久:$day"."天".$hour."小时".$min."分钟".$sec."秒</p>
                    <p class='last_p'>
                        使用状态:<span>$status</span>
                        <a class='out' href='./car_output.php?car_num=$get_car_num&plead_num=$place_num&uid=$uid'>录出</a>
                    </p>
                    </div>";
                ?>
  • 用户登录

在这里插入图片描述

<?php
        include_once "config/inc.php";
        include_once "tools.php";
        session_start();        //开始会话
        $_SESSION["user_id"] = NULL;

        $get_name = filter_char(@$_POST['username']);
        $get_password = md5(@$_POST['password']);
            if($get_name && $get_password){
    
    
            $sql = "SELECT * FROM users where username='$get_name' and password='$get_password'";
            $result = mysqli_query($conn,$sql);
            // echo $sql;
            // echo $get_name.$get_password;
            if ($result->num_rows > 0) {
    
    
				$row =mysqli_fetch_object($result);
                //while() {
    
    
					echo "ddd";
                    if($row->status == 0){
    
    
                        echo "<script>alert('很抱歉!该用户已被禁用~~');</script>";
                        exit;
						echo"ww";
                    }
                    echo$_SESSION["user_id"] = $row->id;
                    $url = './index.php';
                    echo "<script>alert('登录成功~~');window.location.href='index.php';</script>";
               // }
				 echo"sss";
            } else {
    
    
				// echo"wwww";
                echo "<script>alert('登录失败')</script>";
            }
        }
    ?>
  • 查看账单

在这里插入图片描述

       $fee_id = $_GET['fee_id'];
                    $sql = "select * from Fee_table where id=$fee_id";
                    $result = mysqli_query($conn,$sql);
                        if($result->num_rows > 0){
    
    
							$row =mysqli_fetch_object($result);
                           // while($result->num_rows > 0) {
    
    
                                $car_num = $row->car_num;
                                $place_num = $row->place_num;
                                $start_time = $row->start_time;
                                $long_time = str_replace('day','天',($row->long_time));
                                if($row->complete == 0){
    
    
                                    $status = "<span class=\"wfh\">未付款</span>";
                                }else{
    
    
                                    $status = "<span class=\"yfh\">已付款</span>";
                                }
                           // }
                        }
                    echo "<div class=\"info\">
                    <p>车牌号:$car_num</p>
                    <p>使用车位号:$place_num</p>
                    <p>开始计时时间:$start_time</p>
                    <p>使用时长:$long_time</p>
                    <p class='last_p'>
                        使用状态:$status
                    </p>
                    </div>";
               ?>
  • 车位占用情况

在这里插入图片描述

 <?php
                            $result = $conn->query($sql_D);
                            if ($result->num_rows > 0) {
    
    
                                while($row = $result->fetch_assoc()) {
    
    
                                    if($row['use_status'] == 0){
    
    
                                        $use_status = '空';
                                        echo "<li><p>".$use_status."</p><span>".$row['place_num']."</span></li>";
                                    }else{
    
    
                                        $use_status = '已被使用~~';
                                        echo "<li><p class='son'>".$use_status."</p><span>".$row['place_num']."</span></li>";
                                    }
                                }
                            } else {
    
    
                                echo "<p>不好意识~~没有查到数据</p>";
                            }
                        ?>
  • 停车记录

在这里插入图片描述

 <?php 
                        $get_page = intval(trim(@$_GET['page']));
                        $page = ($get_page != 0)? $get_page:1;
                        $start_page = ($page-1)*5;
                        $end_page = 5;
                        $page_sql = "select * from fee_table where user_id=$user_id limit $start_page,$end_page";
                        // echo $page_sql;
                        $result = $conn->query($page_sql);
                        if ($result->num_rows > 0) {
    
    
                            while($row = $result->fetch_assoc()) {
    
    
                                $time_arr = conver_time($row['long_time']);
                                $long_time = $time_arr['day']."天-".$time_arr['hour']."小时".$time_arr['min']."分钟".$time_arr['sec']."秒";
                                echo_his_info($row['id'],$row['place_num'],$row['car_num'],$row['start_time'],$row['end_time'],$long_time,$row['money']);
                            }
                        }else{
    
    
                            echo "<tr><td colspan=\"7\">您还没有停车记录哦亲~_^</td></tr>";
                        }
  • 车辆入库

在这里插入图片描述

<?php
                    $get_car_num = filter_char(@$_POST['car_num']);     //获取车牌号
                    $get_plea_num = filter_char(@$_POST['plea_num']);  //获取停车位编号
                    $get_start_time = filter_char(@$_POST['start_time']);  //获取开始时间
                   
                    if($get_car_num && $get_plea_num && $get_start_time){
    
    
                        // 检测车牌号有没有被注册
                        $sql_is_car = "select * from cars where car_num='$get_car_num'";
                        $result = $conn->query($sql_is_car);
                        if($result->num_rows == 0){
    
    
                           echo "<script>alert('该车牌号没有录入~~');</script>";
                           exit;
                        }
                        // 检测用户还有没有账单没有支付
                        $sql_user = "select * from cars where car_num='$get_car_num'";
                        $result = $conn->query($sql_user);
                        if($result->num_rows > 0){
    
    
                            while($row = $result->fetch_assoc()) {
    
    
                                $uid = $row['user_id'];
                                $sql_fee = "select * from Fee_table where user_id='$uid'";
                                $result = $conn->query($sql_fee);
                                if($result->num_rows > 0){
    
    
                                    while($row = $result->fetch_assoc()) {
    
    
                                        if($row['complete'] == 0){
    
    
                                            echo "<script>alert('您还有账单没有支付~~先去支付吧^_^');</script>";
                                            exit;
                                        }
                                    }
                                }
                            }
                        }
                        // 检测是否已经有重复的车牌号,有则退出
                        $sql_o = "select * from parking_place where car_num=\"$get_car_num\"";
                        $sql_t = "select * from parking_place where place_num=\"$get_plea_num\" and use_status=1";
                        $result = $conn->query($sql_o);
                        $result_s = $conn->query($sql_t);
                        if (($result->num_rows > 0) || ($result_s->num_rows > 0)) {
    
    
                            echo "<script>alert('该车牌已经存在或车位已经被占用~~~');</script>"; 
                            exit;  
                        }
                        // 如果车牌不存在,就录入信息
                        $sql = "UPDATE parking_place set use_status=1,car_num=\"$get_car_num\",start_time=\"$get_start_time\" WHERE place_num=\"$get_plea_num\";";
                        // $result = $conn->query($sql);
                        if ($conn->query($sql) === TRUE) {
    
    
                            $url = "./all_car_position.php";
                            echo "<script>alert('录入成功~~');window.location.href='$url'</script>";
                            // header("Location: $url");
                        } else {
    
    
                            echo "<script>alert('录入失败~~');</script>";
                            // echo "Error: " . $sql . "<br>" . $conn->error;
                        }
                    }else{
    
    
                        // echo "<script>alert('不能为空~~~');</script>";
                    }
                    
                ?>
  • 用户注册

在这里插入图片描述

<?php
        include_once "config/inc.php";
        include_once "tools.php";
        $get_name = filter_char(@$_POST['username']);
        $get_iphone = filter_char(@$_POST['iphone_num']);
        $get_carNum = filter_char(@$_POST['car_num']);
        $get_password = md5(@$_POST['password']);
        $get_passwords = md5(@$_POST['passwords']);
        if($get_name && $get_carNum && $get_password &&$get_passwords){
    
    
            if($get_password != $get_passwords){
    
    
                echo "<script>alert('两次密码输入不正确~~');</script>";
                exit;
            }
            // 检查账号名是否重复
            $user_sql = "select * from users where username='$get_name'";
            $user_result = $conn->query($user_sql);
            if ($user_result->num_rows > 0) {
    
    
                echo "<script>alert('该账号已存在~~');</script>";
                exit;
            }
            // 检查手机号是否重复注册
            $phone_sql = "select * from users where iphone='$get_iphone'";
            $phone_result = $conn->query($phone_sql);
            if ($phone_result->num_rows > 0) {
    
    
                echo "<script>alert('该手机号已经被注册过了~~');</script>";
                exit;
            }
            // 检查车牌号是否重复
            $carNum_sql = "select * from cars where car_num='$get_carNum'";
            $carNum_result = $conn->query($carNum_sql);
            if ($carNum_result->num_rows > 0) {
    
    
                echo "<script>alert('该车辆已经被注册过了~~');</script>";
                exit;
            }
            $time = time();
            $sql = "insert into users(username,iphone,password,reg_time) values('$get_name','$get_iphone','$get_password','$time')";
            $sql_se = "select * from users where iphone='$get_iphone'";
            // echo $sql;
            $retval = mysqli_query($conn,$sql);
            if($retval){
    
    
                $result_se = $conn->query($sql_se);
                while($row = $result_se->fetch_assoc()) {
    
    
                    $u_id = $row['id'];
                    $sql_car = "insert into cars(car_num,user_id) values('$get_carNum','$u_id');";
                    $retval = mysqli_query($conn,$sql_car);
                    if($retval){
    
    
                        $url = "./user_login.php";
                        echo "<script>alert('注册成功~~~');window.location.href='$url';</script>";
                    }else{
    
    
                        die('注册失败: ' . mysqli_error($conn));
                    }
                }
            }else{
    
    
                // echo "<script>alert('注册成功~~~');</script>";
                die('注册失败: ' . mysqli_error($conn));
            }
        }
    ?>
  • 历史账单

在这里插入图片描述

 <?php
                        $fee_id = NULL;
                        // 从后往前取6个(gggg改)
                        $sql = "select * from fee_table where user_id='$user_id' order by id desc limit 6";
                        $result = mysqli_query($conn,$sql);
                        // echo $sql;
                        // echo $get_name.$get_password;
                        // if ($result) {
    
    
                        
                        $car_num = "";
                        if($result->num_rows > 0){
    
    
							//echo"qq";
							
							while($row=mysqli_fetch_object($result)){
    
    
                             //while($row) {
    
    
								//echo"ww";
								$a=$row->complete;
                                if($a == 0){
    
    
                                    $fee_id = $row->id;
                                }
                                echo_order($row->id,$row->money,$row->start_time,$row->complete);
                           }
                        }else{
    
    
                            echo "<li><p>您还没有账单信息~~</p></li>";
                        }

                        // 封装输出账单函数
                        function echo_order($fid,$money,$time,$pay_st){
    
    
                            $zd_num = substr(("X-".intval($fid)/3*123456),0,8);
                            if($pay_st == 0){
    
    
                                echo "<li>
                                    <p>账单编号:$zd_num</p>
                                    <p class=\"moeny\">产生费用:<span>".$money."</span>(RMB)</p>
                                    <p class=\"moeny\">日期:".$time."</p>
                                    <p class=\"btn\">
                                        <a href=\"###\" class=\"zf\">支付</a>
                                        <a href=\"./user_car_details.php?fee_id=$fid\" class=\"xq\">详情</a>
                                    </p>
                                </li>";
                            }else if($pay_st == 1){
    
    
                                echo "<li>
                                    <p>账单编号:$zd_num</p>
                                    <p class=\"moeny\">产生费用:<span>".$money."</span>(RMB)</p>
                                    <p class=\"moeny\">日期:".$time."</p>
                                    <p class=\"btn\">
                                        <a href=\"./user_car_details.php?fee_id=$fid\" class=\"xq\">详情</a>
                                    </p>
                                </li>";
                            }
                        }
                        // 异步支付
                        $pay_status = intval(@$_POST['user_pay']);
                        if($pay_status == 3){
    
    
                            echo "<script>alert('未支付');</script>";
                        }else if($pay_status == 1){
    
    
                            $sql = "update Fee_table set complete=$pay_status where id=$fee_id";
                            if(mysqli_query($conn,$sql) === TRUE){
    
    
                                // $url = "./user_order.php";
                                // header("Location: $url");
                                return true;
                            }
                        }
                    ?>
  • 用户管理界面

在这里插入图片描述

 <?php
                        $user_id = NULL;
                        $get_page = intval(trim(@$_GET['page']));
                        $page = ($get_page != 0)? $get_page:1;
                        $start_page = ($page-1)*5;
                        $end_page = 5;
                        $page_sql = "select * from users limit $start_page,$end_page";
                        // echo $page_sql;
                        $result_p = $conn->query($page_sql);
                        if ($result_p->num_rows > 0) {
    
    
                            while($row = $result_p->fetch_assoc()) {
    
    
                                // strtotime(date("Y-m-d H:i:s"))
                                $reg_time = date("Y-m-d H:i:s",$row['reg_time']);
                                $num = $row['id'];
                                if($row['status'] == 1){
    
    
                                    $status_str = '已启用';
                                    $str_btn = "<a href=\"./show_user.php?opt=403&uid=$num\" class=\"btn jy\">禁用</a>";
                                }else{
    
    
                                    $status_str = '已禁用';
                                    $str_btn = "<a href=\"./show_user.php?opt=200&uid=$num\" class=\"btn qy\">启用</a>";
                                }
                                echo_user_info($num,$row['username'],$row['iphone'],$reg_time,$status_str,$str_btn);
                            }
                        }
                        function echo_user_info($num,$username,$iphone,$reg_time,$status_str,$str_btn){
    
    
                            echo "<tr>
                                <td>$num</td>
                                <td>$username</td>
                                <td>$iphone</td>
                                <td>$reg_time</td>
                                <td>$status_str</td>
                                <td>
                                   $str_btn 
                                </td>
                            </tr>";
                        }
                        ?>
  • 修改信息

在这里插入图片描述

  <?php
        include_once "config/inc.php"; 
        include_once "user_public.php"; 
        include_once "tools.php";
        session_start(); 
        $user_name = '';       
        $user_iphone = '';
        $user_id = ''; 
        if (isset($_SESSION["user_id"])){
    
    
            $user_id = $_SESSION["user_id"];
            $info_dict = get_user_info($user_id); 
            $user_name = $info_dict['name'];       
            $user_iphone = $info_dict['iphone'];   
            $user_carNums = $info_dict['car_nums'];   
        }else{
    
    
            $url = './user_login.php';
            echo "<script>alert('请登录~~');window.location.href='$url';</script>";
            exit;
        }
    ?>
  • 部分报告

在这里插入图片描述
演示视频

猜你喜欢

转载自blog.csdn.net/qq_57161040/article/details/130398793