我想知道是否有方法來讀取或提取從PHP中的表單標籤的操作參數的值? <form name="..." method="post" action="*this*">
是否可以使用php讀取表單的動作值?
此代碼返回表單內的每個元素的每個值,但不能從form
- 標籤本身:
foreach($_POST as $_FORM_value){
$_FORM_values[] = $_FORM_value;
}
任何想法?
現在,我只是用一個隱藏字段來執行正確的腳本:
<input type="hidden" name="load-script" value="ScriptName" readonly>
,並在極頂,前HTA頁開始加載任何HTML被髮送到客戶端,我米檢查瑟如果任何形式已經submittet:
if(isset($_POST['load-script'])){include dir_setup.'post.exec.php';}
而且裏面post.exec.php:
# get name from submit-button
foreach($_POST as $_FORM_ELEMENT_name=>$_FORM_ELEMENT_value){
if (!strncmp($_FORM_ELEMENT_name,'submit_',7)){
$_FORM_ELEMENT_submit_name=explode('_',$_FORM_ELEMENT_name);
$_FORM_name=$_FORM_ELEMENT_submit_name[1];
}
}
//
# fetch script
if(empty($_POST['load-script'])){
$_SITE_notices[] = '<code><b>load-script</b></code> in <code><b>'.$_FORM_name.'</b></code> is empty.';
}else{
$_FORM_SCRIPT=$_POST['load-script'].'.script.php'; // script to search for.
if(file_exists(dir_scripts.$_FORM_SCRIPT)){ // check locally first.
include dir_scripts.$_FORM_SCRIPT; // include script from local folder - if found.
}else{ // script was not found locally.
if($_SITE_FRAMEWORK){
if(file_exists(ROOT_FRAMEWORK.dir_scripts.$_FORM_SCRIPT)){ // check framework.
include ROOT_FRAMEWORK.dir_scripts.$_FORM_SCRIPT; // include script from framework - if found.
}else{ // script was not found in either directory; quit searching and throw error.
$_SITE_notices[] = 'Could not locate <code><b>'.$_FORM_SCRIPT.'</b></code> in either <code><small><ROOT></small><b>/'.dir_scripts.'</b></code> or <code><small><FRAMEWORK></small><b>/'.dir_scripts.'</b></code>';
}
}else{ // framework is not activated; quit searching and throw error.
$_SITE_notices[] = 'Could not locate <code><b>'.$_FORM_SCRIPT.'</b></code> in <code><small><ROOT></small><b>/'.dir_scripts.'</b></code>';
}
}
}
//
我的想法是消除對隱藏的加載腳本元素的需求,並使用表單操作值來阻止加載哪個腳本。但那可能不可能?
不要太挑剔 - 但這些價值正是Apache「看到」的。兩者都可能被HTTP重定向,重寫規則或什麼東西所改變。不能保證這些值與原始HTML字段相對應。 – 2014-09-03 23:41:33
你是對的,他們肯定會*不*包含'action =「...」'中的字符串。 ThomasK想要「使用表單動作值來阻止腳本加載」,也許他會發現'$ _SERVER [something]'足夠有用。 – 2014-09-03 23:46:07