当字段值在url中时,如何自动填充PHP表单的字段


How can I populate the fields of a PHP form automatically when the field values are in the url?

我在PHP中有一个have,我有常用字段,如"Name"answers"Surname"。

现在,当用户访问页面时,例如。http://www.example.com/form.php表单字段"Name"answers"Surname"为空。

我现在想要一个类似的链接http://www.example.com/form.php?name=John

这样,当客户端点击链接时,PHP表单的名称字段中就已经填充了"John"。

我知道这可以用HTML完成,但我怎么能用PHP完成呢?

只是想让我知道我没有PHP表单——我只想从我的网站上获得一个链接来填写PHP表单(我无法控制)。

提前谢谢。

可以使用$_GET 完成

通过URL参数传递给当前脚本的变量的关联数组。

例如:

<? php
if(isset($_GET['name']))
{
    $test = $_GET['name'];
}
?>
<html>
<body>
    <form>
        <input type="text" name="test" value="<?php if(isset($test)){echo "$test";}?>"/>
    </form>
</body>
</html>

注意:代码未经过测试或其他任何操作。。此外,从URL中获取值(可以被视为用户输入)可能存在安全风险,因此请确保您意识到这一点以及如何防止

您可以存储该值,然后在准备输出输入字段时您只需传递存储的值。

$name = $_GET['name'];
// ... later on
echo '<input type="text" value="'.$name.'"/>';

通过使用$_GET超全局

 <input name="name" value="<?php echo !empty($_GET['name']) ? $_GET['name'] : '';?>" />
 <input name="surname" value="<?php echo !empty($_GET['surname']) ? $_GET['surname'] : '';?>" />

您可以在php中使用get方法来获取名称并使用它

您可以通过$_GET["name"]函数或$_REQUEST["name"]检索此信息。

储存器变量

小心这些操作,您可能会遇到验证或安全问题。

注意:如果您不确定是否设置了"name"变量,则还必须使用isset函数进行测试。

您可以使用$_GET超全局,因此您的输入可能如下所示:

<input type="text" name="name" value="<?php if(isset($_GET['name'])) { echo $_GET['name']; } ?>" />

$_REQUEST超级全局变量也做类似的事情,但我只想使用$_GET。

这里的每个人的答案似乎都假设你自己在构建表单,但根据你的问题,情况似乎并非如此。

你想做的事情可能是可能的,也可能是不可能的。如果表单以某些方式接受某些类型的参数,则您可以挂接该功能并进行设置,以便当有人单击您页面上的链接时,该信息会传递到另一个页面。

表单接受这些信息的一种方式是以"获取"请求的形式。使用此方法,值将作为url的一部分传递,如您的示例:http://www.example.com/form.php?name=John。假设你的页面可以访问一个名为$name的php变量,你可以从代码中创建一个链接来构建这样的url:

<a href="http://www.example.com/form.php?name=<?php echo $name; ?>">Sign up!</a>

如果页面不接受以这种方式获取参数(我很难想象他们会这样做),你可能不得不尝试其他技术来发送信息(假设他们甚至会接受!)。我认为还有两种方法可以做到这一点,一种是用"post"传递值,另一种是为页面创建cookie。如果你告诉我们你试图在哪个页面上设置这种行为,我们可能会检查它,并给你一个更好的答案。