我花了很多年的时间试图在导游之后阅读指南后想出来,我无法得到它。我有3个文件 - user.php,map.php和newaddress.php。我只把我理解的内容包含在这个问题的重要位置。很高兴在需要时提供更多信息。
user.php将“mapnumber”传递给map.php。
user.php的
<form action="map.php" method="post">
<input type="hidden" name="mapnumber" value="'. $row["mapnumber"].'"/>
<input type="hidden" name="process" value="process"/>
<button class="btn btn-primary" type="submit" name="getmap">Process</button>
</form>
map.php接收“mapnumber”并从数据库中生成匹配“mapnumber”的地址列表。从map.php,用户可以添加带有“mapnumber”值的新地址,并在newaddress.php中处理。
map.php
$mapnumber = $mysqli->escape_string($_POST['mapnumber']);
<form action="newaddress.php" method="post">
<input class="" id="mapnumber" name="mapnumber" value="<?php echo $mapnumber ?>">
<button class="btn btn-primary" id="addaddress" type="submit">Add Address</button>
</form>
newaddress.php使用“mapnumber”值将地址添加到数据库,然后重定向回map.php,它应该根据“mapnumber”生成地址列表但map.php不会选择“mapnumber” “来自newaddress.php,因此不会生成地址列表。
newaddress.php
$mapnumber = $mysqli->escape_string($_POST['mapnumber']);
header("Location: map.php");
exit;
请帮忙
答案 0 :(得分:0)
您可以像这样设置get变量:
$mapnumber = $mysqli->escape_string($_POST['mapnumber']);
header("Location: map.php?nr=". $mapnumber);
exit;
比在map.php
中你得到它:
$mapnumber = $mysqli->escape_string($_GET['nr']);
答案 1 :(得分:0)
您可以使用Cookie在远程浏览器中存储值。 但您遇到的真正问题是位置重定向就是这样。它告诉浏览器加载另一个URL。 您可以将get请求添加到该位置重定向URL,如下所示:
header("Location: map.php?mapnumber=".urlencode($mapnumber));
但请记住,默认的位置重定向将是永久性的(HTTP状态代码301),如果重定向的URL /文档可能已更改,则由浏览器重新检查。
http://php.net/manual/en/function.header.php#78470
所以你可能想考虑使用307重定向:
header("Location: map.php?mapnumber=".urlencode($mapnumber), TRUE,307);
无论如何:将变量从一个页面传递到另一个页面通常不是一个好习惯。尽量避免它并尝试深入研究会议。
答案 2 :(得分:0)
我建议你在map.php中使用get方法
然后它会收到像map.php?mapnumber=somenum
user.php的
<form action="map.php" method="get">
<input type="hidden" name="mapnumber" value="'. $row["mapnumber"].'"/>
<input type="hidden" name="process" value="process"/>
<button class="btn btn-primary" type="submit" name="getmap">Process</button>
</form>
map.php
$mapnumber = $mysqli->escape_string($_GET['mapnumber']);
<form action="newaddress.php" method="post">
<input class="" id="mapnumber" name="mapnumber" value="<?php echo $mapnumber ?>">
<button class="btn btn-primary" id="addaddress" type="submit">Add Address</button>
</form>
newaddress.php
$mapnumber = $mysqli->escape_string($_POST['mapnumber']);
header("Location: map.php?mapnumber=$_POST['mapnumber']");
exit;