[英]is it possible to read the action value of a form with php?
我想知道是否有一種方法可以讀取或提取php中表單標簽的動作參數值? <form name="..." method="post" action="*this*">
這段代碼返回表單內每個元素的每個值,但不是從form
-tag本身返回:
foreach($_POST as $_FORM_value){
$_FORM_values[] = $_FORM_value;
}
有任何想法嗎?
現在,我只是使用一個隱藏字段來執行正確的腳本:
<input type="hidden" name="load-script" value="ScriptName" readonly>
最重要的是,在hta頁開始加載並將任何html發送到客戶端之前,我正在檢查是否已提交任何表單:
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>';
}
}
}
//
我的想法是消除對隱藏的load-script元素的需要,僅使用form action值確定要加載的腳本。 但這可能不可能嗎?
該action
定義了要調用的腳本的URL。 因此,您可以在某些$_SERVER
變量中查看所有操作的詳細信息-也許$_SERVER['PHP_SELF']
和$_SERVER['QUERY_STRING']
對您很有用。
不,就其定義提交表單只序列中的所有值form
問題,並將由定義的那些服務器的method
。 在PHP中,您可以使用以下命令檢查回發中的內容:
var_dump($_POST); // assuming POST method
HTML不會返回任何其他數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.