如何将 php 变量传递给同一页面中的另一个表单?
How can I pass a php variable to another form in the same page?
我在同一个 php 页面中有两个表单。我必须将值保存在第一种形式中,然后保存到数据库中,我才能在下一种形式中使用这些值。
PHP第一种形式的代码:
<?php
include 'config.php';
if(isset($_POST['documentRequest']))
{
$date = $_POST['reqDate'];
$name = $_POST['name'];
$insertSql = mysqli_query($conn, "INSERT INTO documentrequest(Person_idPerson, docrequest_date) VALUES ('$name', '$date');");
//$sql = "INSERT into requestitem (DocumentRequest_idDocumentRequest, Document_idDocument) VALUE ((SELECT idDocumentRequest FROM documentrequest WHERE Person_idPerson = 6), 2)";
header("Refresh: 2; url=doc_request.php");
mysqli_close($conn);
}
?>
这是我的第一个表格:
<form class="form-horizontal form-label-left" name = "documentRequest" enctype="multipart/form-data" role="form" method="post" novalidate>
<div class = "first">
<div class="item form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12">ID <span class="required">*</span></label>
<div class="col-md-6 col-sm-6 col-xs-12">
<input id="name" class="form-control col-md-7 col-xs-12" placeholder ="Type in ID number " name="name" required="required" type="number">
</div>
</div>
<div class="ln_solid"></div>
<div class="form-group">
<div class="col-md-6 col-md-offset-3">
<button id="requestDiv" type="submit" class="btn btn-success" name="documentRequest" >Proceed</button>
<button type="submit" class="btn btn-primary">Cancel</button>
</div>
</div>
</div>
</form>
第二种形式(这是在另一个div里面):
<form class="form-horizontal form-label-left" name = "documentRequest" enctype="multipart/form-data" role="form" method="post" novalidate>
<div class = "second">
<div class="item form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12"> Document Request(s) <span class="required">*</span></label>
<div class="col-md-6 col-sm-6 col-xs-12">
<div class = "clearfix"></div>
<p>Minimum of 1:<p>
<input type="checkbox" name="docs[]" id="doc1" value="Certificate of Residency" /> Certificate of Residency
<br/>
<div class = "col-xs-3">
<input name="d1" class="form-control col-md-7 col-xs-12" required="required" type="number">
</div>
<div class = "clearfix"></div>
<input type="checkbox" name="docs[]" id="doc2" value="Barangay Clearance" /> Barangay Clearance
<br />
<div class = "col-xs-3">
<input name="d2" class="form-control col-md-7 col-xs-12" required="required" type="number">
</div>
<input id="a" class="form-control col-md-7 col-xs-12" name="a" value = "<?php echo isset($_POST['name'])? $_POST['name'] : "";?>" required="required" type="text">
</div>
</div>
<div class="ln_solid"></div>
<div class="form-group">
<div class="col-md-6 col-md-offset-3">
<button id="requestDiv" type="submit" class="btn btn-success" name="documentRequest" >Proceed</button>
<button type="submit" class="btn btn-primary">Cancel</button>
</div>
</div>
</form>
基本上,我需要在下一个表单中使用 ID 的值,以便它知道它属于哪个 ID。下一个表单基本上是关于用户的请求(一系列复选框)。我怎样才能做到这一点?请帮我。谢谢。
我很确定当您调用 header("Refresh: 2; url=doc_request.php");
时您正在刷新页面并丢失提交的表单数据。
如果你从你的逻辑中删除它,这将有效:
在您需要值的第二种形式中,执行以下操作:
<input id="name2" class="form-control col-md-7 col-xs-12" name="other-name" required="required" type="number" value="<?php echo isset($_POST['name']) ? $_POST['name'] : '';?>">
如果发布的值存在,这将自动将发布的值添加到第二个表单的输入元素值
请注意,首先检查 isset()
是 necessary.Trying 以简单地回显值将导致在值不存在时抛出错误(在提交第一个表单之前)
否则可以用sessions
来达到这个效果:
在 php 页面的最顶部添加:
session_start();
$_SESSION['name']=isset($_POST['name']) ? $_POST['name'] :'';
然后在你的第二种形式中这样做:
<input id="name2" class="form-control col-md-7 col-xs-12" name="other-name" required="required" type="number" value="<?php echo $_SESSION['name']">
如果您的表单操作返回到同一页面,您可以试试这个:
<form id="form-two">
<input id="name" name="name" value="<?php echo $_POST['name']; ?>">
</form>
我在同一个 php 页面中有两个表单。我必须将值保存在第一种形式中,然后保存到数据库中,我才能在下一种形式中使用这些值。
PHP第一种形式的代码:
<?php
include 'config.php';
if(isset($_POST['documentRequest']))
{
$date = $_POST['reqDate'];
$name = $_POST['name'];
$insertSql = mysqli_query($conn, "INSERT INTO documentrequest(Person_idPerson, docrequest_date) VALUES ('$name', '$date');");
//$sql = "INSERT into requestitem (DocumentRequest_idDocumentRequest, Document_idDocument) VALUE ((SELECT idDocumentRequest FROM documentrequest WHERE Person_idPerson = 6), 2)";
header("Refresh: 2; url=doc_request.php");
mysqli_close($conn);
}
?>
这是我的第一个表格:
<form class="form-horizontal form-label-left" name = "documentRequest" enctype="multipart/form-data" role="form" method="post" novalidate>
<div class = "first">
<div class="item form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12">ID <span class="required">*</span></label>
<div class="col-md-6 col-sm-6 col-xs-12">
<input id="name" class="form-control col-md-7 col-xs-12" placeholder ="Type in ID number " name="name" required="required" type="number">
</div>
</div>
<div class="ln_solid"></div>
<div class="form-group">
<div class="col-md-6 col-md-offset-3">
<button id="requestDiv" type="submit" class="btn btn-success" name="documentRequest" >Proceed</button>
<button type="submit" class="btn btn-primary">Cancel</button>
</div>
</div>
</div>
</form>
第二种形式(这是在另一个div里面):
<form class="form-horizontal form-label-left" name = "documentRequest" enctype="multipart/form-data" role="form" method="post" novalidate>
<div class = "second">
<div class="item form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12"> Document Request(s) <span class="required">*</span></label>
<div class="col-md-6 col-sm-6 col-xs-12">
<div class = "clearfix"></div>
<p>Minimum of 1:<p>
<input type="checkbox" name="docs[]" id="doc1" value="Certificate of Residency" /> Certificate of Residency
<br/>
<div class = "col-xs-3">
<input name="d1" class="form-control col-md-7 col-xs-12" required="required" type="number">
</div>
<div class = "clearfix"></div>
<input type="checkbox" name="docs[]" id="doc2" value="Barangay Clearance" /> Barangay Clearance
<br />
<div class = "col-xs-3">
<input name="d2" class="form-control col-md-7 col-xs-12" required="required" type="number">
</div>
<input id="a" class="form-control col-md-7 col-xs-12" name="a" value = "<?php echo isset($_POST['name'])? $_POST['name'] : "";?>" required="required" type="text">
</div>
</div>
<div class="ln_solid"></div>
<div class="form-group">
<div class="col-md-6 col-md-offset-3">
<button id="requestDiv" type="submit" class="btn btn-success" name="documentRequest" >Proceed</button>
<button type="submit" class="btn btn-primary">Cancel</button>
</div>
</div>
</form>
基本上,我需要在下一个表单中使用 ID 的值,以便它知道它属于哪个 ID。下一个表单基本上是关于用户的请求(一系列复选框)。我怎样才能做到这一点?请帮我。谢谢。
我很确定当您调用 header("Refresh: 2; url=doc_request.php");
时您正在刷新页面并丢失提交的表单数据。
如果你从你的逻辑中删除它,这将有效:
在您需要值的第二种形式中,执行以下操作:
<input id="name2" class="form-control col-md-7 col-xs-12" name="other-name" required="required" type="number" value="<?php echo isset($_POST['name']) ? $_POST['name'] : '';?>">
如果发布的值存在,这将自动将发布的值添加到第二个表单的输入元素值
请注意,首先检查 isset()
是 necessary.Trying 以简单地回显值将导致在值不存在时抛出错误(在提交第一个表单之前)
否则可以用sessions
来达到这个效果:
在 php 页面的最顶部添加:
session_start();
$_SESSION['name']=isset($_POST['name']) ? $_POST['name'] :'';
然后在你的第二种形式中这样做:
<input id="name2" class="form-control col-md-7 col-xs-12" name="other-name" required="required" type="number" value="<?php echo $_SESSION['name']">
如果您的表单操作返回到同一页面,您可以试试这个:
<form id="form-two">
<input id="name" name="name" value="<?php echo $_POST['name']; ?>">
</form>