我想在/index.php?page=2
中使用它,但是当我按下提交按钮时,它会引发我index.php
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
在index.php
我有
<?php
switch($_GET['page']){
case 1:
include_once('/p/fizika.php');
break;
case 2:
include_once('/p/geom.php');
break;
case 3:
include_once('/p/algebra.php');
break;
default:
include_once('/p/algebra.php');
break;
}
?>
请帮帮我。
答案 0 :(得分:4)
如果您只是希望表单将浏览器发送到当前页面,请尝试以下操作:
<form method="post" action="">
正如其他人所说,REQUEST_URI
是另一种方法,但是你应该小心使用htmlspecialchars
或类似方法对其进行消毒,因为它的内容部分受用户控制(等等)可能会让你接触到injection attacks)。
答案 1 :(得分:3)
PHP_SELF返回“当前正在执行的脚本的文件名,相对于文档根目录”。 http://php.net/manual/en/reserved.variables.server.php
如果您需要知道完整的URI,请使用:
$_SERVER['REQUEST_URI']
如果您只想让表单提交给自己(同一页面),请使用
<form action="">