【问题标题】:Prefill PHP web form [closed]预填 PHP Web 表单 [关闭]
【发布时间】:2022-01-05 20:24:17
【问题描述】:

我需要用不同的信息填写同一个网页表格(我需要在一个网站上注册一个群组的所有成员)。

所以我想做一个小脚本,它会为我生成一些 URL,每个人都打开注册网页,其中预先填写了每个成员姓名的表格,电子邮件.....

我尝试在 rakuten 连接页面上这样做并且它有效,如果我使用 https://fr.shopping.rakuten.com/connect?auth_user_identifier=foo.gmail.com 加载网页(auth_user_identifieremail 字段的 id)然后电子邮件字段是预填充的。

但是,在我需要使用的网页上它不起作用。该站点在 php 中,但无法按预期工作。该站点需要身份验证,因此我无法在此处链接它,但我可以在 tryphp 网站上重现该问题:

https://tryphp.w3schools.com/showphp.php?filename=demo_form_validation_complete&email=toto

此链接会打开页面,但不会使用 toto 预先填写电子邮件表单,而 id 字段似乎正确。

知道要预先填写电子邮件字段的 URL 参数应该是什么吗?

【问题讨论】:

  • 好吧,如果页面后面的代码不期望在查询字符串中输入,或者即使它们存在于查询字符串中也不尝试预加载表单字段,那么您无能为力跨度>
  • 你的意思是我很幸运有 rakuten 网站,因为它的代码应该可以从 URL 中设置字段?
  • 是的,这就是我的意思。没有默认说明应该这样做
  • 即使是浏览器插件也无济于事,对于 chrome 或 Firefox 或我可以安装的任何其他浏览器......?
  • 在您的示例中,您在 W3Schools 中使用 $_POST['name'] 例如由 URL 填充?name=someone 对吗?如果是这样,代码应该是 $_GET['name'] 来预填充您的字段... $_POST 是在发布帖子之后。

标签: php web url webforms


【解决方案1】:

将值作为$_GET 参数仅在网站期望它们存在时才有效。例如,网站可能会在输入的value 属性中回显$_GET 参数。

但除非你尝试,否则真的无法知道这是否会奏效。

如果您希望自动填写表格并在网站上提交,我推荐Selenium。它是一个 python 包,可用于自动执行各种浏览器任务。

This 是一个教程,展示了如何非常准确地填写和提交表单。

最好的方法可能是创建字典或将 json 文件加载到字典中,然后遍历条目并提交表单。

【讨论】:

    猜你喜欢
    • 2010-09-09
    • 2021-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-07
    • 2019-10-16
    • 1970-01-01
    • 2020-04-13
    相关资源
    最近更新 更多