如何使用PHP传递选择值以形成动作?

安娜·阿特伯恩:

我正在尝试对Wikipedia进行简单搜索,在其中可以键入要搜索的内容,并在其中选择可以选择语言的位置。我想做的是获取选择值,以便能够以不同的语言进行搜索,因此我只替换了wikipedia.org网址中的语言字符串

(例如,如果我在选择下拉列表中选择法语,则该表单应将我重定向到fr.wikipedia.org,如果我选择英语,则应将我重定向到en.wikipedia.org)

这是我到目前为止尝试过的:

<form action="https://<?php $_POST["language"] ?>.wikipedia.org/w/index.php">
  <input name="search" type="text" />
  <select name="language">
    <option value="en">English</option>
    <option value="fr">French</option>
  </select>
</form>

现在,提交后,我得到以下网址:https://.wikipedia.org/w/index.php?search = cat

如何将选择值传递给表单操作,以便我可以将其添加到URL的开头?

受伤的史蒂文·琼斯

您当前的脚本不起作用的原因是因为页面加载时(而不是提交表单之后)处理了PHP。您的第一次访问此页面$_POST['language']未设置,因此表单操作设置为https://.wikipedia.org/w/index.php然后,如果您提交表单(get),则将https://.wikipedia.org/w/index.php?search = cat&language = zh-CN结尾

相反,您需要做的是处理页面上的表单提交,然后重定向到Wikipedia。默认情况下,当您提交form(使用默认的get方法)时,您将最终到达/index.php?search=cat&language=en因此,现在您可以读取这些$_GET参数来构造要重定向到的URL。

<?php
    if (isset($_GET) && count($_GET)) {
        $language = $_GET["language"];
        $search = $_GET["search"];
        $action = "https://".$language.".wikipedia.org/w/index.php?search=".$search;
        header('Location: '.$action);
    }
?>

<form>
  <input name="search" type="text"/>
  <select name="language">
    <option value="en">English</option>
    <option value="fr">French</option>
  </select>
</form>

另一种方法是设置<form method="post">,然后在PHP中使用,$_POST例如:

if ($_POST) {
    $language = $_POST["language"];
    $search = $_POST["search"];
    $action = "https://".$language.".wikipedia.org/w/index.php?search=".$search;
    header('Location: '.$action);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用get方法使用PHP输入值以形成字段

如何使用数组传递选择框值并使用php存储在数据库中

如何选择Q值最高的动作

将选择的多选值传递给控制器动作

如何使用AJAX GET传递php值

问:如何使用 f:form action 和 textflield 将值传递给控制器动作

如何使用 Jquery 将选择值传递给 url

使用struts2从动态创建的下拉列表中选择值后如何调用动作

如何将选择值从Javascript传递到PHP以在更改时生成选择选项

如何在Laravel中的表单动作中传递值

如何将文本值传递给动作参数?

如何使用示例表为SOAP请求传递空值。记录2-6正在形成故障XML请求

JavaScript:如何根据选择更改表单动作属性值?

Ionic3-如何使用离子选择和离子选择将所选值传递给事件?

表达式函数和动作如何将值形式函数传递给动作

如何使用AJAX将值传递给PHP脚本?

如何使用PHP将值从函数传递到数组

如何使用ajax加载将<input>值传递给php

PHP 如何使用我的选择来更改值?

如何在PHP中使用$ _POST获取选择元素值

如何使用php / html动态设置选择值

如何将下拉列表选择的值从 php 表单传递到 mysql 查询

如何将选择选项值从php代码传递给Jquery?

如何使用SwiftUI将参数传递给Button的动作

如何使用redux将动作传递给孩子?

如何使用AJAX在PHP中将选择框值作为数组从一个页面传递到另一页面?

如何将选择复选框的值动态传递给ajax调用变量,然后动态传递给php变量

如何使用laravel获取选择/下拉值并将其传递给url参数?

如何在表单的选择字段onChange中传递对象值(使用React,不带Redux)