[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Исчезновение переменной
DIF
У меня такая проблемка. Пропадает переменная $setting. Ниже код, там написано где она есть, а где уже нет... Помогите разобраться почему она обнуляется?
<form id=pay name=pay method="POST" action="https://www.okpay.com/process.html"> 

<input
type=hidden value="{$user_id}" name="ok_invoice">
<input
type=hidden value="in" name="ok_item_1_article">
{php}
$setting=urlencode("Пополнение баланса");
echo "в PHP:$setting"; // здесь переменная еще есть
{/php}
<p>после:{$setting} // здесь уже пусто
<input type=hidden value="{$setting}" name="ok_item_1_custom_1_value">

<input
type="hidden" name="ok_receiver" value="" />
<input
type="hidden" name="ok_item_1_name" value="Popolnenie balansa" />
<input
type="hidden" name="ok_currency" value="usd" />
<input
type="hidden" name="ok_item_1_type" value="donation" />
<input
type="hidden" name="ok_return_success" value="" />
<input
type="hidden" name="ok_return_fail" value="" />
<input
type="hidden" name="ok_ipn" value="" />

<p><b>
Введите сумму пополнения баланса</b> <input type="text" name="ok_item_1_price" value=""> <b>{$currency}</b> 
<input type="submit" value="Пополнить"> </form>




Спустя 4 минуты, 45 секунд (24.11.2010 - 20:49) sergeiss написал(а):
Это полный ПХП код ты указал или "упростил"?

Спустя 1 минута, 38 секунд (24.11.2010 - 20:50) vital написал(а):
Цитата
{php}
$setting=urlencode("Пополнение баланса");
echo "в PHP:$setting"; // здесь переменная еще есть
{/php}

Цитата
{$setting}

Если я правильно помню смарти - это у вас 2 разные переменные.
{$setting} так вы вставляете то, что передано смарти из пхп скрпита, а не то, чт объявили в блоке {php}(чего кстати тоже использовать нельзя. Это рушит всю концепцию MVC) Делайте свой урленкоде в скрипте, и передавайте его обычным путем. Не понимаю зачем это делать в шаблоне.

Спустя 17 минут, 46 секунд (24.11.2010 - 21:08) DIF написал(а):
РНР код весь... (echo "в PHP:$setting"; // здесь переменная еще есть - это только для проверки)

Вообще мне нужно закодировать фразу Пополнение баланса и передать полученный результат в name="ok_item_1_custom_1_value". Это нужно сделать в этом файле. Я в этом чайник. Расскажите плиз поподробнее как это сделать? Уже всю голову сломал... Ниче не получается...

Спустя 40 минут, 29 секунд (24.11.2010 - 21:49) linker написал(а):
Здесь
{php}
$setting=urlencode("Пополнение баланса");
echo "в PHP:$setting"; // здесь переменная еще есть
{/php}
$setting создается внутри некоей функции smarty, а тут
{$setting}
в smarty уже другая функция выполняется и в ней ессесно $setting создается своя локальная. Вам что-то с говно-глобалсами нужно мутить имхо, либо так
{php}
$setting=urlencode("Пополнение баланса");
echo "в PHP:$setting"; // здесь переменная еще есть
echo "<p>после:$setting";
{/php}
хрень какая-то.

Спустя 7 часов, 24 минуты, 34 секунды (25.11.2010 - 05:13) DIF написал(а):
Цитата
Делайте свой урленкоде в скрипте, и передавайте его обычным путем

это как? подскажите...

Спустя 3 минуты, 34 секунды (25.11.2010 - 05:17) DIF написал(а):
Цитата
echo "в PHP:$setting";                                // здесь переменная еще есть   
echo "<p>после:$setting";

это просто для проверки... это не нужно. мне главное чтоб переменная попала в name="ok_item_1_custom_1_value"

Спустя 3 часа, 58 минут, 24 секунды (25.11.2010 - 09:15) linker написал(а):
:) Ну значит так
{php}
$setting=urlencode("Пополнение баланса");
echo '<input type=hidden value="' . $setting . '" name="ok_item_1_custom_1_value">';
{/php}

Спустя 5 минут, 32 секунды (25.11.2010 - 09:21) Семён написал(а):
Меняй свой говнокод чтобы в нём не было {php}, либо забудь smarty
<input type="hidden" value="{$setting|escape}" name="ok_item_1_custom_1_value" />

Спустя 2 часа, 56 минут, 4 секунды (25.11.2010 - 12:17) DIF написал(а):
Цитата
Ну значит так

мне echo вообще ненадо... они тока для теста. надо типа:
{php}
$setting=urlencode("Пополнение баланса");
{/php}
<input type=hidden value="{$setting}" name="ok_item_1_custom_1_value">

Спустя 6 минут, 18 секунд (25.11.2010 - 12:23) DIF написал(а):
Цитата (Семён @ 25.11.2010 - 06:21)
Меняй свой говнокод чтобы в нём не было {php}, либо забудь smarty
<input type="hidden" value="{$setting|escape}" name="ok_item_1_custom_1_value" />

а как сделать без {php}? я пробовал <? ... ?> вообще неработает...

{$setting|escape} - а это что значит? как туда попадет закодированная фраза "Пополнение баланса"?

Простите меня, за мою тупость...

Спустя 1 день, 29 минут, 5 секунд (26.11.2010 - 12:52) Guest написал(а):
Господа программисты! Ну подскажите что-нибудь! Очень нужно!

Спустя 2 минуты, 57 секунд (26.11.2010 - 12:55) DIF написал(а):
Это я написал выше... залогинится забыл...

Спустя 52 секунды (26.11.2010 - 12:56) kovaldm написал(а):
Цитата
а как сделать без {php}? я пробовал <? ... ?> вообще неработает...

{$setting|escape} - а это что значит? как туда попадет закодированная фраза "Пополнение баланса"?

Простите меня, за мою тупость...

Как это не работает?

Спустя 6 минут, 1 секунда (26.11.2010 - 13:02) DIF написал(а):
Цитата
Как это не работает?

вообще не работает. я проверял с помощью вывода переменной на монитор... а с {php} работает, но оказывается это какаято smarty, и поэтому переменная обнуляется (или вообще не та, я не понял).

Спустя 11 минут, 3 секунды (26.11.2010 - 13:13) kovaldm написал(а):
Так тоже не работает?
value="<?php echo $setting; ?>"


Smarty

Спустя 6 минут, 29 секунд (26.11.2010 - 13:20) DIF написал(а):
тоесть можно сделать так?

value="<?php $setting=urlencode("Пополнение баланса"); ?>"
<input type=hidden value="{$setting}" name="ok_item_1_custom_1_value">

Спустя 2 минуты, 23 секунды (26.11.2010 - 13:22) kovaldm написал(а):
Ниче не понял.

Спустя 2 минуты, 16 секунд (26.11.2010 - 13:24) DIF написал(а):
Цитата
Ниче не понял.

почитайте плиз посты выше... там написано что именно мне нужно

Спустя 5 часов, 39 минут, 28 секунд (26.11.2010 - 19:04) DIF написал(а):
ну помогите же кто-нибудь!

Спустя 1 час, 19 минут, 48 секунд (26.11.2010 - 20:23) kovaldm написал(а):
linker же написал
{php}
$setting=urlencode("Пополнение баланса");
echo '<input type=hidden value="' . $setting . '" name="ok_item_1_custom_1_value">';
{/php}

Так пробовал?

Спустя 4 минуты, 33 секунды (26.11.2010 - 20:28) DIF написал(а):
Цитата
Так пробовал?

я не пойму, а echo зачем? этоже как я понимаю вывод на монитор... а мне вывод не нужен. мне тока в переменную передать нужно.

Спустя 1 минута, 38 секунд (26.11.2010 - 20:30) kovaldm написал(а):
На экране никто ничего и не увидит.

Спустя 8 минут, 6 секунд (26.11.2010 - 20:38) DIF написал(а):
ща попробую...

Спустя 22 минуты, 55 секунд (26.11.2010 - 21:01) DIF написал(а):
Супер! Все заработало! Всем спасибо!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.