【发布时间】:2019-01-28 20:58:50
【问题描述】:
我有一个 mysqli 查询的结果返回并显示在 page1 上。当用户单击“立即注册”链接时,它会在 page2 上向他们发送一个 HTML 表单。我需要将 page1 中的某些数据(例如:$row[1])传递给 page2 上的 html 表单。我被困住了。任何建议表示赞赏。
----这是trip_1.php的更新代码:---
<?php
include('includes/connection.php');
if(isset($_POST['clicked'])) {
## you can use GET Method or SESSIONS
## with get
header("Location : reserve-form.php?ID=".$row[1]."");
## or
}
$sql="SELECT * FROM trips WHERE id='1' AND active='1'";
$results=mysqli_query($connection, $sql);
if (mysqli_num_rows($results) < 1) {
echo "<br>We are working on this trip's details.<br><br><h3
style='color:#C8FE2E'>Check back soon!</h3>";
} else {
while($row=mysqli_fetch_array($results)) {
echo"Trip ID: ".$row[1].
"<br>Date: ".$row[3].
"<br>Departs From: ".$row[4].
"<br>Departure Time: ".$row[5]
;
echo "";
}
}
mysqli_close($connection);
?>
<form action="reserve-form.php" method="POST">
<button type="submit" name="clicked">RegisterNow</button>
</form>
...
我需要 .$row[1]。传递到 PAGE2 上的表单字段 (name=tripID)
---这里是reserve-form.php的更新代码:---
<div class='container' id='new-form'>
<div class='row'>
<div class='col-lg-12'>
<h2>Reserve your Seat</h2>
<hr/>
<form id="reservation_form" action="/insert-form.php" method="post" >
<div class="form-group">
<label>Trip ID#</label>
<input class="form-control" type="text" name="tripID" value="<?php echo
$_GET['ID']; ?>" disabled>
</div>
<div class="form-group">
<label>First Name</label>
<input class="form-control" type="text" name="firstName" required >
</div>
...
【问题讨论】:
-
如何访问第 2 页?带链接?如果是....您可以使用 $_GET - 参数将您的 $row[1] 拉到第二页或将其保存在 SESSION 中。
-
用户如何从 page1 到 page2?他们在提交表格吗?如果是这样,添加一个隐藏输入,将该值作为表单的一部分提交
-
会话变量可能是最好的。如果您将其作为 URL 参数或隐藏输入传递,则用户可以更改它。
-
是的。对不起,用户点击页面底部的“注册旅行”。我对 $GET 或使用 SESSION 不是很熟悉。是在 page1 上完成的吗?
-
我不会使用会话来传递或保存变量,因为它不是很可靠。如果数据不敏感并且您有针对恶意数据的保护措施,那么使用
$_GET(又名查询字符串)将是最简单的