Textpattern - на русском языке

форум общения русскоязычных пользователей CMS Текстпаттерн

Вы не зашли.

#1 07-08-2008 05:39:27

mara
земля
Зарегистрирован: 05-02-2007
Сообщений: 119

Почему не работает PHP?

Здравствуйте! У меня странная проблема.

Имеем нормально работающий файл abv.php со следующим содержанием:

Код:

<html>
<head>
</head>
<body>

<? if($rezultat) { $rezult = ($a); echo "$rezult";
}
else 
{ ?>

<form method=POST> 
  <iput name="a" value="da" type="radio">да
  <input name="a" value="net" type="radio">нет

    <form method=POST>
    <input name="rezultat" type="submit" value=" Жми "></form> 
</form>

<? } ?>

</body>
</html>

Теперь этот файл переносим в ТХР, делая для него отдельную страницу:
(можно не выписывать весь код, а действовать с include - эффект тот же smile )

Код:

<html>
<head>
</head>
<body>

<txp:php>
 if($rezultat) { $rezult = ($a); echo "$rezult";
}
else 
{ ?>

<form method=POST> 
  <iput name="a" value="da" type="radio">да
  <input name="a" value="net" type="radio">нет

    <form method=POST>
    <input name="rezultat" type="submit" value=" Жми "></form> 
</form>

<? } 
</txp:php>

</body>
</html>

И ... ничего не работает. Показывается часть после else - сама форма, но скрипт не выполняется. Жмеш, жмеш - ничего не показывается. В чем проблема?

Говорю сразу: РНР разрешено и в страницах и в статиях, пробовала везьде менять <? ?> на <txp:php></txp:php> - выдает ошибку "<".

Работаю с 4.0.6. Может быть в этом проблема? К 4.0.4. и посложнее формы прикручивала - работают.

Неактивен

 

#2 07-08-2008 12:08:53

froZZen
он
Откуда: vrn - spb
Зарегистрирован: 05-10-2005
Сообщений: 273
Вебсайт

Re: Почему не работает PHP?

А почему просто не сделать так:

Код:

<html>
<head>
</head>
<body>

<txp:php>
 if($rezultat) { $rezult = ($a); echo "$rezult";
}
else 
{ echo '<form method=POST> 
             <iput name="a" value="da" type="radio">да
             <input name="a" value="net" type="radio">нет
        
             <form method=POST>
               <input name="rezultat" type="submit" value=" Жми ">
            </form> 
          </form>';

 } 
</txp:php>

</body>
</html>

Ведь должно ж работать.

mara написал:

Говорю сразу: РНР разрешено и в страницах и в статиях, пробовала везьде менять <? ?> на <txp:php></txp:php> - выдает ошибку "<".

А это, кстати, точно надо заменять.

Неактивен

 

#3 07-08-2008 16:43:57

mara
земля
Зарегистрирован: 05-02-2007
Сообщений: 119

Re: Почему не работает PHP?

froZZen написал:

А почему просто не сделать так:

Пробовала заменить на echo "";
(Надо убирать все кавычки в коде, чтобы работало). Даже в этом случае работает в "чистом" РНР файле и не хочет работать в ТХР. Эффект абсолютно такой же.

Проблема не в самом коде, а в ТХР. Не читает сценарий.

Отредактированно mara (07-08-2008 16:45:14)

Неактивен

 

#4 07-08-2008 17:02:00

froZZen
он
Откуда: vrn - spb
Зарегистрирован: 05-10-2005
Сообщений: 273
Вебсайт

Re: Почему не работает PHP?

mara написал:

froZZen написал:

А почему просто не сделать так:

Пробовала заменить на echo "";
(Надо убирать все кавычки в коде, чтобы работало). Даже в этом случае работает в "чистом" РНР файле и не хочет работать в ТХР. Эффект абсолютно такой же.

Проблема не в самом коде, а в ТХР. Не читает сценарий.

Вот, например, кусок кода с рабочего сайта:

Код:

 
     <txp:php>
        global $pretext;

        print '<li><a href="<txp:site_url />" ';
        if ($pretext['s'] == 'default'){
          print ' class="active"';};
        print '>начало</a></li>';

        print '<li><a href="<txp:site_url />?s=blog" ';
        if ($pretext['s'] == 'blog'){
          print ' class="active"';};
        print '><b>лог</a></li>';

        print '<li><a href="<txp:site_url />?s=about" ';
        if ($pretext['s'] == 'about'){
          print ' class="active"';};
        print '>о ресурсе</a></li>';

      </txp:php>

Могу Вас уверить, что <txp:php>...</txp:php> прекрасно работает. Ищите ошибку.

Неактивен

 

#5 07-08-2008 19:19:16

mara
земля
Зарегистрирован: 05-02-2007
Сообщений: 119

Re: Почему не работает PHP?

Спасибо большое за помощ! Точного решения Вы мне не дали, но подсказали где копать - в самом коде РНР.

Я поменяла весь код и вставила его с <txp:php></txp:php> без <? ?>. Похоже, что код у меня был примитивный, собранный работать сам по себе. Поменяла его полностью. Писать не буду - это технический частный вопрос.

РНР работает без проблем, если правильно написан. smile

Неактивен

 

#6 13-08-2008 19:09:51

advan
ю
Откуда: Mk
Зарегистрирован: 05-11-2006
Сообщений: 835
Вебсайт

Re: Почему не работает PHP?

Вот что на textpattern.org советуют:

Are you trying to embed PHP scripts or run php includes in your Textpattern site? not working?
make sure you’ve set the following value in /textpattern/lib/admin_config.php:

'allow_page_php_scripting' => 1,

Может поможет.


Знакомьтесь на здоровье - http://love.kachok.ru  /  Я в PHP ниПХПуя незнаю! :)

Неактивен

 

#7 14-08-2008 00:43:43

the_ghost
ять
Откуда: Минск
Зарегистрирован: 01-05-2007
Сообщений: 1957
Вебсайт

Re: Почему не работает PHP?

Если не ошибаюсь, это опция времен царя Гороха уже давно перекочевала в нормальную админку.


.      Создание шаблонов для Textpatern http://textpattern.ru/forum/viewtopic.php?id=1665 (<txp:make_template quality="best" />)
КОНСУЛЬТАЦИИ по Textpattern - ICQ#8458496, nemiga@gmail.com <txp:if_question><txp:pay /></txp:if_question>
       Список всех тегов - http://textbook.textpattern.net/wiki/in … _Reference

Неактивен

 

#8 14-08-2008 16:33:23

advan
ю
Откуда: Mk
Зарегистрирован: 05-11-2006
Сообщений: 835
Вебсайт

Re: Почему не работает PHP?

А, сорри тада.
Просто решил плотно пройтись по текстпаттерн.орг smile
На дату внимания не обратил


Знакомьтесь на здоровье - http://love.kachok.ru  /  Я в PHP ниПХПуя незнаю! :)

Неактивен

 

#9 21-09-2008 20:19:04

Gerich
земля
Зарегистрирован: 07-09-2008
Сообщений: 100

Re: Почему не работает PHP?

Столкнулся с проблемой. Установил скрипт голосования на php Advanced Poll v2.0.2 использующий БД. Для начала просто в корневой директории создал файл poll.php.Его содержимое:
<?php
include_once "poll/booth.php";
echo $php_poll->poll_process(3);        // x = Poll ID
?>
Путь работает, голосовалка тоже отлично.
Теперь пытаюсь вставить сей код в textpattern.
Делаю форму, которую вызываю в шаблоне главной страницы в нужном месте.Вот содержимое формы:
<txp:php>
include_once "poll/booth.php";
echo $php_poll->poll_process(3);        // x = Poll ID
</txp:php>
При заходе на сайт выскакивает ошибка:
tag_error <txp:php> ->  Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'ODBC'@'localhost' (using password: NO)  on line 31
Connection Error
В чём может быть ошибка?

Мне кажется что textpattern не может как-то получить доступ к БД голосвалки, но я установил её в базу textpatterna и логин и пароль указал те же самые..

Отредактированно Gerich (21-09-2008 20:46:09)

Неактивен

 

#10 22-09-2008 11:44:37

froZZen
он
Откуда: vrn - spb
Зарегистрирован: 05-10-2005
Сообщений: 273
Вебсайт

Re: Почему не работает PHP?

Gerich написал:

Мне кажется что textpattern не может как-то получить доступ к БД голосвалки, но я установил её в базу textpatterna и логин и пароль указал те же самые..

Ну вообще-то textpattern в данном случае вообще не имеет никакого отношения к работе скрипта, скрипт сам коннектится к указанной ему БД.
А сам по себе этот скрипт со всеми этими настройками (БД, логин/пароль) работал?

Неактивен

 

#11 22-09-2008 20:05:01

the_ghost
ять
Откуда: Минск
Зарегистрирован: 01-05-2007
Сообщений: 1957
Вебсайт

Re: Почему не работает PHP?

попробуйте указать путь к инклуду в скрипте не относительный, а абсолютный.


.      Создание шаблонов для Textpatern http://textpattern.ru/forum/viewtopic.php?id=1665 (<txp:make_template quality="best" />)
КОНСУЛЬТАЦИИ по Textpattern - ICQ#8458496, nemiga@gmail.com <txp:if_question><txp:pay /></txp:if_question>
       Список всех тегов - http://textbook.textpattern.net/wiki/in … _Reference

Неактивен

 

Board footer

RSS   Rambler's Top100
Powered by PunBB
Textpattern.ru