2012-01-03 39 views
0
同一頁

我想在/index.php?page=2使用它,但是當我按下提交按鈕,它拋出我index.phpPHP_SELF不工作

<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; 
} 
?> 

請幫助我。

+4

我強烈建議不使用PHP_SELF。 – Grexis 2012-01-03 23:43:52

+1

'

」>'...爲什麼我的kodz重定向到haxorz站點?不好了!我的kodz haxed!請幫忙! **但嚴重的是,不要使用PHP_SELF ... ** – rdlowrey 2012-01-03 23:45:46

回答

4

如果你只想形式向瀏覽器發送到當前頁面,試試這個:

<form method="post" action=""> 

正如其他人所說,REQUEST_URI是另一種方式來做到這一點,但你要時刻注意消毒它使用htmlspecialchars或類似的,因爲它的內容部分在用戶的控制之下(因此可能會暴露給injection attacks)。

+1

@ user1128882愛你2 bbz xx – Bojangles 2012-01-03 23:50:55

3

PHP_SELF返回「當前執行的腳本相對於文檔根目錄的文件名」。 http://php.net/manual/en/reserved.variables.server.php

如果您需要知道完整的URI,使用方法:

$_SERVER['REQUEST_URI'] 

如果你只是想通過此表格提交到它本身(同一頁),只要用

<form action="">