标签: query-string

是否可以通过PHP访问查询字符串中的锚点?

我有一个页面可以通过这样的URL访问:

http://power-coder.net/Test/something.php?id=3#Page1

我知道如何使用$ _GET访问id参数,但有没有办法让我访问#Page1部分?我查看了$ _SERVER数组,REQUEST_URI结束于?id = 3.

我知道我也可以将#Page1更改为&Page = 1这样的附加参数,但是有一些代码使用旧的URL类型,我希望尽可能避免重写.

谢谢您的帮助.

php url anchor query-string

4
推荐指数
1
解决办法
2008
查看次数

ASP.NET MVC - 通过GET提交时,让Html.BeginForm()记住Querystring参数

我有一个通过Html.BeginForm()呈现的表单,它作为主页面中的一个组件存在,以便它出现在应用程序的每个页面上.我使用Mvc Futures汇编中的Html.RenderAction()完​​成了这项工作.这是一个简单的搜索表单,它在搜索表单本身下更新同一组件中的某些项目,并执行GET,以便搜索项出现在查询字符串中.

<div class="sideBarContent">
   <h2>Search Products</h2>

   <% using (Html.BeginForm(ViewContext.RouteData.Values["action"].ToString(),
         ViewContext.RouteData.Values["controller"].ToString(), FormMethod.Get)) { %>

      <fieldset>
         <legend>Search Products</legend>

         <div class="formRow">
            <label for="ProductsSearch">Search</label>
            <%= Html.TextBox("ProductsSearch") %>
         </div>

         <input type="submit" value="Search" class="button" />
       </fieldset>

   <% } %>

   <ul>
      // Products will eventually be listed here
   </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

我需要这个表单来执行以下操作:

1)它应该对附加'ProductsSearch'作为查询字符串参数的任何当前页面执行GET(例如:example.com/ ?ProductsSearch= testexample.com/books/fiction?ProductsSearch=test)

2)它应该记住查询字符串中已有的任何现有的查询字符串参数,在单击"搜索"按钮后保留它们.example.com/myOrders?page=2搜索后点击它应该去example.com/myOrders?page=2&ProductsSearch=test)

我可以做到1)但不能解决2).

我通常认为,对于一个from到GET并附加查询字符串params,它需要有隐藏的表单字段,所以我可以编写一个实用程序函数,自动为任何查询字符串值添加一堆隐藏的表单字段,但我想检查是否有isn这是一种更简单的方法,或者我可能会采取错误的方式.

干杯!

asp.net-mvc query-string

4
推荐指数
1
解决办法
8974
查看次数

Nginx 301 redirect inc.设置cookie

我正在寻找的是nginx检测到url具有查询字符串变量cid的能力.

例如www.adomain.com/froggy?cid=12&as=false(查询字符串可以独奏或与其他人混合,cid不一定是查询字符串中的第一个变量)

如果检测到cid,它必须发送一个带有变量tmp_cid的set cookie标头,为它提供从cid查询字符串变量中获取的值.

然后它必须发送301重定向以将用户发送到它所带来的相同URL但没有cid查询字符串变量,因此使用上面的示例url,它将重定向到www.adomain.com/froggy?as=假

我希望这是有道理的.

cookies redirect nginx query-string

4
推荐指数
1
解决办法
4464
查看次数

检测URL查询字符串编码

在请求URL上,我可以获取查询字符串?dir=Documents%20partag%C3%A9s?dir=Documents%20partag%E9s.我认为第一个是UTF-8,第二个是ASCII.

真正的字符串是: Documents partagés

所以,我有一个PHP脚本(UTF-8),我想要做的是检测查询字符串是ASCII还是UTF-8,如果是ASCII,则将其转换为UTF-8.

我尝试使用mb_函数,但查询字符串始终检测为ASCII,并将查询字符串的urldecode版本检测为UTF-8.

我怎样才能做到这一点?需要注意的是维基百科有一个类似的功能-它本身的编码%E9%C3%A9.

php ascii utf-8 character-encoding query-string

4
推荐指数
1
解决办法
2774
查看次数

PHP转义查询字符串变量

我在我的Web应用程序中创建了一个表单,该表单只有一个文本字段,并且该字段使用GET发布到PHP页面,但我观察到奇怪的行为.即,当我在本地服务器上测试时,文本是在文本字段中写入时收到的,但是当我将其上传到我的在线服务器时,收到的字符串会自动转义,所有单引号和双引号都会被转义.例如,如果我It's not true...在php方面写,我会得到

$comment = $_REQUEST["comm"];
print $comment;
//will print It\'s not true... on my online server
//will print It's not true... on my local server
Run Code Online (Sandbox Code Playgroud)

我无法理解为什么会如此?是否有自动转义查询字符串变量的PHP设置?

php escaping request query-string

4
推荐指数
1
解决办法
1727
查看次数

Compojure Routes失去了params信息

我的代码:

(defn json-response [data & [status]]
    {:status (or status 200)
     :headers {"Content-Type" "application/json"}
     :body (json/generate-string data)})

(defroutes checkin-app-handler
  (GET "/:code" [code & more] (json-response {"code" code "params" more})))
Run Code Online (Sandbox Code Playgroud)

当我将文件加载到repl并运行此命令时,params似乎是空白的:

$ (checkin-app-handler {:server-port 8080 :server-name "127.0.0.1" :remote-addr "127.0.0.1" :uri "/123" :query-string "foo=1&bar=2" :scheme :http :headers {} :request-method :get})
> {:status 200, :headers {"Content-Type" "application/json"}, :body "{\"code\":\"123\",\"params\":{}}"}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我需要得到查询字符串,但是params地图总是空的..

get clojure compojure query-string

4
推荐指数
1
解决办法
423
查看次数

magento:用于添加产品和将折扣优惠券应用于购物车的URL查询字符串

我是一个新手,经过广泛的研究和探索,我能够弄清楚以下内容:

要将产品添加到购物车,我可以使用

/ checkout/cart/add?product = 76&qty = 1

申请我可以使用的折扣代码

/ checkout/cart/couponPost?coupon_code = WQ9D-XXXX

它的代码驻留在文件中:

/ public_html/app/code/local/Mage/Checkout/controllers/-

我想在一个链接中添加产品并应用折扣代码,例如:

/ checkout/cart/couponPost?product = 76&qty = 1&coupon_code = WQ9D-XXXX

要么

/ checkout/cart/add?product = 76&qty = 1&coupon_code = WQ9D-XXXX

或任何其他方式?

有没有办法让这个工作?想法是将此链接嵌入到时事通讯中,因此只需点击一下,用户就可以将产品添加到购物车并获得折扣.

我试过呼叫$this->couponPostAction();,function addAction()反之亦然,但它不起作用!

url magento cart query-string coupon

4
推荐指数
2
解决办法
6807
查看次数

Qt,QUrl,QUrlQuery:在查询字符串中编码特殊字符

我创建了一个这样的URL查询:

QString normalize(QString text)    
{    
    text.replace("%", "%25");    
    text.replace("@", "%40");    
    text.replace("‘", "%27");    
    text.replace("&", "%26");    
    text.replace("“", "%22");    
    text.replace("’", "%27");    
    text.replace(",", "%2C");    
    text.replace(" ", "%20");    

    return text;    
}    
QString key = "usermail";
QString value = "aemail@gmail.com";    
QUrlQuery qurlqr;    
qurlqr.addQueryItem(normalize(key), normalize(value));

QString result = qurlqr.toString();
Run Code Online (Sandbox Code Playgroud)

期待的结果是:

usermail=aemail%40gmail.com. 
Run Code Online (Sandbox Code Playgroud)

但我收到了:

usermail=aemail@gmail.com
Run Code Online (Sandbox Code Playgroud)

我不知道为什么.你能帮助我吗?

(我在Win7上使用Qt5)

encoding qt urlencode urldecode query-string

4
推荐指数
1
解决办法
3861
查看次数

在Request.QueryString中避免NullReferenceException

此代码抛出页面查询字符串中未指定的NullReferenceExceptionif mode:

bool isAdvancedMode = Request.QueryString["mode"].Equals("advanced");
Run Code Online (Sandbox Code Playgroud)

这是我解决这个问题的方法:

bool isAdvancedMode = (Request.QueryString["mode"] + "").Equals("advanced");
Run Code Online (Sandbox Code Playgroud)

这是标准做法还是黑客攻击?

c# asp.net nullreferenceexception query-string

4
推荐指数
1
解决办法
1916
查看次数

是否可以从具有相同名称的查询字符串中获取值?

我想知道是否可以从此查询字符串中获取值?

'?agencyID=1&agencyID=2&agencyID=3'  
Run Code Online (Sandbox Code Playgroud)

为什么我必须使用这样的查询字符串?
我有一个带有10个复选框的表单.我的用户应该向我发送他/她感兴趣的新闻机构的ID.所以查询字符串包含多个具有相同名称的值.新闻机构的总数是可变的,它们是从数据库加载的.
我正在使用Python Tornado来解析查询字符串.

python tornado query-string

4
推荐指数
1
解决办法
3535
查看次数