php-流程管理(发起流程和审核流程)

上一篇博文是新建流程,此篇是流程管理的后续内容:发起流程和审核流程

 一. 发起流程和审核流程需要用到的三张表

二.写代码

1. 用ajax做了一个登录页面,用session获取用户名:

<!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-3.2.0.min.js"></script>
<title>无标题文档</title>
</head>

<body>
<h1>登录页面</h1>

<form action="dlchuli.php" method="post">
<div>用户名:<input type="text" id="uid" /></div>
<div>密码:<input type="password" id="pwd" /></div>
<input type="button"  value="登录" id="btn" />
</form>

</body>

<script type="text/javascript"> //!!!用ajax之前一定先引用jqery
$("#btn").click(function(){  //对登录按钮添加单击事件
  var uid=$("#uid").val();  //获取用户的值
  var pwd=$("#pwd").val();  //获取密码的值
  $.ajax({
			url:"dlchuli.php",  //编写登录的处理页面
			data:{uid:uid,pwd:pwd},  //将用户和密码传到处理页面
			type:"POST",
			dataType:"TEXT",
			success: function(data)
			{
			  if(data.trim()=="OK")
			  {
			    window.location.href="main.php";    //处理页面执行成功后,跳转到主页面
			  }
			  else
			  {
			    alert("用户名或密码输入错误");  //否则就提示错误
			  }
			}
 	  })      
})
</script>
</html>

 2.登录界面的处理页面 dlchuli.php

<?php
session_start(); 
require "../DBDA.class.php"; 
$db = new DBDA();  //造新对象
//传过来的值
$uid = $_POST["uid"];
$pwd = $_POST["pwd"];
//查询语句
$sql = " select pwd from users where uid='{$uid}' and pwd='{$pwd}'";
//执行语句
$attr = $db->query($sql,1);
if(!empty($pwd) && !empty($attr) && $attr[0][0]==$pwd)
{
    $_SESSION["uid"] =$uid; //session接收用户值
    echo "OK";
}
else
{
    echo "NO";
}

               

3.主页面 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>
</head>

<body>
<h1>主页面</h1>

<div><a href="faqi.php">发起流程</a> <a href="shenhe.php">审核流程</a></div>

</body>
</html>

 

4.发起流程页面 faqi.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="fqchuli.php" method="post">
<div>请选择发起的流程:
	<select name="lc">
    	<?php
		require "../DBDA.class.php";
		$db = new DBDA();
		$sql = "select * from liucheng";
		$arr = $db->query($sql,1);
		foreach($arr as $v)
		{
			echo "<option value='{$v[0]}'>{$v[1]}</option>";
		}
		?>
    </select>
</div>
<br />
<div>
请输入发起的内容:<textarea name="nr"></textarea>
</div>
<br />
<input type="submit" value="发起" />
</form>

</body>
</html>

 5.发起流程处理页面 fqchuli.php

<?php
session_start();
require "../DBDA.class.php";
$db = new DBDA();

$code =$_POST["lc"];
$nr =$_POST["nr"];

$uid = $_SESSION["uid"];
$time =date("Y-m-d H:i:s");

$sql = "insert into userflow values('','{$code}','{$uid}','{$nr}',0,'{$time}',0)";
$db->query($sql);

header("location:main.php");

 

点击“发起”,数据库中就会添加此条数据

6.流程审核页面 shenhe.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>

<?php
session_start();
$uid = $_SESSION["uid"];
require "../DBDA.class.php";
$db = new DBDA();

$sql = "select * from userflow a where code in(select code from flowpath where uids='{$uid}') 
and towhere >=(select orders from flowpath b where b.code=a.code and b.uids='{$uid}' )" ; $arr = $db->query($sql,1); echo "<table width='100%' border='1' cellpadding='0' cellspacing='0'> <tr> <td>流程代号</td> <td>发起者</td> <td>发起内容</td> <td>是否结束</td> <td>发起时间</td> <td>操作</td> </tr> "; foreach($arr as $v) { $zt = "<a href='tongguo.php?code={$v[0]}'>通过</a>"; $sql = "select orders from flowpath where code='{$v[1]}' and uids='{$uid}'"; $wz = $db->strquery($sql); if($v[6]>$wz) { $zt = "<span style='color:green'>已通过</span>"; } echo "<tr> <td>{$v[1]}</td> <td>{$v[2]}</td> <td>{$v[3]}</td> <td>{$v[4]}</td> <td>{$v[5]}</td> <td>{$zt}</td> </tr>"; } echo "</table>"; ?> </body> </html>

 7.写审核处理页面 tongguo.php(*)

 

<?php
$ids = $_GET["code"];
require "../DBDA.class.php";
$db = new DBDA();

//让流程往下走,每审核通过一个,对应towhere字段要加1
$sql = "update userflow set towhere = towhere+1 where ids='{$ids}'";
$db->query($sql);

//判断流程是否结束
$sql = "select max(orders) from flowpath where code=( select code from userflow where ids='{$ids}')";
$maxsx = $db->strquery($sql);

$sql = "select towhere from userflow where ids='{$ids}'";
$towhere = $db->strquery($sql);

if($towhere>$maxsx)
{
	//如果结束了,修改状态 ;审核到最后时,对应的isok字段要变为1(此处1表示结束,0表示未结束)
	$sql = "update userflow set isok = 1 where ids='{$ids}'";
	$db->query($sql);
}


header("location:shenhe.php");

 

 当写好这一步时,点击“通过”则会变成“已通过”;

zhangsan是第一个审核人,从zhangsan开始依次审核

 

niuniu是最后一个审核人,结束显示1

END

转载于:https://www.cnblogs.com/zhaohui123/p/6906317.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Vue.js 是一个前端 JavaScript 框架,而 PHP 是一种后端编程语言。所以在 Vue.js 和 PHP 的扫码支付流程中,Vue.js 用于前端展示和用户交互,PHP 用于后端处理和与支付平台交互。 具体流程如下: 1. 用户在 Vue.js 前端界面上点击支付按钮,发起支付请求。 2. Vue.js 将支付请求发送给后端 PHP 程序。 3. PHP 程序与支付平台进行交互,生成支付二维码。 4. PHP 将支付二维码返回给 Vue.js 前端。 5. Vue.js 在前端展示支付二维码,用户使用手机扫码完成支付。 6. PHP 程序与支付平台进行交互,确认支付结果。 7. PHP 将支付结果返回给 Vue.js 前端,Vue.js 在前端展示支付结果。 ### 回答2: Vue和PHP的扫码支付流程可以分为以下几个步骤: 1. 前端Vue部分:用户在前端Vue页面选择扫码支付并进行支付操作。前端需要使用支付宝或微信等支付平台的SDK,生成支付二维码,并将其展示给用户。同时,前端还需要调用后端PHP接口将订单相关信息发送给后端。 2. 后端PHP部分:后端PHP接收到前端发送的订单信息后,需要对订单进行处理和验证。首先,后端需要通过调用支付平台提供的接口,生成支付订单并获取支付的链接。然后,将支付链接和订单信息返回给前端。 3. 前端Vue部分:前端接收到后端返回的支付链接后,将其转化为二维码图片,并展示给用户。用户使用支付宝或微信等扫码支付的功能,通过扫描二维码进行支付。 4. 后端PHP部分:后端需要提供接口来接收支付平台回调的支付结果通知。支付平台在用户支付成功后,会向后端发送支付结果的通知。后端需要验证支付结果的合法性,并更新订单状态。 5. 前端Vue部分:前端可以通过轮询或长连接等方式,向后端查询订单支付状态。一旦后端接收到支付成功的通知后,前端会同步更新订单状态,展示给用户支付成功的提示信息。 总结起来,Vue和PHP扫码支付流程主要包括前端展示二维码、后端处理订单和支付通知、前端查询订单支付状态等步骤。前后端通过接口的方式进行数据交互,确保支付流程的顺利进行。 ### 回答3: Vue是一种流行的前端JavaScript框架,PHP是一种流行的服务器端编程语言。 如果要实现扫码支付流程,可以使用Vue来构建前端页面,PHP用于处理后端逻辑和与支付接口的交互。 首先,前端页面中需要显示一个二维码,用于用户扫描支付。可以使用Vue的组件来生成二维码,并将生成的二维码显示在页面上。 当用户扫描二维码后,前端页面会将扫描结果发送到后端。后端通过PHP接收到扫描结果后,需要向支付接口发起支付请求。可以使用PHP的CURL库来发送HTTP请求,将支付相关信息传递给支付平台。 支付平台会返回一个支付结果,后端PHP接收到支付结果后,可以根据支付结果进行相关的处理,例如更新订单状态,给用户发放购买的商品或服务。 最后,后端PHP将处理结果返回给前端Vue页面。Vue页面可以根据后端返回的结果展示支付成功或支付失败的提示,并进行相应的页面跳转或其他操作。 总结来说,Vue和PHP结合可以实现扫码支付流程。Vue用于构建前端页面,PHP用于处理后端逻辑和与支付接口的交互。前端页面通过Vue生成二维码,用户扫描后,将扫描结果发送给PHP后端,后端通过PHP发送支付请求,并根据支付结果进行相关处理,最后将处理结果返回前端Vue页面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值