登录页面

<body>
<form action="loginchuli.php" method="post">
<div>用户名:<input type="text" name="uid" /></div>
<div>密码:<input type="text" name="pwd" /></div>
<input type="submit" value="登录" />
</form>
</body>
</html>  登录处理页面
<?php
session_start();
$uid = $_POST["uid"];
$pwd = $_POST["pwd"]; include("../DBDA.php");
$db = new DBDA(); $sql = "select count(*) from Users where Uid='{$uid}' and Pwd = '{$pwd}'"; $z = $db->StrQuery($sql); if($z == 1)
{
$_SESSION["uid"] = $uid;
header("location:main.php");
}
else
{
header("location:login.php");
} 主页面
<head>
<?php
session_start(); if(empty($_SESSION["uid"]))
{
header("location:login.php");
exit;
}
$uid = $_SESSION["uid"]; include("../DBDA.php");
$db = new DBDA();
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
#menu
{
width:100%;
height:30px;
}
.z
{
width:100px;
height:30px;
float:left;
}
</style> </head> <body>
<br />
<br />
<center><h1>主页面</h1></center>
<br /> <div id="menu">
<div class='z'><a href="xinjian.php">新建流程</a></div>
<div class="z"><a href="faqi.php">发起流程</a></div>
<div class="z"><a href="shenhe.php">审核流程</a></div>
</div> </body>
</html>

新建流程页面

<script src="../jquery-1.11.2.min.js"></script>
</head> <body>
<?php
session_start(); include("../DBDA.php");
$db = new DBDA(); $attr = array();
if(!empty($_SESSION["jiedian"]))
{
$attr = $_SESSION["jiedian"];
} ?>
<h1>新建流程</h1>
<div>
请选择节点人员:
<?php
$sry = "select * from Users";
$ary = $db->Query($sry); foreach($ary as $v)
{
echo "<input name='ry' class='ry' type='radio' value='{$v[0]}' /> {$v[2]}";
} ?>
</div>
<br />
<div>
<input type="button" value="添加节点" id="tjjd" />
</div>
<br />
<div>
<?php
foreach($attr as $k=>$v)
{
$sname = "select Name from Users where Uid='{$v}'";
$name = $db->StrQuery($sname); echo "<div>{$k}--{$name}--<input type='button' value='删除' bs='{$k}' class='sc' /></div>";
}
?>
</div>
<br />
<div>
请输入流程名称:
<input type="text" id="mc" />
</div>
<br />
<div>
<input type="button" value="添加" id="add" />
</div>
<a href="main.php">返回</a>
</body>
<script type="text/javascript">
$(document).ready(function(e) {
//设置默认选中第一项
$(".ry").eq(0).prop("checked",true); //添加节点按钮点击事件
$("#tjjd").click(function(){ var rd = $(".ry");
//取选中的用户名
var uid = "";
for(var i=0;i<rd.length;i++)
{
if(rd.eq(i).prop("checked"))
{
uid = rd.eq(i).val();
}
} $.ajax({
url:"tjjd.php",
data:{uid:uid},
type:"POST",
dataType:"TEXT",
success: function(data){
window.location = "xinjian.php";
} }); })
//删除节点按钮事件
$(".sc").click(function(){ var id = $(this).attr("bs");
$.ajax({
url:"scjd.php",
data:{id:id},
type:"POST",
dataType:"TEXT",
success: function(data){
window.location = "xinjian.php";
} }); })
//添加流程按钮
$("#add").click(function(){ var name = $("#mc").val();
$.ajax({
url:"tjlc.php",
data:{name:name},
type:"POST",
dataType:"TEXT",
success: function(data){
if(data.trim()=="OK")
{
alert("添加成功");
}
else
{
alert("添加失败!");
}
} }); }) });
</script>
</html> 添加节点页面
<?php
session_start(); $uid = $_POST["uid"]; if(empty($_SESSION["jiedian"]))
{
$attr = array($uid);
$_SESSION["jiedian"] = $attr;
}
else
{
$attr = $_SESSION["jiedian"];
array_push($attr,$uid);
$_SESSION["jiedian"] = $attr;
} 删除节点页面
<?php
session_start(); $id = $_POST["id"];
$attr = $_SESSION["jiedian"];
unset($attr[$id]);
$attr = array_values($attr); $_SESSION["jiedian"] = $attr; 添加流程页面
<?php
session_start(); include("../DBDA.php");
$db = new DBDA(); $attr = array();
if(!empty($_SESSION["jiedian"]))
{
$attr = $_SESSION["jiedian"];
} $name = $_POST["name"]; //向流程表添加数据
$code = date("YmdHis");
$slc = "insert into LiuCheng values('{$code}','{$name}')";
//判断是否执行成功的变量
$isok = true;
if($db->Query($slc,0))
{
foreach($attr as $k=>$v)
{
//向流程对应节点表添加数据
$sfl = "insert into FlowPath values('','{$code}','{$v}',{$k})";
$isok = $isok && $db->Query($sfl,0);
}
}
if($isok)
{
echo "OK";
}
else
{
echo "NO";
} 发起流程页面
<script src="../jquery-1.11.2.min.js"></script>
</head> <body>
<?php
include("../DBDA.php");
$db = new DBDA();
?>
<h1>发起流程</h1>
<div>
请选择流程:
<select id="lc">
<?php
$sql = "select * from LiuCheng";
$attr = $db->Query($sql); foreach($attr as $v)
{
echo "<option value='{$v[0]}'>{$v[1]}</option>";
}
?>
</select>
</div>
<br />
<div>
请输入内容:
<textarea style="width:300px; height:200px" id="nr">
</textarea>
</div>
<br />
<div>
<input type="button" value="发起" id="fq" />
</div>
<a href="main.php">返回</a>
</body>
<script type="text/javascript">
$(document).ready(function(e) {
$("#fq").click(function(){ var code = $("#lc").val();
var nr = $("#nr").val(); $.ajax({
url:"fqcl.php",
data:{code:code,nr:nr},
type:"POST",
dataType:"TEXT",
success: function(data){
if(data.trim()=="OK")
{
alert("发起成功");
}
else
{
alert("发起失败!");
}
} }); })
});
</script>
</html> 发起处理页面
<?php
session_start(); include("../DBDA.php");
$db = new DBDA(); $code = $_POST["code"];
$nr = $_POST["nr"];
$uid = $_SESSION["uid"];
$rq = date("Y-m-d H:i:s"); $sql = "insert into UserFlow values('','{$code}','{$uid}','{$nr}',false,'{$rq}',0)"; if($db->Query($sql,0))
{
echo "OK";
}
else
{
echo "NO";
}
 
 
 
 
审核流程页面
 
<?php
session_start(); include("../DBDA.php");
$db = new DBDA(); $uid = $_SESSION["uid"]; ?>
<body>
<h1>审核流程</h1>
<br />
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr bgcolor="#3399FF" style="color:white">
<td>流程名称</td>
<td>发起者</td>
<td>内容</td>
<td>是否结束</td>
<td>发起时间</td>
<td>操作</td>
</tr>
<?php /*$sfl = "select Code,Orders from FlowPath where Uids = '{$uid}'";
$afl = $db->Query($sfl); foreach($afl as $v)
{
$suf = "select * from UserFlow where Code='{$v[0]}' and ToWhere >= {$v[1]}"; $auf = $db->Query($suf);
foreach($auf as $v1)
{
echo "<tr>
<td>{$v1[1]}</td>
<td>{$v1[2]}</td>
<td>{$v1[3]}</td>
<td>{$v1[4]}</td>
<td>{$v1[5]}</td>
<td>操作</td>
</tr>";
}
}*/ $suf = "select * from UserFlow order by RiQi desc";
$auf = $db->Query($suf); foreach($auf as $v)
{
//$v[1]流程代号
//$v[6]流程到哪 //根据流程代号到flowpath表查该登录者在该流程中的次序
$sfp = "select Code,Orders from FlowPath where Code='{$v[1]}' and Uids='{$uid}'";
$cx = $db->Query($sfp);
if($cx)
{
$ucode = $cx[0][0];//流程代号
$ucx = $cx[0][1];//次序
//判断该流程是否走到了该用户
if($v[1]==$ucode && $v[6]>=$ucx)
{
$lname = Lname($db,$v[1]);
$fname = Fname($db,$v[2]);
//处理是否结束
$isok = $v[4]?"<span style='已结束</span>":"<span style='background-color:green'>处理中</span>";
//处理操作
$chuli = "";
if($v[6]==$ucx)
{
$chuli="<a href='sh.php?id={$v[0]}'>审核</a>";
}
else
{
$chuli = "<span style='color:green'>已通过</span>";
} echo "<tr>
<td>{$lname}</td>
<td>{$fname}</td>
<td>{$v[3]}</td>
<td>{$isok}</td>
<td>{$v[5]}</td>
<td>{$chuli}</td>
</tr>";
}
} }
//处理流程名
function Lname($db,$code)
{
$sql = "select Name from LiuCheng where Code = '{$code}'";
return $db->StrQuery($sql);
}
//处理发起者名
function Fname($db,$uid)
{
$sql = "select Name from Users where Uid = '{$uid}'";
return $db->StrQuery($sql);
} ?>
</table>
</body>
</html> 审核流程处理页面
<?php
include("../DBDA.php");
$db = new DBDA(); $id = $_GET["id"]; $sql = "update UserFlow set ToWhere = ToWhere+1 where Ids='{$id}'"; if($db->Query($sql,0))
{
//查询流程走到哪了
$stw = "select Code,ToWhere from UserFlow where Ids='{$id}'";
$atw = $db->Query($stw);
$code = $atw[0][0];//流程代号
$tw = $atw[0][1];//流程到哪了 //查询该流程下的节点数
$sfp = "select count(*) from FlowPath where Code = '{$code}'";
$sl = $db->StrQuery($sfp); //如果流程走到位置大于等于了该流程中节点的总数
if($tw>=$sl)
{
$sok = "update UserFlow set IsOk = true where Ids='{$id}'";
$db->Query($sok,0);
} header("location:shenhe.php");
}
else
{
echo "审核失败!";
}
												

PHP 流程的更多相关文章

  1. Linux下服务器端开发流程及相关工具介绍(C++)

    去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...

  2. 基于netty http协议栈的轻量级流程控制组件的实现

    今儿个是冬至,所谓“冬大过年”,公司也应景五点钟就放大伙儿回家吃饺子喝羊肉汤了,而我本着极高的职业素养依然坚持留在公司(实则因为没饺子吃没羊肉汤喝,只能呆公司吃食堂……).趁着这一个多小时的时间,想跟 ...

  3. 通过重建Hosting系统理解HTTP请求在ASP.NET Core管道中的处理流程[下]:管道是如何构建起来的?

    在<中篇>中,我们对管道的构成以及它对请求的处理流程进行了详细介绍,接下来我们需要了解的是这样一个管道是如何被构建起来的.总的来说,管道由一个服务器和一个HttpApplication构成 ...

  4. nginx+iis+redis+Task.MainForm构建分布式架构 之 (redis存储分布式共享的session及共享session运作流程)

    本次要分享的是利用windows+nginx+iis+redis+Task.MainForm组建分布式架构,上一篇分享文章制作是在windows上使用的nginx,一般正式发布的时候是在linux来配 ...

  5. 8、Struts2 运行流程分析

    1.流程分析: 请求发送给 StrutsPrepareAndExecuteFilter StrutsPrepareAndExecuteFilter 询问 ActionMapper: 该请求是否是一个 ...

  6. Hawk 6. 高级话题:子流程系统

    子流程的定义 当流程设计的越来越复杂,越来越长时,就难以进行管理了.因此,采用模块化的设计才会更加合理.本节我们介绍子流程的原理和使用. 所谓子流程,就是能先构造出一个流程,然后被其他流程调用.被调用 ...

  7. 流程开发Activiti 与SpringMVC整合实例

    流程(Activiti) 流程是完成一系列有序动作的概述.每一个节点动作的结果将对后面的具体操作步骤产生影响.信息化系统中流程的功能完全等同于纸上办公的层级审批,尤其在oa系统中各类电子流提现较为明显 ...

  8. zookeeper源码分析之五服务端(集群leader)处理请求流程

    leader的实现类为LeaderZooKeeperServer,它间接继承自标准ZookeeperServer.它规定了请求到达leader时需要经历的路径: PrepRequestProcesso ...

  9. zookeeper源码分析之四服务端(单机)处理请求流程

    上文: zookeeper源码分析之一服务端启动过程 中,我们介绍了zookeeper服务器的启动过程,其中单机是ZookeeperServer启动,集群使用QuorumPeer启动,那么这次我们分析 ...

  10. zookeeper源码分析之三客户端发送请求流程

    znode 可以被监控,包括这个目录节点中存储的数据的修改,子节点目录的变化等,一旦变化可以通知设置监控的客户端,这个功能是zookeeper对于应用最重要的特性,通过这个特性可以实现的功能包括配置的 ...

随机推荐

  1. 使用 Git 报错 error: src refspec master matches more than one.

    今天在使用 Git push 代码时遇到一个报错: error: src refspec master matches more than one. error: failed to push som ...

  2. Gs_Class._BaseQueryWeb查询页面基类(aspx.net)

    using System;using System.Data;using System.Configuration;using System.Collections;using System.Web; ...

  3. 利用Rsync在windows和linux之间同步数据

    使用Rsync从windows同步文件到linux 1.windows服务端的安装与配置: 免费软件下载地址:http://linux.linuxidc.com/,用户名密码为:www.linuxid ...

  4. appnium框架以及源码研究

    android4.0后,google提供了uiautomator来进行自动化方案,appium在高版本android上就是基于这个,4.0下是基于selendroid. appium相当于一个中转站, ...

  5. CentOs + Nginx + php-fpm + MySql 依赖库安装

    依赖库和开发工具 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype free ...

  6. 我的学习记录JAVA第二天

  7. 【Python之路】第三篇--Python基本数据类型

    运算符 1.算数运算: # 在py2的 取整除运算中 9//2 = 4.0 # 引入 from __future__ import division 9//2 = 4.5 # py3中不需要! 2.比 ...

  8. 安装redis,以及python如何引用redis

    下载 cd /usr/local/src/ wget http://download.redis.io/releases/redis-2.8.17.tar.gz 解压 tar -zxvf redis- ...

  9. mysql中的unix_timestamp函数

    偶然看到MySQL的一个函数 unix_timestamp(),不明就里,于是就试验了一番. unix_timestamp()函数的作用是返回一个确切的时间点的UNIX时间戳,这个Unix时间戳是一个 ...

  10. RPD添加网址、变量