example.php从另一个页面获取x的值$ _GET ['x']。
我在同一页面中有一个表单(example.php)。提交表格后,我将失去x的价值。
我的问题是:如何在提交表单后保留并访问x的值。
代码是这样的:
<body>
<?php
if(isset($_GET['y'])) {
$y = $_GET['y']; // I have also tried with $_REQUEST
}
if($_POST['submit']) {
$x = $_POST['field1'];
echo $y."<br>";
echo $x;
}
?>
<form name="form1" action="example.php" method="post">
<input type="text" name="field1" />
<input type="submit" name="submit" value="Echo the name" />
</form>
</body
我也根据建议尝试了以下内容,但它不起作用:
<body>
<?php
if(isset($_POST['submit'])) {
$x = $_POST['field1'];
$y = $_POST['y'];
echo $y."<br>";
echo $x;
}
?>
<form name="form1" action="dollar_get_and_form1.php" method="post">
<input type="text" name="field1" />
<input type="hidden" name="y" value="<?php htmlentities($_GET['y']) ?>" />
<input type="submit" name="submit" value="Echo the name" />
</form>
</body>
问题通过以下代码解决:
<body>
<?php
if(isset($_GET['x'])) {
$x = $_GET['x'];
echo $x;
}
if(isset($_POST['submit'])) {
echo $_POST['xValue'].'<br>';
echo $_POST['y'];
}
?>
<form name="form1" action="example.php" method="post">
<input type="text" name="y" />
<input type="submit" name="submit" value="Echo the name" />
<input type="hidden" id="xValue" name="xValue" value="<?php echo $x; ?>"/>
</form>
</body>
感谢大家的建议。如果有更好的方法,请提出建议。
答案 0 :(得分:2)
你的表格是POST而不是GET所以变量将会消失。获得所需结果的最佳方法是通过隐藏的表单字段:
<input type="hidden" name="y" value="<?=htmlentities($_GET['y'])?>" />
然后,当用户提交表单
时,它将以$_POST['y']
的形式提供
答案 1 :(得分:0)
您的表单的方法 发布,因此,$_GET
没有$_GET
,而$_GET['y']
在此无效...
{{1}}来自哪里?
答案 2 :(得分:0)
由于HTTP是无状态协议,因此Get / Post值持久性仅限于最后一页和当前页面。你必须使用其中一种技术: “隐藏字段”,“会话”,“cookie”或写入/读取到tmp。文件以保存值/状态。
答案 3 :(得分:-1)
使用get而不是post method ='get';并创建一个字段(隐藏),如下所示
<body>
<?php
if(isset($_GET['y'])) {
$y = $_GET['y']; // I have also tried with $_REQUEST
}
if($_GET['submit']) {
$x = $_GET['field1'];
echo $y."<br>";
echo $x;
}
?>
<form name="form1" action="example.php" method="get">
<input type="text" name="field1" />
<input type="hidden" name="y" value=1 />
<input type="submit" name="submit" value="Echo the name" />
</form>
</body