如何知道在循环生成的表单中验证了哪种表单

时间:2018-05-29 11:33:52

标签: php mysql

这是我编写的代码,用于生成与表中的条目一样多的表单。 我想知道点击了哪个提交按钮(即哪种确切形式),然后执行一些SQL操作。 谢谢你的帮助!



<?php
  require_once 'header.php';
  if (!$loggedin) die();
  $result = queryMysql("SELECT * FROM audit_requests");
  $num_rows = $result->num_rows;
  echo "<div class='main'><h3>$num_rows audit requests found!</h3>";
while ($row  = $result->fetch_array(MYSQLI_ASSOC))
{
      $requester = stripslashes($row['user']);
      $audit_request_id = stripslashes($row['audit_request_id']);
  echo <<<_END
    <form method='post' action='audit_listings.php' enctype='multipart/form-data'>
    <span class='text'><br>Audit request number</span>
    <input disabled type='text' maxlength='10' name='audit_request_id' value='$audit_request_id'>
    <span class='text'><br>Auditee name</span>
    <input disabled type='text' maxlength='16' name='user' value='$requester'>
_END;

if (getCategory($user) == 'Auditor')
	{
	    echo "<input type='submit' value='Apply for this audit request'>";   
	}   
  echo <<<_END
</form></div><br>
_END;
}
if (isset($_POST['audit_request_id']))
  {
    $audit_request_id = stripslashes('audit_request_id');
    queryMysql("INSERT INTO audit_plan SELECT * FROM audit_requests WHERE audit_request_id='$audit_request_id'");
    queryMysql("UPDATE audit_plan SET applicant='$user' WHERE audit_request_id='$audit_request_id'");
    queryMysql("INSERT INTO messages VALUES('', 'TrustusChain', '$org_name', '$address', '', '$city'");    
  }
?>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

您可以在表单中添加隐藏字段。喜欢:

echo "<input type=\"hidden\" value=\"form_xxx\">"; 

答案 1 :(得分:0)

您可以为表单生成随机ID,如

<form method="post" onsubmit="return myfunc(this.id)" id="From_php">

在javascript中

<script>

function myfunc(id){
//do anything with id of form
}
</script>

您可以相应地将ajax请求传递给服务器。