форум общения русскоязычных пользователей CMS Текстпаттерн
Вы не зашли.
Здравствуйте! У меня странная проблема.
Имеем нормально работающий файл 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 - эффект тот же )
<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. и посложнее формы прикручивала - работают.
Неактивен
А почему просто не сделать так:
<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> - выдает ошибку "<".
А это, кстати, точно надо заменять.
Неактивен
froZZen написал:
А почему просто не сделать так:
Пробовала заменить на echo "";
(Надо убирать все кавычки в коде, чтобы работало). Даже в этом случае работает в "чистом" РНР файле и не хочет работать в ТХР. Эффект абсолютно такой же.
Проблема не в самом коде, а в ТХР. Не читает сценарий.
Отредактированно mara (07-08-2008 16:45:14)
Неактивен
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> прекрасно работает. Ищите ошибку.
Неактивен
Спасибо большое за помощ! Точного решения Вы мне не дали, но подсказали где копать - в самом коде РНР.
Я поменяла весь код и вставила его с <txp:php></txp: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,
Может поможет.
Неактивен
Если не ошибаюсь, это опция времен царя Гороха уже давно перекочевала в нормальную админку.
Неактивен
А, сорри тада.
Просто решил плотно пройтись по текстпаттерн.орг
На дату внимания не обратил
Неактивен
Столкнулся с проблемой. Установил скрипт голосования на 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)
Неактивен
Gerich написал:
Мне кажется что textpattern не может как-то получить доступ к БД голосвалки, но я установил её в базу textpatterna и логин и пароль указал те же самые..
Ну вообще-то textpattern в данном случае вообще не имеет никакого отношения к работе скрипта, скрипт сам коннектится к указанной ему БД.
А сам по себе этот скрипт со всеми этими настройками (БД, логин/пароль) работал?
Неактивен
попробуйте указать путь к инклуду в скрипте не относительный, а абсолютный.
Неактивен