2012-03-19 4 views
0

지난 몇 일 동안 많은 스트레스를 받았습니다. Typo3에 기반한 CMS로 작업하는 다중 페이지 주문 양식을 설정하려고합니다. 그러나 나는 페이지에서 다른 세션 변수를 전달하는 데 큰 어려움을 찾고 있습니다. 세션 코드가 맞습니다. 그러나 나는 CMS 룰북에 따라이를 수행하지 않을 것이라고 생각합니다. 따라서 :PHP 다중 페이지 주문 양식

주문 양식에 4 페이지가 있습니다. 4 .tpl 파일에 따라 4 개의 .php 파일.

<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> 

이것은 첫 번째 형식입니다. In 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')를 사용하고있는 것처럼 보입니다. PHP 파일을 TYPO3에 어떻게 포함 시키시겠습니까? – konsolenfreddy

+0

redFACT라고 불리는 CMS를 제작 한 회사는 정적이기 때문에 페이지에서 세션을 실행할 가능성이 없다고 말했습니다. 그게 가능하니? – raz

+0

당신이하는 일에 달려 있습니다. TYPO3 API를 우회하면 이런 종류의 문제가 발생합니다. 일반적으로 TYPO3 콘텐츠는 캐싱되므로 가능한 매개 변수에 대해 TYPO3에 알려야하므로 TYPO3은 각 매개 변수 조합에 대해 캐시에 다른 버전을 저장할 수 있습니다. 또한 이미 언급했듯이, 당신은 정상 get 매개 변수 (사이트 id와 puid는 무엇입니까?)를 사용하지 않습니다. 실제로 아카이브하고 싶은 것을 "현재 도대체"하고 있다고 말하지 않으면, 우리는 당신을 도울 수 있습니다. PHP없이 폼을 설정할 수있는 여러 폼 확장이 있습니다. – pgampe

답변

0

당신 말이 맞습니다. 당신은 그렇게하지 않고 TYPO3와 함께해야합니다.

하지만 당신은 어쨌든 TYPO3를 사용하지 않고있는 것 같습니다. redFact는 웹 대리점 newsagency에 의해 제작 된 상용 CMS입니다. TYPO3은 오픈 소스 CMS 자체이므로 active community으로 빌드되지만 단일 회사가 빌드하지는 않습니다.

따라서 TYPO3을 사용하고 있다면 먼저 책을 구입하거나 TERAPI의 일부 확장 프로그램을 살펴보십시오. >storeSessionData()가

같아요

, 당신이 (당신의 버튼을 눌러 "weiter"라고합니다) 독일어 읽을 수 있습니다 -

$GLOBALS['TSFE']->fe_user->getKey 봐, setkey에와 $ GLOBALS [ 'TSFE를'] 되세요. 그래서 많은 독일 TYPO3 서적이 있습니다. 그냥 그 중 일부를 사서 API 사용을 시작하십시오. 나는 Dmitry Dulepov의 "Typo3 Extension Development"라는 영어로 꽤 좋은 책 하나를 알고 있습니다. 2008 년부터는 초보자들에게도 유효합니다.

+0

redFACT는 실제로 Typo3을 기반으로하는 CMS입니다. 무거운 수정이 필요한 bassicaly Typo3입니다. 따라서 Typo3에 적용되는 대부분의 규칙은 의문의 여지가 없습니다. 그러나 사전 정의 된 클래스 외부의 특정 매개 변수를 정의 할 수 있습니다. 하지만 .php 파일 내에서 세션을 시작하고 실행할 수없는 이유를 이해할 수 없습니다. – raz

+0

가능하다면, 확장 킥 스타터를 설치하고 플러그인을 작성하십시오. – maholtz