【问题标题】:How can I populate the fields of a PHP form automatically when the field values are in the url?当字段值在 url 中时,如何自动填充 PHP 表单的字段?
【发布时间】:2012-03-30 09:03:08
【问题描述】:

我有一个 PHP 并且我有常用字段,例如“姓名”和“姓氏”。

现在当用户访问页面时,例如http://www.example.com/form.php 表单字段“姓名”和“姓氏”为空。

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

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

我知道这可以在 HTML 中完成,但我如何在 PHP 中完成呢?

只是让我知道我不拥有 PHP 表单 - 我只是想要一个来自我的网站的链接来填写 PHP 表单(我无法控制)。

提前致谢。

【问题讨论】:

标签: php


【解决方案1】:

可以使用$_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 获取值可能存在安全风险(可被视为用户输入),因此请确保您了解这一点以及如何预防

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

      通过使用 $_GET 超全局

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

      【讨论】:

        【解决方案4】:

        你可以使用php中的get方法来获取名字并使用它

        【讨论】:

          【解决方案5】:

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

          Reserver variables

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

          注意:如果您不确定是否设置了“名称”变量,您还必须使用 isset 函数来测试它。

          【讨论】:

            【解决方案6】:

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

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

            $_REQUEST 超全局函数做了类似的事情,但我只会使用 $_GET。

            【讨论】:

              【解决方案7】:

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

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

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

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

              如果页面不接受以这种方式获取参数(我很难想象它们会接受),您可能必须尝试其他技术来发送信息(假设他们甚至会接受它!)。我想你可以做到这一点的另外两种方法是通过“post”传递值或为页面创建一个cookie。如果您告诉我们您尝试在哪个页面上设置此行为,我们可能会对其进行检查并为您提供更好的答案。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2012-02-18
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2019-08-31
                • 2011-02-25
                • 1970-01-01
                • 2018-02-19
                相关资源
                最近更新 更多