Php 不确定提交表单时如何处理查询字符串
如果您访问此网站:,然后填写图书在线表单并点击“检查可用性”,我会得到以下查询字符串:Php 不确定提交表单时如何处理查询字符串,php,jquery,html,query-string,Php,Jquery,Html,Query String,如果您访问此网站:,然后填写图书在线表单并点击“检查可用性”,我会得到以下查询字符串: http://www.secure-res.com/res/vn4/avail.aspx?hotelid=3687&checkindate=3/17/2012&nights=3&rooms=1&adults=1&children=0&childrenages=&trr=6FFFFFD8E9AC12&culture=1&culturenam
http://www.secure-res.com/res/vn4/avail.aspx?hotelid=3687&checkindate=3/17/2012&nights=3&rooms=1&adults=1&children=0&childrenages=&trr=6FFFFFD8E9AC12&culture=1&culturename=en-US&wtpid=1
现在,我必须用一个自定义主题重新创建这个网站,并将它放在wordpress中。我确实理解查询字符串根据客户机决定选择的内容更改值。但是,我的字符串查询与上面的查询不匹配
这是我的表格:
<form id="form" method="GET" target="_blank" action="/res/vn4/avail.aspx?">
<input type="hidden" name="hotelid" value="3687" />
<label id="checkin">Check-in Date:</label>
<input type="text" name="checkindate" id="datepicker" value="<?php echo $date; ?>" size="10" />
<!--<img src="<?php bloginfo('template_url'); ?>/images/calendar.gif" border="0" width="22" height="19" alt="calendar" />-->
<label id="nights">Nights:</label>
<select name="nights" id="nights">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
</select>
<label id="rooms">Rooms:</label>
<select name="rooms" id="rooms">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<label id="adults">Adults:</label>
<select name="adults" id="adults">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
<label id="children">Children:</label>
<select name="children" id="children">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
<input type="hidden" name="childrenages" value="" />
<input type="hidden" name="hotelid" value="3687" />
<input type="hidden" name="trr" value="BFFFFFD8EA3772" />
<input type="hidden" name="culture" value="1" />
<input type="hidden" name="culturename" value="en-US" />
<input type="hidden" name="wtpid" value="1" />
<input type="submit" id="submit" value="Check Availability" />
</form>
入住日期:
问题1。当我上传
A1。不完全是。把“?”去掉。您可能希望avail脚本的扩展名为.php,而不是.aspx,否则,使用标准服务器设置,在提供服务时,它很可能不会通过php解析器
问题2。为了让我得到
A2。对于avail脚本需要具有但用户不得输入或修改的任何固定参数,请使用隐藏的输入字段。隐藏字段值通常由生成表单所在页面的脚本写入HTML中,但在某些情况下,可以在客户端(通过javascript)动态插入。对于空值,请在HTML中设置value=”“
。确保avail.php脚本适当地处理空参数和缺少的参数
第三季度。当我测试我的表格时
A3。URL编码由浏览器执行,以防止URL中包含其他非法字符。客户端会照顾自己。服务器端,在PHP中,超级全局变量$\u GET和$\u请求已经被url解码。不要再次使用urldecode(),否则可能会出现意外/危险的结果(请参阅警告)
还有一件事,你不希望hotelid的格式出现两次。>unicodedata.name(u'\x20')
'SPACE'
对不起,我不理解你的评论我知道……我只是记不起斜杠的正确格式。这就是为什么我说“但我得到的是签入=3%2017%202012之类的东西”。我可以理解你的问题,但我想知道你用空格替换%20
想要实现什么?我不想用空格替换%20。对不起,英语不是我的专长。当我使用jquery日期选择器在我的日期字段中插入日期(例如,今天的日期…2012年3月17日)时,当我点击“检查可用性”按钮时,页面将重定向到另一个页面。当我查看url时,我得到一个与原始查询字符串不同的查询。原始查询字符串为checkindate=3/17/2012。相反,在我的查询字符串中,我的斜杠被转换为其他内容。这不是%20,但我记不起来了。我写了%20来做一个例子。“您可能希望avail脚本使用.php扩展名,而不是.aspx…”不,您希望远程URL使用任何扩展名。远程脚本不会仅仅因为您希望它变成PHP。@Ignacio Vazquez Abrams再次阅读我所说的内容。您需要再次阅读问题。“avail”是一个远程脚本。@Ignacio Vazquez Abrams是的,我完全知道这是一个远程脚本。我建议它应该有一个.php扩展名,以确保它被php解析器解析。为什么ASP.NET应用程序需要被php解析器解析?