我尝试在我的php应用程序中使用表单重定向到当前页面。现在我遇到了一个问题。
<form name="myform" action="?page=matching" method="GET">
<input id="match_button" type="submit" name="button" value="button" onClick="func_load3()" />
</form>
action="?page=matching"
表示当前页面,因为我在php应用程序中使用单个条目。
打开代码后,当我点击按钮时,它会重定向到主页。
我尝试使用:
<form name="myform" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="GET">
但它仍然无效。
所以我必须向你寻求帮助。你有什么想法吗?怎么解决?提前致谢。
答案 0 :(得分:13)
将操作部分留空以重定向到当前页面,例如:
<form action="">
或者如果你想重定向到其他页面,你可以这样做:
<form action="somepage.php"> // page must be in the same directory
如果你想附加查询字符串,那么:
<form action="somepage.php?var=value&var2=value">
如果您想重定向到一个目录,那么:
<form action="../somepage.php?var=value&var2=value">
两个目录:
<form action="../../somepage.php?var=value&var2=value"> and so on
在nother文件夹中
<form action="yourfolder/somepage.php?var=value&var2=value">
答案 1 :(得分:2)
PHP_SELF不包含查询字符串,您必须在末尾标记
<?php
$formAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$formAction .= "?" . $_SERVER['QUERY_STRING'];
}
?>
然后将其设置为表单操作:
<form name="myform" action="<?=$formaction;?>" method="GET">
你我想这样做:
<form name="myform" action="<?=$_SERVER['PHP_SELF']. "?" . $_SERVER['QUERY_STRING'];?>" method="GET">
也可以工作,不确定如果QUERY_STRING为空,它会做什么
答案 2 :(得分:1)
<form name="myform" method="GET">
<input type="hidden" name="page" value="matching" />
<input id="match_button" type="submit" name="button" value="button" onClick="func_load3()" />
</form>
此外,JS函数func_load不需要将页面重定向到某个地方。
答案 3 :(得分:0)
$_SERVER[PHP_SELF]
可能是index.php。你看过了吗?你需要:
<?php echo $_SERVER['PHP_SELF']. '?page=matching'; ?>
我建议建立一个管理路线的链接助手。
答案 4 :(得分:0)
试试这个 的index.php:
switch ($_REQUEST['site']){
case 'somethings':
if ($_POST['k_send']){
//somethings
}
...
form.php的
<form name="send" action="index.php?site=somethings"
<input ...
<input type="submit" name="k_send" ...
答案 5 :(得分:0)
仅使用post方法。