---恢复内容开始---
费脑子的东西,一点点出错就要挨着找,找错花了大把的时间可是也给自己长记性了,data一定会写trim()了,session不管用不用都会先开启了,if也习惯性会判断了,ajax也熟悉了好多,这是自己写了前两个流程之后的所得,最后也是最重要的是参考的老师的……
denglu.php登录页面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>登录</title> </head> <body> <h1>登录</h1> <form action="dlchuli.php" method="post"> <div>请输入用户名:<input type="text" name="uid"/></div><br /> <div>请输入密码: <input type="text" name="pwd" /></div><br /> <div><input type="submit" value="登录"/></div> </form> </body> </html>
dlchuli.php登录处理,需要获取登录用户的用户名,所以需要用session
<?php session_start(); $uid=$_POST["uid"]; $pwd=$_POST["pwd"]; include("ChaXun.class.php"); $db=new ChaXun(); $sql = "select count(*) from Users where UserName='{$uid}' and PassWord = '{$pwd}'"; $z = $db->StrQuery($sql);//返回的是字符串,这样简单 if($z == 1) { $_SESSION["uid"] = $uid;//将获取的uid存放带session数组中,备用 header("location:main.php"); } else { header("location:denglu.php"); }
main.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>主页</title> <style type="text/css"> #a{ background-color:#FFDFFF; } </style> </head> <body> <?php session_start(); if(empty($_SESSION["uid"]))//判断session是否为空,不为空获取登陆者用户名 { header("location:denglu.php"); exit; } $uid = $_SESSION["uid"]; ?> <h1>主页面</h1> <a href="denglu.php">返回登录</a> <div id="a"><a href="xjliucheng.php">新建流程</a> <a href="fqliucheng.php">发起流程</a> <a href="clliucheng.php">流程处理</a> </div> </body> </html>
xjliucheng.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="../jquery-1.11.2.min.js"></script> <title>无标题文档</title> </head> <body> <h1>新建流程</h1> <div><a href="main.php">返回主页</a></div> <?php session_start(); include("ChaXun.class.php"); $db=new ChaXun(); $attr=array(); //新建一个数组来存放结点,用session来获取结点 if(!empty($_SESSION["jiedian"])) { $attr=$_SESSION["jiedian"]; } ?> <div>请选择节点人员代号:</div><br /> <?php $sjd="select * from users"; $ajd=$db->Query($sjd); foreach($ajd as $v) { echo"<input type='radio' value='{$v[0]}' class='jd' name='jd'/>{$v[2]} ";//radio需要给一个name,这样才可以互斥为单选 } ?><br /><br /> <input type="button" value="添加节点" id="tjjd" /><br /> <?php foreach($attr as $k=>$v) { $sname="select name from users where username='{$v}'"; $name=$db->StrQuery($sname); echo"<div>{$k}--{$name}<input type='button' value='删除' class='sc' bs='{$k}'/> </div>"; } ?> <br /> <div>请输入流程名称:<input type="text" id="lcmc" /></div><br /> <div><input type="button" value="添加" id="tj" /></div> </body> <script type="application/x-javascript"> $(document).ready(function(e) { $(".jd").eq(0).prop("checked",true); $("#tjjd").click(function(){ var jd=$(".jd"); var uid=""; for(var i=0;i<jd.length;i++) { if(jd.eq(i).prop("checked")) { uid=jd.eq(i).val(); } } $.ajax({ url:"addjd.php", data:{uid:uid}, type:"POST", dataType:"TEXT", success: function(data){ window.location = "xjliucheng.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 = "xjliucheng.php"; } }); }) $("#tj").click(function(){ var lcname=$("#lcmc").val(); $.ajax({ url:"lcname.php", data:{name:lcname}, type:"POST", dataType:"TEXT", success: function(data){ if(data.trim()=="OK") { alert("添加成功"); } else { alert("添加失败"); } } }); }) }); </script> </html>
addjd.php
<?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; } ?>
scjd.php
<?php session_start(); $id=$_POST["id"]; $attr=$_SESSION["jiedian"]; unset($attr[$id]); $attr=array_values($attr); $_SESSION["jiedian"]=$attr; ?>
lcname.php
<?php session_start(); $attr=array(); if(!empty($_SESSION["jiedian"])) { $attr=$_SESSION["jiedian"]; } $name=$_POST["name"]; $code=date("YmdHis",time()); include("ChaXun.class.php"); $db=new ChaXun(); $sql="insert into liucheng values('{$code}','{$name}')"; $isok=true; if($db->Query($sql,1)) { foreach($attr as $k=>$v) { $sql="insert into flowpath values('','{$code}','{$v}','{$k}')"; $isok= $isok && $db->StrQuery($sql,1); } } if($isok) { echo"OK"; } else { echo"NO"; } ?>
fqliucheng.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="../jquery-1.11.2.min.js"></script> <title>无标题文档</title> </head> <body> <h1>发起流程</h1> <div>请选择要发起的流程: <select id="lc"> <?php session_start(); include("ChaXun.class.php"); $db=new ChaXun(); $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="200px; height:100px;" id="nr"></textarea></div><br /> <div><input type="submit" 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:"fqchuli.php", data:{code:code,nr:nr}, type:"POST", dataType:"TEXT", success: function(data){ //alert(data.trim()); if(data.trim()=="OK") { alert("发起成功"); } else { alert("发起失败"); } } }); }) }); </script> </html>
fqchuli.php
<?php session_start(); $uid=$_SESSION["uid"]; include("ChaXun.class.php"); $db=new ChaXun(); $code = $_POST["code"]; $nr = $_POST["nr"]; $rq = date("Y-m-d H:i:s"); $sql = "insert into UserFlow values('','{$code}','{$uid}','{$nr}',false,'{$rq}',0)"; if($db->Query($sql,1)) { echo "OK"; } else { echo "NO"; } ?>
clliucheng.php处理流程
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body> <?php session_start(); $uid=$_SESSION["uid"]; ?> <h1>处理流程</h1><?php echo $uid;?></a> <table width="100%" border="1" cellpadding="0" cellspacing="0"> <tr> <td>流程名称</td> <td>发起者</td> <td>内容</td> <td>是否结束</td> <td>发起时间</td> <td>操作</td> </tr> <?php include("ChaXun.class.php"); $db=new ChaXun(); $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) { $sqln = "select Name from LiuCheng where Code = '{$ucode}'"; $lname=$db->StrQuery($sqln); $sqlf = "select Name from Users where UserName = '{$uid}'"; $fname = $db->StrQuery($sqlf); //处理是否结束 $isok = $v[4]?"<span style='background-color:pink'>已结束</span>":"<span style='background-color:yellow'>处理中</span>"; //处理操作 $chuli = ""; if($v[6]==$ucx) { $chuli="<a href='chulish.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>"; } } } ?> </table> </body> </html>
chulish.php处理审核
<?php include("ChaXun.class.php"); $db=new ChaXun(); $id=$_GET["id"]; $sql = "update UserFlow set ToWhere = ToWhere+1 where Ids='{$id}'"; if($db->Query($sql,1)) { //查询流程走到哪了 $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,1); } header("location:clliucheng.php"); } else { echo "审核失败!"; }
---恢复内容结束---