我正在建立一个来自前一页的变量,如下所示:
$years = $_POST['years'];
这个值是1或5。
稍后我想使用这个值来确定一个不同的值,它通过如下形式传递给数据库:
<input type="hidden" name="years" value="<?php
if ($years == 1) {
echo '10';
}
else if ($years == 5) {
echo '50';
}
?>" />
我的问题是,当我提交表单时,原始变量“$ years”的值将更改为新的帖子值。
我应该用另一种方式写作吗?
答案 0 :(得分:1)
<强> EDITED 强>
我能想到的一个解决方案是:
$prevent_year = false;
$years = $_POST['years'];
if(isset($_POST['prevent_years']) && $_POST['prevent_years'])
$prevent_years = $_POST['prevent_years'];
<input type="hidden" name="years" value="<?=($years==1?10:($years==5?50:""))?>" />
<input type="hidden" name="years" value="<?=$prevent_years?>" />
输入......为什么不
<input type="hidden" name="years" value="<?=($years==1?10:50)?>" />
我不知道我是否100%理解这个问题...但我希望它可以帮助你。
答案 1 :(得分:0)
有很多方法可以做到这一点。我建议你单独编写代码并删除“echo”函数,而是创建一个包含“years”变量新值的变量。
<?php
$years = $_POST['years'];
if ($years == 1) {
$newYears = 10;
}
else if ($years == 5) {
$newYears = 50;
}
echo<<<_END
INPUT THE ADDITIONAL BEGINNING OF HTML FOR FORM HERE
_END;
echo <input type="hidden" name="years" value=$years>;
echo <input type="hidden" name="newYears" value=$newYears>;
echo<<<_END
INPUT THE ADDITIONAL -END OF HTML FOR FORM HERE
_END;
?>
答案 2 :(得分:0)
只需在表单中添加另一个隐藏的输入:
$_POST['years'];
$_POST['years-orig'];
在表单提交页面上,您可以访问数据,如下所示:
Uncaught ReferenceError: $ is not defined