php流程

---恢复内容开始---

费脑子的东西,一点点出错就要挨着找,找错花了大把的时间可是也给自己长记性了,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>请输入密码:&nbsp;&nbsp;<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>&nbsp;&nbsp;&nbsp;
     <a href="fqliucheng.php">发起流程</a> &nbsp;&nbsp;&nbsp;
     <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]}&nbsp;";//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 "审核失败!";
}

---恢复内容结束---

原文地址:https://www.cnblogs.com/nannan-0305/p/5543395.html