2012-03-19 81 views
0

在過去的幾天中,這一個讓我感到很大壓力。我正嘗試設置一個基於Typo3的基於CMS的多頁訂單表單。然而,我發現將會話變量從一個頁面傳遞到另一個頁面時遇到了很大的困難會話代碼是正確的。然而,我懷疑我沒有對CMS規則手冊做相應的處理。所以:PHP多頁訂購表格

我在訂單中有4頁。 4 .php文件與4個.tpl文件。

<form method="post" action="/index.php?puid=3&pageid=176"> 

    <input type="radio" name="rubrik" onchange="toggleDiv('show',0);toggleDiv('check',0)" value="kfz" />KFZ 

    <br></br> 
    <input name="rubrik" id="immo" onchange="toggleDiv('show',1);toggleDiv('check',1)" type="radio" value="immobilien" class="static" />Immobilien 
     <input type="image" action="/index.php?puid=3&pageid=176" value="submit" src="/images/weiter.png" alt="Submit" style="float:right; margin-right:275px; margin-bottom:50px; margin-bottom:50px; margin-left:25px; text-align:left;" ></input> 
</form> 

這是我的第一種形式。在page1.tpl中。使page2.php開始是這樣的:

<?php 

    session_start(); 
    $_SESSION['Rubrik wahl'] = 'rubrik'; 

    if (isset($_POST['rubrik'])){ 
    $_SESSION['rubrik']=$_POST['rubrik']; 
    } 

雖然page.tpl我有:

<form method="post" action="/index.php?puid=3&pageid=177"> 
      <textarea name="inhalt1" cols="40" rows="8" style="width:618px; height:200px;" onKeyDown="textCounter(document.inhalt.inhalt1,document.inhalt.counter,180)" onKeyUp="textCounter(document.inhalt.inhalt1,document.inhalt.counter,180)" ></textarea> 
      <input type="hidden" name="rubrik" value="<?php echo 'rubrik';?>"></input> 
    <br></br><br></br><br></br>  
    <input type="image" action="/index.php?puid=3&pageid=177" value="submit" src="/images/weiter.png" alt="Submit" style="margin-bottom:50px; margin-left:25px; text-align:left; float:right; margin-right:275px; margin-bottom:50px;"></input> 

      </form> 

現在爲何 'rubrik' 變量不會從一個頁面傳遞到另一個?

+0

如果您打電話給自己的網頁('page2.php'),那麼您描述的問題超出了TYPO3的範圍。它也看起來像你使用自己的變量的頁面('puid'和'pageid')。你如何在TYPO3中包含PHP文件? – konsolenfreddy 2012-03-19 13:04:55

+0

生產CMS的公司,名爲redFACT,剛剛告訴我,因爲它是靜態的,所以在頁面上運行會話不是可行的。那可能嗎? – raz 2012-03-19 15:26:17

+0

取決於你在做什麼。如果繞過TYPO3 API,那麼你就會遇到這種問題。通常情況下,TYPO3內容會被緩存,並且您必須告訴TYPO3可能的參數,因此TYPO3可以爲每個參數組合在緩存中存儲不同的版本。也如前所述,你不使用正常的get參數(id爲站點,什麼是puid?)。除非你告訴我們你真正想要歸檔的內容以及你現在正在做什麼,那麼我們可能會幫助你。有多種表單擴展可以讓你在沒有PHP的情況下設置表單。 – pgampe 2012-03-20 08:41:34

回答

0

你說得對。你不這樣做,你應該使用TYPO3。

但我想,你只是沒有使用TYPO3。 redFact是由網絡機構newsagency構建的商業CMS。 TYPO3是開源CMS本身,它由active community構建,但不是由單個公司構建。

所以,首先檢查一下,如果你使用的是TYPO3,如果是這樣的話,買一本書或者看看TERAPI的一些擴展。

看一看$GLOBALS['TSFE']->fe_user->getKey,setkey的和$ GLOBALS [ 'TSFE'] - >storeSessionData()

我猜,你是不懂德語(您的按鈕被稱爲 「weiter」)。所以有很多德國的TYPO3書籍。只需購買一些並開始使用API​​。我知道德米特里·杜列波夫在英語「Typo3擴展開發」中寫了一本相當不錯的書,即使是從2008年開始,它仍然適用於初學者。

+0

redFACT實際上是一個基於Typo3的CMS。它是重大修改的bassicaly Typo3。所以適用於Typo3的大部分規則都是不可能的。但是它允許您在預定義的類之外定義某些參數。但我不明白爲什麼它不允許在.php文件中啓動和運行會話。 – raz 2012-03-23 14:41:26

+0

如果可以的話,安裝擴展kickstarter並編寫一個插件。 – maholtz 2012-03-23 15:35:55