我从我的HTML表单提交PHP脚本。
然后我在PHP脚本中处理从这个HTML表单中检索到的值,现在我想在我从这个PHP脚本调用的另一个HTML表单中显示这些值。 如何检索此变量?
注意:我尝试echo
但我认为我确实希望在表单(HTML)中显示此值,而不是在PHP标记中再次将其分解。
答案 0 :(得分:1)
我不确定你的意思是“不要再用PHP标签打破它”。 HTML本身无法访问PHP变量。这是因为PHP是服务器端语言,HTML是客户端语言。但这是打印从表单中检索的php变量的最简单方法。
<form>
<p>Your name: <?php echo $_POST['name'] ?></p>
</form>
这假设有一个表单使用POST提交了一个名为“name”的字段。
您可以在文件顶部的php脚本中处理该名称,然后在打印html时简单地回显它。这样,您就不会将太多的PHP代码与HTML混合在一起(这使得它看起来更干净)。
答案 1 :(得分:1)
获得PHP脚本中的值后,您是否正在调用新脚本?如果是这样,您可能希望将值保存在$_SESSION["varible_name"]
中。如果没有,你只需回应它。
答案 2 :(得分:1)
这取决于您通过$_POST
或$_GET
访问表单数据的方式。为简单起见,我假设您使用$_GET
并修改this example以获得更清晰的信息。
因此,假设您在welcome.php上有一个表单:
<form action="welcome.php" method="get">
Name: <input type="text" name="fname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
现在结果将返回到同一页面,因此您要修改页面说:
<form action="welcome.php" method="get">
Name: <input type="text" name="fname" value="<?php echo $_GET["fname"]; ?>"/>
Age: <input type="text" name="age" value="<?php echo $_GET["age"]; ?>" />
<input type="submit" />
</form>
虽然您会注意到我们正在使用相同的页面,并且我们只能拥有该页面的一个版本,因此我们希望在条件已设置变量的情况下进行渲染。
if (isset($_GET["fname"])){
//code to print second form
}
else{
//code to print first form
}
或者,以另一种方式(使用ternary operator):
<form action="welcome.php" method="get">
Name: <input type="text" name="fname" value="<?php echo ((isset($_GET["fname"]))?$_GET["fname"]:""); ?>"/>
Age: <input type="text" name="age" value="<?php echo ((isset($_GET["age"]))?$_GET["age"]:""); ?>" />
<input type="submit" />
</form>