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

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

Вы не зашли.

#1 14-07-2009 14:57:57

mister $
живёте
Откуда: Владивосток
Зарегистрирован: 25-05-2009
Сообщений: 75
Вебсайт

Textpattern и PHP опять что-то не поделили!

Все таки почитав форум и поэкспериментировав пришел к выводу что php довольно трудновато интегрировать в страницы сайта текстпаттерновского. И сложлось у меня такая проблемка.
Есть стопроцентно рабочий скрипт mail.ru:

Код:

<?php

$adresat = "я@сайт.ru";  //замените на свой e-mail
$status = "Веб-мастер"; // замените на свой статус/должность
$msg = "Спасибо, Ваше сообщение было отправлено и мы обязательно вам ответим!<br><p align=right>$status</p>"; 

$you = "$status. E-mail:&nbsp;$adresat";
if ($submit) {
   if(eregi("^[a-zA-Z0-9\._-]+@[a-z0-9\._-]+\.[a-z]{2,4}\$",$email))
   {
   if(empty($name)) echo "Введите ваше имя";
   else
   {
   mail("$adresat", "Сообщение с сайта", "От: $name\nАдрес: $email\nСообщение:\n\n$message");
   echo "<b>$msg<b>\n";
   }
   } else {
   echo "E-mail неправильно введен или содержит недопустимые символы. Пожалуйста вернитесь и заполните все поля правильно";
   }
}
else {
?>
<form action="<? echo $PHP_SELF?>" method=POST>
<table width=100%>
<tr>
<td align="left">Получатель:
<td align="left"><b><? echo "$you";?></b></td>
</tr>
<tr>
  <td align="left">Ваше имя :</td>
  <td align="left"><input type=text name=name size=25></td></tr>

<tr>
  <td align="left">Ваш e-mail: </td>
  <td align="left"><input type=text name=email size=25></td></tr>
<tr>
  <td align="left">Ваше сообщение:</td>
  <td align="left"><textarea cols=40 rows=3 name=message></textarea></td>
  </tr>
</table>
<input name="submit" type=submit value="Отправить">
</form>
<?php
} // end "else" and end of this script)
?>

Интегрирую в страницу я его посредством:

Код:

<txp:php>
global $prefs; include($prefs['path_to_site'].'/mail.php');
</txp:php>

И на странице появляется форма но вместе с ошибками:

Код:

Ошибка тега: <txp:php> ->  Notice: Undefined variable: submit  on line 16

textpattern/publish/taghandlers.php(3082) : eval()'d code:2 include()
textpattern/publish/taghandlers.php:3082 eval()
textpattern/publish.php:1090 php()
textpattern/publish.php:1025 processTags()
textpattern/publish.php:496 parse()
index.php:33 textpattern()

textpattern/publish/taghandlers.php(3082) : eval()'d code:2 include() textpattern/publish/taghandlers.php:3082 eval() textpattern/publish.php:1090 php() textpattern/publish.php:1025 processTags() textpattern/publish.php:496 parse() index.php:33 textpattern()" method=POST>

и если нажать отправить, то в url страницы появляется такая штука (примерно):

Код:

Ошибка тега <txp:php> notice:undefined variable: php_SELF on line 31

Очень прошу помоч разобраться в проблеме и в несовместимости


Только русские могут ухахатываться со своих бед и проблем =)))

Неактивен

 

#2 15-07-2009 01:06:01

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

Re: Textpattern и PHP опять что-то не поделили!

Попробуйте к php_self через $GLOBALS достучаться. Или используйте другой вариант вывода текущего урла.

Кстати, что значит 100% работающий? На этом же хостинге запускался? Как?


.      Создание шаблонов для 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

Неактивен

 

#3 16-07-2009 03:52:15

mister $
живёте
Откуда: Владивосток
Зарегистрирован: 25-05-2009
Сообщений: 75
Вебсайт

Re: Textpattern и PHP опять что-то не поделили!

Да, он запускался именно на этом хостинге. С html-php странички все прекрасно работало. Через глобалс вроде достучался, но ошибка осталась вот эта:

Код:

Ошибка тега: <txp:php> ->  Notice: Undefined variable: submit  on line 16

textpattern/publish/taghandlers.php(3082) : eval()'d code:2 include()
textpattern/publish/taghandlers.php:3082 eval()
textpattern/publish.php:1090 php()
textpattern/publish.php:1025 processTags()
textpattern/publish.php:496 parse()
index.php:33 textpattern()

Как ее можно исправить?


Только русские могут ухахатываться со своих бед и проблем =)))

Неактивен

 

#4 16-07-2009 11:32:34

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

Re: Textpattern и PHP опять что-то не поделили!

Попробуйте избавить от штсдгву и вставить скрипт напрямую в <txp:php>. Что-то странное, т.к. не вижу переменной submit.


.      Создание шаблонов для 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

Неактивен

 

#5 16-07-2009 17:19:00

mister $
живёте
Откуда: Владивосток
Зарегистрирован: 25-05-2009
Сообщений: 75
Вебсайт

Re: Textpattern и PHP опять что-то не поделили!

если вставлять напрямую проблема опять же в строчке:

Код:

<form action="<? global $PHP_SELF; ?>" method=POST>

Я ума не приложу как  этим текущим урлом разобраться

Отредактированно mister $ (16-07-2009 17:20:58)


Только русские могут ухахатываться со своих бед и проблем =)))

Неактивен

 

#6 16-07-2009 17:35:38

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

Re: Textpattern и PHP опять что-то не поделили!

mister $ написал:

если вставлять напрямую проблема опять же в строчке:

Код:

<form action="<? global $PHP_SELF; ?>" method=POST>

Я ума не приложу как  этим текущим урлом разобраться

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

Код:

print ' .... ';

Отредактированно froZZen (16-07-2009 17:40:47)

Неактивен

 

#7 17-07-2009 09:05:48

mister $
живёте
Откуда: Владивосток
Зарегистрирован: 25-05-2009
Сообщений: 75
Вебсайт

Re: Textpattern и PHP опять что-то не поделили!

и так попробовал. Остается все та же ошибка "Ошибка тега: <txp:php> ->  Notice: Undefined variable: submit  on line 16"...txp не хочет нормально этот скрипт принимать...


Только русские могут ухахатываться со своих бед и проблем =)))

Неактивен

 

#8 17-07-2009 09:12:58

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

Re: Textpattern и PHP опять что-то не поделили!

Ну, наверное, возможности удаленной настройки исчерпались... :-)
Давайте подробно код в студию: и исходный, и то, что получается.

Неактивен

 

#9 17-07-2009 09:42:40

mister $
живёте
Откуда: Владивосток
Зарегистрирован: 25-05-2009
Сообщений: 75
Вебсайт

Re: Textpattern и PHP опять что-то не поделили!

Вот то, что я вставил в страницу:

Код:

<txp:php>
$adresat = "webmaster@moilekcii.ru";
$status = "Веб-мастер";
$msg = "Спасибо, Ваше сообщение было отправлено и мы обязательно вам ответим!<br><p align=right>$status</p>";

$you = "$status. E-mail:&nbsp;$adresat";
if ($submit) {
   if(eregi("^[a-zA-Z0-9\._-]+@[a-z0-9\._-]+\.[a-z]{2,4}\$",$email))
   {
   if(empty($name)) echo "Введите ваше имя";
   else
   {
   mail("$adresat", "Сообщение с сайта", "От: $name\nАдрес: $email\nСообщение:\n\n$message");
   echo "<b>$msg<b>\n";
   }
   } else {
   echo "E-mail неправильно введен или содержит недопустимые символы. Пожалуйста вернитесь и заполните все поля правильно";
   }
}
else { echo '<form action="<txp:php> $PHP_SELF; </txp:php>" method=POST>
<table width=100%>
<tr>
  <td align="left">Ваше имя :</td>
  <td align="left"><input type=text name=name size=25></td></tr>

<tr>
  <td align="left">Ваш e-mail: </td>
  <td align="left"><input type=text name=email size=25></td></tr>
<tr>
  <td align="left">Ваше сообщение:</td>
  <td align="left"><textarea cols=40 rows=3 name=message></textarea></td>
  </tr>
</table>
<input name="submit" type=submit value="Отправить">
</form>';
}
</txp:php>

заходя на страницу выходит сообщние:

Код:

Ошибка тега: <txp:php> ->  Notice: Undefined variable: submit  on line 7

textpattern/publish/taghandlers.php:3082 eval()
textpattern/publish.php:1090 php()
textpattern/publish.php:1025 processTags()
textpattern/publish.php:496 parse()
index.php:33 textpattern()

если нажать отправить, то ничего не получается, страница просто обновляется

Отредактированно mister $ (17-07-2009 09:43:54)


Только русские могут ухахатываться со своих бед и проблем =)))

Неактивен

 

#10 17-07-2009 10:25:01

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

Re: Textpattern и PHP опять что-то не поделили!

Первое что бросилось в глаза:
строку

Код:

else { echo '<form action="<txp:php> $PHP_SELF; </txp:php>" method=POST>

замените на строку

Код:

else { print '<form action="'.$PHP_SELF.'" method=POST>

Когда появится возможность протестировать Ваш код, я его обязательно попробую. Но насколько я понимаю, это не весь код страницы, а только его часть. И нужна URL-строка, которая используется для вызова этой страницы. Иначе не видно, что за переменные ей передаются. Потому что, если ничего не передается, то слова Undefined variable: submit абсолютно справедливы.

Неактивен

 

#11 17-07-2009 13:06:31

mister $
живёте
Откуда: Владивосток
Зарегистрирован: 25-05-2009
Сообщений: 75
Вебсайт

Re: Textpattern и PHP опять что-то не поделили!

Это часть страницы, которую я вставляю с помощью <txp:php> в страницу. Попробовал сделать по Вашему. Старая ошибка не пропала, добавилась новая -

Код:

Ошибка тега: <txp:php> ->  Notice: Undefined variable: submit  on line 7

textpattern/publish/taghandlers.php:3082 eval()
textpattern/publish.php:1090 php()
textpattern/publish.php:1025 processTags()
textpattern/publish.php:496 parse()
index.php:33 textpattern()

Ошибка тега: <txp:php> ->  Notice: Undefined variable: PHP_SELF  on line 20

textpattern/publish/taghandlers.php:3082 eval()
textpattern/publish.php:1090 php()
textpattern/publish.php:1025 processTags()
textpattern/publish.php:496 parse()
index.php:33 textpattern()

И будьте так добры расскажите что за url строка. Вообще сама эта форма расположена по адресу http://moilekcii.ru/contact/


Только русские могут ухахатываться со своих бед и проблем =)))

Неактивен

 

#12 17-07-2009 15:21:41

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

Re: Textpattern и PHP опять что-то не поделили!

Вторая ошибка у Вас появилась в результате того, что скрипт начал видеть переменную, а не строку, как до исправления.
Сами ошибки Undefined variable связаны с тем, что эти самые переменные нигде не определены до обращения к ним.

Код:

'PHP_SELF'
The filename of the currently executing script, relative to the document root. For instance, $_SERVER['PHP_SELF'] in a script at the address http://example.com/test.php/foo.bar would be /test.php/foo.bar.

В контексте Вашего скрипта назначение этой глобальной переменной мне не известно.

Если у Вас так туго с программированием, то может быть не стоило брать скрипт чужой (возможно и абсолютно рабочий, но вырванный "с мясом" из чужого кода без определения всех необходимых переменных).
Насколько я понимаю, по ссылке которую Вы дали, Вам будет необходим и достаточен zem_contact... (не помню, как точно пишется).

Да и еще. Textpattern и PHP замечательно все делят! :-)

Отредактированно froZZen (17-07-2009 15:23:20)

Неактивен

 

#13 17-07-2009 17:07:21

mister $
живёте
Откуда: Владивосток
Зарегистрирован: 25-05-2009
Сообщений: 75
Вебсайт

Re: Textpattern и PHP опять что-то не поделили!

Итак, по порядку значит сейчас все расскажу. Этот скрипт я не откуда не выдирал. Взял я его из отдельного PHP-файла, который сам по себе прекрасно отправляет почту. Не спорю, я действительно с php знаком плохо и у меня с ним туго sad Но увы у меня нет другого выбора. Мне нужна обратная связь! А дело все началось еще недели две назад (вместе с этим постом - http://textpattern.ru/forum/viewtopic.p … 40&p=1). Я приобрел хороший хостинг. И он для меня как камень преткновения. С него стандартный txp почту не отправляет sad((( С этого же домена отправляется почта посредством html-php странички и с форума моего (pubBB) тоже отпраляется, т.е. функция майл работает. А вот с самого txp никак: ни через админку, ни с помощью предложеного вами плагина, я и его уже пробовал и iqn_password...мне уважаемый знаток the_ghost пытается помоч, но пока безуспешно. На хостинге мне отвечают что проблема в скрипте txp. А здесь мне говорят, что стандартны txp при работающей функции мейл должен все отправлять.... Так что уже не знаю к кому обратиться sad


Только русские могут ухахатываться со своих бед и проблем =)))

Неактивен

 

#14 17-07-2009 17:29:22

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

Re: Textpattern и PHP опять что-то не поделили!

mister $ написал:

Этот скрипт я не откуда не выдирал. Взял я его из отдельного PHP-файла, который сам по себе прекрасно отправляет почту.

Извините за "выдрал" (не имел никакого желания Вас оскорбить).
Дело в том, что любой скрипт (как правило) представляет собой отдельный файл. Весь вопрос в том, КАК ЕГО НАДО ВЫЗВАТЬ. Если хотите разобраться с тем, как пристроить именно этот скрипт, то необходимо проследить всю цепочку: как вызывается, что ему передается, что в итоге он должен выдавать и т.д. На сегодняшний момент Вы фактически имеете только среднюю часть от созданной кем-то программы.

mister $ написал:

А дело все началось еще недели две назад (вместе с этим постом - http://textpattern.ru/forum/viewtopic.p … 40&p=1). С него стандартный txp почту не отправляет sad((( С этого же домена отправляется почта посредством html-php странички и с форума моего (pubBB) тоже отпраляется, т.е. функция майл работает. А вот с самого txp никак: ни через админку, ни с помощью предложеного вами плагина, я и его уже пробовал и iqn_password...мне уважаемый знаток the_ghost пытается помоч, но пока безуспешно. На хостинге мне отвечают что проблема в скрипте txp. А здесь мне говорят, что стандартны txp при работающей функции мейл должен все отправлять.... Так что уже не знаю к кому обратиться sad

Я все же думаю, что решить надо попробовать именно эту проблему. Плюсов у этого плагина поверьте окажется гораздо больше, чем у предложенного Вами скрипта.

Но это Ваше право - выбирать, что нравится.
Могу только сказать, что при наличии свободного времени и ВСЕЙ информации о том, КАК и ГДЕ используется Ваш скрипт, я мог бы попробовать Вам помочь. Да и не я один на этом форуме.

Неактивен

 

#15 17-07-2009 17:43:23

mister $
живёте
Откуда: Владивосток
Зарегистрирован: 25-05-2009
Сообщений: 75
Вебсайт

Re: Textpattern и PHP опять что-то не поделили!

Я тоже очень хочу решить проблему скрипта текстпаттерновского (не могу сказать своего, потому что не отправляет почту именно стандартная сборка текстпаттерна). И мне тоже совсем не нравится этот php встраивать... Но ведь я все что можно уже выложил о скрипте здесь: http://textpattern.ru/forum/viewtopic.p … 245#p17245 . Если что-то еще надо, я сразу выложу, только что именно. Честно, уже настолько устал две недели с этим бороться, что готов заплатить....

Отредактированно mister $ (17-07-2009 17:49:21)


Только русские могут ухахатываться со своих бед и проблем =)))

Неактивен

 

Board footer

RSS   Rambler's Top100
Powered by PunBB
Textpattern.ru