0

我正在提交表单,但_GET在 URL 中返回的方式存在一些问题

这是代码:

index.php/search?stmindate=2013-04-01&stmaxdate=2013-05-31&%24comname=teststring

正如你所看到的,2013-05-31comname&%24 尝试在另一边获取它时,它不会以“teststring”的形式返回,我认为这是因为:

<form action="http://<?=$_SERVER["SERVER_NAME"]?>/index.php/search" method="GET">
  By  Start Date:<br/>
  Min Date:<?= date_input("stmindate", $stmindate, true) ?>
  Max Date:<?= date_input("stmaxdate", $stmaxdate, true) ?> 
  <select name="$comname">
    <option value="all">All</option>
    <?
      for ($scan = 0; $scan < count($Companies); $scan++) {
        $ty = $Companies[$scan]['name'];
        $sel = "";
        echo "<option $sel value=\"$ty\">$ty</option>".PHP_EOL;
      }
    ?>
  </select>
  <input type="submit" value="Submit">
</form>
4

3 回答 3

2

查看您的<select name="$comname">. 你想把美元符号拿出来。%24 是一种传递 $ 的 URL 友好方式。我认为你不想做的事情。

于 2013-04-23T01:29:11.943 回答
1

http://www.obkb.com/dcljr/charstxt.html

%24 是一个美元符号。它将其编码到 url 字符串中,您需要对 url 进行解码才能使用它,尽管您似乎不太可能希望在您的 URL 中使用 $ 符号。

于 2013-04-23T01:30:12.393 回答
0

某些字符经过编码以在 URL 中使用。您只需要使用urldecode()将它们转换回来。

于 2013-04-23T01:28:02.023 回答