我有变量$ a和$ location。但是,当我按下“提交”时,按钮变量已超出范围。我可以从输入框T2传入变量,但我无法设法将其设置为“输入框”。这是一个常规变量。我添加了echo $ b来调试它,我确实获得了验证条件语句为真的输出。
<?php
[...]
$a = '5';
$location = 'home';
if(isset($_POST['submit'])) {
$location=$_POST['T2'];
echo $location;
echo $a;
$b = '6';
echo $b;
[...]
}
?>
<input type="text" name="T2" value="<?php echo $location; ?>">
<button type="submit" name="submit" value="create">Submit</button>
答案 0 :(得分:1)
$a="Testing";
echo $a;
if(isset($_POST['submit'])) { // you're not getting here
$location=$_POST['T2'];
echo $a;
echo "Testing one two three"; // even this won't show :)
}
只有一个合理的理由让第二个回声不起作用,即你的if
条件没有评估为真。没有其他原因可以导致这种情况。现在检查表单上名为submit
的字段或按钮:)
一个简单的print_r($_POST);
会告诉您发布的所有信息,如果submit
也已发布,您可以查看该信息。
答案 1 :(得分:1)
我可以告诉你,你错过了表单标签以及应该post
的方法,至少是你发布的代码。
旁注:如果您发布的内容不是完整代码,请执行此操作。以下作品在提交时打印home56
。
我相信这就是预期的结果。
<?php
$a = '5';
$location = 'home';
if(isset($_POST['submit'])) {
$location=$_POST['T2'];
echo $location;
echo $a;
$b = '6';
echo $b;
}
?>
<form action="" method = "post">
<input type="text" name="T2" value="<?php echo $location; ?>">
<input type="submit" name="submit" value="create">
</form>
旁注:如果您愿意,可以保留现在的按钮,而不是我测试过的输入:
<button type="submit" name="submit" value="create">Submit</button>
脚注:
两者[...]
- 是否相关?我敢打赌有。
答案 2 :(得分:0)
通过在隐藏的输入中回显它来实现它
<input type="hidden" name="myvar" value="<?php echo $a; ?>">
然后使用$ _POST提取它
$a=$_POST['myvar'];