gpt4 book ai didi

php - $_POST 和关联数组中的可变变量

转载 作者:行者123 更新时间:2023-12-04 00:31:08 33 4
gpt4 key购买 nike

我可能有点厚,但我似乎找不到这个问题的答案。我正在从一台启用了注册全局变量的服务器转移到一台关闭它的服务器。这是一件好事,但不幸的是,多年来我一直习惯于使用注册全局变量,这导致我编写了草率的代码。我现在正在努力解决这个问题。

我正在尝试重写一些在 $_POST 中包含可变变量的旧代码。

我知道这是一个愚蠢的例子,但它说明了我要解决的问题。以下内容适用于注册全局变量 ON:

<?php $variable = "fullname";?>
<form action="/test/" method="post">
<label for="fullname">Full Name:</label> <input name="fullname" type="text" value="<?php echo $$variable;?>" size="20" maxlength="150" />
<input name="submit" type="submit" value="Go!" />
</form>

如何在关闭全局注册的情况下进行这项工作?以下显然不起作用:

<?php $variable = "fullname";?>
<form action="/test/" method="post">
<label for="fullname">Full Name:</label> <input name="fullname" type="text" value="<?php echo $_POST[$$variable];?>" size="20" maxlength="150" />
<input name="submit" type="submit" value="Go!" />
</form>

请放轻松 - 我知道我可能很愚蠢,但我似乎无法理解这个问题。

最佳答案

很简单,只需 $_POST[$variable]。 (或 $_GET$_REQUEST,视情况而定。)

但是请注意,当您将文本输出为 HTML 时,您必须对其进行编码,否则您将容易受到跨站点脚本攻击:

<input type="text"
name="<?php echo htmlspecialchars($variable);?>"
value="<?php echo htmlspecialchars($_POST[$variable]);?>"
size="20" maxlength="150"
/>

(我通常定义一个名为 h 的函数来执行 echo htmlspecialchars,以减少这种过多的输入。)

关于php - $_POST 和关联数组中的可变变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3585277/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com