如何在HTML代码中检索PHP变量?

时间:2011-05-01 16:45:16

标签: php html session variables

我从我的HTML表单提交PHP脚本。

然后我在PHP脚本中处理从这个HTML表单中检索到的值,现在我想在我从这个PHP脚本调用的另一个HTML表单中显示这些值。 如何检索此变量?

注意:我尝试echo但我认为我确实希望在表单(HTML)中显示此值,而不是在PHP标记中再次将其分解。

3 个答案:

答案 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>