在传递之前,如何检查网址是否有参数?
我需要在当前页面上传递s
的值。
传递当前页面'index.php'时,它看起来像index.php?s=value
如果网址包含index.php?page=1
或index.php?orderby=asc
等参数,我该如何传递该值,因此当我按下搜索按钮时,它会像index.php?page=1&s=value
或index.php?orderby=asc&s=value
<form method="get">
<p class="search-box">
<label class="screen-reader-text" for="user-search-input">Search Members:</label>
<input type="search" id="user-search-input" name="s" value="" size="30" placeholder="Search">
<input type="submit" name="" id="search-submit" class="button" value="Search Members">
</p>
</form>
答案 0 :(得分:2)
使用php,您可以将表单中的参数输出为隐藏值,例如:保持页面参数
<form method="get">
<input type="hidden" name="page" value="<?php echo htmlspecialchars(isset($_GET['page'])? $_GET['page']:''); ?>" />
使用$ _GET ['page']时保留htmlspecialchars,否则您将面临XSS攻击。
答案 1 :(得分:1)
此处,action
将放置整个网址。
<form method="get" action="<?php echo $_SERVER['REQUEST_URI']; ?>">
你应该把当前页面作为一个`动作和查询字符串,以便最后添加额外的参数。
答案 2 :(得分:0)
你必须在你标记的“action”属性中包含页面incomming参数。
答案 3 :(得分:0)
<?php
if(isset($_GET['s'])
{
*dostuffwiths
"echo <input type='hidden' name='s' value='$s'>";
}
else
{
echo "<input type='hidden' name='s' value='$s'>";
}
&GT;
答案 4 :(得分:0)
试试这个
<form action="<?php echo $_SERVER["PHP_SELF"];?>" method="GET">
<p class="search-box">
<label class="screen-reader-text" for="user-search-input">Search Members:</label>
<a href="'.$_SERVER['PHP_SELF'].'?page='.$s.'"><input type="search" id="user-search-input" name="s" value="" size="30" placeholder="Search"></a>
<input type="submit" name="" id="search-submit" class="button" value="Search Members">
</p>
</form>