0

我为搜索结果创建了一个表单:

<form id="searchForm" action="<?php echo JRoute::_('index.php?option=com_new');?>" method="get">

<fieldset class="word">
    <label for="search-searchword">
        <?php echo Word; ?>
    </label>
    <input type="text" name="<?php echo JRoute::_('index.php?option=com_new');?>searchword" id="search-searchword" size="30" value="<?php echo $this->escape($this->origkeyword); ?>" class="inputbox" />


    <button name="Search" onclick="this.form.submit()" class="button"><?php echo Submit;?></button>
    <input type="hidden" name="task" value="search" />

</fieldset>

我得到的网址是:

/index.php?%2Fsearch%2Findex.php%3Foption%3Dcom_newsearchword=&Search=&task=search
4

1 回答 1

1

一个 URL 由几个部分组成,如子域、域、路径、url 参数。对于所有这些部分,您都有一定的规则。一条规则说:URL 参数中可能没有某些字符。尤其不是用于描述参数本身的字符,例如:

  • ? 用于标记 url 参数部分的开始
  • & 用于标记任何附加 url 参数的开始
  • = 用于标记 url 参数值的开始。

所以这些字符必须被编码。这就是你所看到的。如果您需要获取第一个(未命名的)url 参数,然后对其进行解码。

这可能会有所帮助: http: //php.net/manual/en/function.urldecode.php

于 2012-10-28T11:27:33.347 回答