本系统采用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;
}
?>
- 部分报告