2012-07-01 37 views
0

我想知道是否有人可以幫助我。通過URL將PHP變量傳遞給外部表格

我捕獲Session variable HTML表格內,如下所示:

$lid = $_SESSION['lid']; 

從這個主HTML形式,使用下面的代碼行,我然後加載使用「mysqlajaxtableeditor`軟件的外部AJAX表:

</script> 
<!-- Set ajax url --> 
     <script type="text/javascript"> 
      trackHistory = false; 
      var ajaxUrl = 'Example3.php'; 
     </script> 

<body id="page2" onload="toAjaxTableEditor('update_html','');"> 

我想什麼能夠做的,就是從主窗體捕獲Session variable並將其傳遞到外部AJAX表。

我已經閱讀了本網站上的許多帖子,我希望能夠解決我的問題,但我似乎無法將價值傳遞給對方。

從我讀過,我已經盡我的主要形式如下: var ajaxUrl = 'Example3.php?lid=$lid';,然後在接收AJAX表腳本,$lid = $_GET['lid'];但它不工作,我不知道在哪裏,我出錯了。

有關其他信息,我已經張貼下面的AJAX表的代碼:

class Example1 extends Common 
{ 
    function initiateEditor() 
    { 
     $tableColumns['findid'] = array('display_text' => 'Find ID', 'perms' => 'TV'); 
     $tableColumns['dateoftrip'] = array('display_text' => 'Date of Trip', 'perms' => 'ETV'); 
     $tableColumns['finddescription'] = array('display_text' => 'Find Description', 'perms' => 'ETV'); 
     $tableColumns['detectorname'] = array('display_text' => 'Detector Used', 'perms' => 'EVT'); 
     $tableColumns['searchheadname'] = array('display_text' => 'Search Head Used', 'perms' => 'ETV'); 
     $tableColumns['pasref'] = array('display_text' => 'PAS Ref.', 'perms' => 'ETV'); 

     $tableName = 'finds'; 
     $primaryCol = 'findid'; 
     $errorFun = array(&$this,'logError'); 
     $permissions = 'EID'; 

     require_once('php/AjaxTableEditor.php'); 
     $this->Editor = new AjaxTableEditor($tableName,$primaryCol,$errorFun,$permissions,$tableColumns); 
     $this->Editor->setConfig('tableInfo','cellpadding="1" width="800" class="mateTable"'); 
     $this->Editor->setConfig('tableTitle',''); 
     $this->Editor->setConfig('orderByColumn','dateoftrip'); 
     $this->Editor->setConfig('editRowTitle','Edit Details'); 
     $this->Editor->setConfig('iconTitle','Edit Find Details'); 
    } 


    function Example1() 
    { 
     if(isset($_POST['json'])) 
     { 
     session_start(); 
     $this->mysqlConnect(); 
     if(ini_get('magic_quotes_gpc')) 
     { 
      $_POST['json'] = stripslashes($_POST['json']); 
     } 
     if(function_exists('json_decode')) 
     { 
      $data = json_decode($_POST['json']); 
     } 
     else 
     { 
      require_once('php/JSON.php'); 
      $js = new Services_JSON(); 
      $data = $js->decode($_POST['json']); 
     } 
     if(empty($data->info) && strlen(trim($data->info)) == 0) 
     { 
      $data->info = ''; 
     } 
     $this->initiateEditor(); 
     $this->Editor->main($data->action,$data->info); 
     if(function_exists('json_encode')) 
     { 
      echo json_encode($this->Editor->retArr); 
     } 
     else 
     { 
      echo $js->encode($this->Editor->retArr); 
     } 

     } 
    } 
} 
$lte = new Example1(); 
?> 

我只是想知道一個人是否有可能看這個,請讓我knwo我要去哪裏錯了嗎?

許多的感謝和親切的問候

+0

我沒有understend,但你可以使用一個Ajax風格的subitting:如$。員額... VAR1,VAR2,VAR3到Example3.php –

+0

它添加到文件名是正確的做法。但是我們無法知道您的AJAX或表格文件加載方法(均未顯示)是否再次除去參數(如果添加了默認的GET參數)。 – mario

+0

嗨@mar​​io,呃你這個,我的道歉,省略表代碼。我現在已將此添加到我原來的帖子中。親切的問候 – IRHM

回答

0

大量的工作後,並在網上搜索,我找到了解決辦法。

在HMTL頁我寫這樣的:

<!-- Set ajax url --> 
     <script type="text/javascript"> 
      trackHistory = false; 
      var ajaxUrl = 'ajaxtable.php?lid=$lid'; 
     </script> 
<body id="page2" onload="toAjaxTableEditor('update_html','');"> 

在我接受AJAX表編輯軟件腳本我寫道:

function initiateEditor() 
{ 
    $tableColumns['locationid'] = array('display_text' => '', 'perms' => '','data_filters' => array('filters' => array("='".$_SESSION['lid']."'")), 'default' => $_SESSION['lid']); 

我希望這可以幫助別人的未來。

親切的問候