2012-03-19 3 views
0

Этот факт вызвал у меня большой стресс в течение последних нескольких дней. Я пытаюсь создать многостраничную форму заказа, работающую с CMS на основе Typo3. Однако я нахожу огромные трудности с переносом переменных сеанса со страницы на другую. Код сеанса верен. Однако я подозреваю, что я не делаю этого в соответствии с правилами 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> 

Теперь почему переменная «РУБРИК» не переходить от одной страницы к другой?

+0

Если вы вызываете свою собственную страницу ('page2.php'), проблема, которую вы описываете, выходит за пределы TYPO3. Также похоже, что вы используете свои собственные переменные для страниц ('puid' и' pageid'). Как включить файлы PHP в TYPO3? – konsolenfreddy

+0

Компания, которая выпустила CMS, называемую redFACT, только что сказала мне, что не может запускать сеансы на странице, потому что она статична. Это возможно? – raz

+0

Зависит от того, что вы делаете. Если вы обойдете API TYPO3, тогда вы столкнетесь с такими проблемами. Обычно содержимое TYPO3 кэшируется, и вы должны сообщить TYPO3 о возможных параметрах, поэтому TYPO3 может позаботиться о сохранении в кеше другой версии для каждой комбинации параметров. Также, как уже упоминалось, вы не используете обычные параметры get (id для сайта и что такое puid?). Если вы не сообщите нам, что вы на самом деле хотите архивировать, и «какого черта» вы сейчас делаете, мы сможем вам помочь. Существует несколько расширений формы, которые позволяют вам создавать формы без PHP. – pgampe

ответ

0

Вы правы. Вы не делаете этого так, вы должны делать с TYPO3.

Но я думаю, вы просто не используете TYPO3 в любом случае. redFact - коммерческая сборка CMS от веб-агентства newsagency. TYPO3 - сама CMS с открытым исходным кодом, она построена на основе active community, но не одной компанией.

Итак, при первой проверке, если вы используете TYPO3, если вы купите книгу или посмотрите на некоторые расширения в TER и API.

Посмотрите $GLOBALS['TSFE']->fe_user->getKey, SetKey и $ GLOBALS [ 'TSFE'] ->storeSessionData()

Я думаю, вы можете прочитать немецкими (ваша кнопка называется "Weiter"). Таким образом, существует много немецких книг TYPO3. Просто купите некоторые из них и начните использовать API. Я знаю одну довольно хорошую книгу на английском языке «Разработка Typo3 Extension» Дмитрия Дулепова, даже с 2008 года, она по-прежнему актуальна для новичков.

+0

redFACT - фактически CMS, основанный на Typo3. Это басикальный Typo3 с тяжелыми модификациями. Поэтому большинство правил, применимых к Typo3, не могут быть и речи. Однако он позволяет определять определенные параметры вне предопределенных классов. Но я не понимаю, почему он не позволяет запускать и запускать сеансы в файлах .php. – raz

+0

Если вы можете, установите удлинитель kickstarter и напишите плагин. – maholtz

Смежные вопросы