[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Переменная задается из select - Как?
andrew123
Суть вопроса:
Пользователь выбирает суму которую хочет заплатить, после этого значение выбраное пользователем присваеваеться к переменной и отправляется в запросе на платежную систему. Как это реализовать?

Мой код:
<select name="amount1" id="amount">
<
option value="50.00">50 <?php echo $this->currency_symbol; ?> (<?php echo 50*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<
option value="40.00">40 <?php echo $this->currency_symbol; ?> (<?php echo 40*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<
option value="30.00">30 <?php echo $this->currency_symbol; ?> (<?php echo 30*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<
option value="20.00">20 <?php echo $this->currency_symbol; ?> (<?php echo 20*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<
option value="10.00" selected="selected">10 <?php echo $this->currency_symbol; ?> (<?php echo 10*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<
option value="5.00">5 <?php echo $this->currency_symbol; ?> (<?php echo 5*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<
option value="3.00">3 <?php echo $this->currency_symbol; ?> (<?php echo 3*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<
option value="1.00">1 <?php echo $this->currency_symbol; ?> (<?php echo 1*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
</
select>'
<input type="hidden" name="item_number" value="1" />
<input type="hidden" name="item_name" value="<?php echo JText::_( '
VODES_VODES' ); ?>" />
<br />
<br />
<input type="hidden" name="cmd" value="_xclick" />
<input type="hidden" name="on0" value="username" />
<strong><label for="os0"><?php echo JText::_( '
VODES_USERNAME_LABEL' ); ?>:</label></strong><br />
<input type="text" class="inputbox" size="20" name="os0" id="os0" value="<?php echo $this->user->get( '
username' );?>" /><br />
<small><?php echo JText::_( '
VODES_USERNAME_CHECK' ); ?></small>
<br />
<input type="hidden" name="notify_url" value="<?php echo $this->base . JRoute::_($this->base_url . '
&task=paypal'); ?>" />
<input type="hidden" name="return" value="<?php echo $this->base . JRoute::_($this->base_url . '
&task=complete'); ?>" />
<input type="hidden" name="cancel_return" value="<?php echo $this->base . JRoute::_($this->base_url . '
&task=cancel'); ?>" />
<input type="hidden" name="tax" value="0" />
<input type="hidden" name="no_note" value="1" />
<input type="hidden" name="no_shipping" value="1" />
<br />


<?
$merchant_id='
i4444444678';
$signature="fghjkukkm7890";
$url="https://www.liqpay.com/?do=clickNbuy";
$method='
card';
$phone='';
srand((double) microtime()*1000000);
$order_id1 = rand();


$xml="<request>
<version>1.2</version>
<action>send_money</action>
<result_url>http://www.debtloans4u.com/index.php?option=com_vodes&task=complete</result_url>
<server_url>http://www.debtloans4u.com/index.php?option=com_vodes&task=paypal</server_url>
<merchant_id>$merchant_id</merchant_id>
<order_id>$order_id1</order_id>
<amount>$amount1</amount>
<currency>USD</currency>
<description>Buy 150 credites</description>
<default_phone>$phone</default_phone>
<pay_way>$method</pay_way>
</request>
";


$xml_encoded = base64_encode($xml);
$lqsignature = base64_encode(sha1($signature.$xml.$signature,1));



echo("<form action='
$url' method='POST'>
<input type='
hidden' name='operation_xml' value='$xml_encoded' />
<input type='
hidden' name='signature' value='$lqsignature' />
<input type='
submit' value='Pay'/>
</form>");
?>
<br />


Я пробовал добавить, но к сожалению выдает ошибку:
$amount1 = '<SELECT NAME="$amount1">
<option value="50.00">50 <?php echo $this->currency_symbol; ?> (<?php echo 50*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<option value="40.00">40 <?php echo $this->currency_symbol; ?> (<?php echo 40*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<option value="30.00">30 <?php echo $this->currency_symbol; ?> (<?php echo 30*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
</SELECT>' ;

Кто знает, ребята, подскажите!



Спустя 6 минут, 25 секунд (4.11.2010 - 21:21) Игорь_Vasinsky написал(а):
без обид....

т не можешь организовать select, но готов работать с платёжными системами... нонсонс...


Спустя 16 минут, 41 секунда (4.11.2010 - 21:38) Invis1ble написал(а):
andrew123
Во-первых, у тебя синтаксическая ошибка (как минимум одна) в коде в виде апострофа - этоо видно сразу по раскраске кода ))
во-вторых
Цитата
Я пробовал добавить, но к сожалению выдает ошибку:
$amount1 = '<SELECT NAME="$amount1">
<option value="50.00">50 <?php echo $this->currency_symbol; ?> (<?php echo 50*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<option value="40.00">40 <?php echo $this->currency_symbol; ?> (<?php echo 40*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<option value="30.00">30 <?php echo $this->currency_symbol; ?> (<?php echo 30*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
</SELECT>' ;
таких ошибок не бывает

Спустя 1 час, 58 минут, 22 секунды (4.11.2010 - 23:36) andrew123 написал(а):
Понял, не много не правильно выразился. huh.gif При запуске скрипта выдает сообщение:


Parse error: syntax error, unexpected '<' in /home/andrw/public_html/debtloans4u.com/components/com_vodes/views/vodes/tmpl/default.php on line 72

Во-вторых, спасибо , что так быстро откликнулись. Подскажите , что убрать из кода? И подходит ли такая конструкция вообще?

Спустя 3 минуты, 57 секунд (4.11.2010 - 23:40) Игорь_Vasinsky написал(а):
а что утебя написано в 72 строчке, напиши

Спустя 8 минут, 40 секунд (4.11.2010 - 23:49) Invis1ble написал(а):
andrew123 я ж говорю - апостроф лишний, по всей видимости...
так попробуй
<select name="amount1" id="amount">
<option
value="50.00">50 <?php echo $this->currency_symbol; ?> (<?php echo 50*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<option
value="40.00">40 <?php echo $this->currency_symbol; ?> (<?php echo 40*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<option
value="30.00">30 <?php echo $this->currency_symbol; ?> (<?php echo 30*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<option
value="20.00">20 <?php echo $this->currency_symbol; ?> (<?php echo 20*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<option
value="10.00" selected="selected">10 <?php echo $this->currency_symbol; ?> (<?php echo 10*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<option
value="5.00">5 <?php echo $this->currency_symbol; ?> (<?php echo 5*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<option
value="3.00">3 <?php echo $this->currency_symbol; ?> (<?php echo 3*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<option
value="1.00">1 <?php echo $this->currency_symbol; ?> (<?php echo 1*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
</select>
<input
type="hidden" name="item_number" value="1" />
<input
type="hidden" name="item_name" value="<?php echo JText::_( 'VODES_VODES' ); ?>" />
<br />
<br />
<input
type="hidden" name="cmd" value="_xclick" />
<input
type="hidden" name="on0" value="username" />
<strong><label
for="os0"><?php echo JText::_( 'VODES_USERNAME_LABEL' ); ?>:</label></strong><br />
<input
type="text" class="inputbox" size="20" name="os0" id="os0" value="<?php echo $this->user->get( 'username' );?>" /><br />
<small><?php
echo JText::_( 'VODES_USERNAME_CHECK' ); ?></small>
<br />
<input
type="hidden" name="notify_url" value="<?php echo $this->base . JRoute::_($this->base_url . '&task=paypal'); ?>" />
<input
type="hidden" name="return" value="<?php echo $this->base . JRoute::_($this->base_url . '&task=complete'); ?>" />
<input
type="hidden" name="cancel_return" value="<?php echo $this->base . JRoute::_($this->base_url . '&task=cancel'); ?>" />
<input
type="hidden" name="tax" value="0" />
<input
type="hidden" name="no_note" value="1" />
<input
type="hidden" name="no_shipping" value="1" />
<br />


<?

$merchant_id='i4444444678';
$signature="fghjkukkm7890";
$url="https://www.liqpay.com/?do=clickNbuy";
$method='card';
$phone='';
srand((double) microtime()*1000000);
$order_id1 = rand();


$xml="<request>
<version>1.2</version>
<action>send_money</action>
<result_url>http://www.debtloans4u.com/index.php?option=com_vodes&task=complete</result_url>
<server_url>http://www.debtloans4u.com/index.php?option=com_vodes&task=paypal</server_url>
<merchant_id>
$merchant_id</merchant_id>
<order_id>
$order_id1</order_id>
<amount>
$amount1</amount>
<currency>USD</currency>
<description>Buy 150 credites</description>
<default_phone>
$phone</default_phone>
<pay_way>
$method</pay_way>
</request>
"
;


$xml_encoded = base64_encode($xml);
$lqsignature = base64_encode(sha1($signature.$xml.$signature,1));



echo("<form action='$url' method='POST'>
<input type='hidden' name='operation_xml' value='
$xml_encoded' />
<input type='hidden' name='signature' value='
$lqsignature' />
<input type='submit' value='Pay'/>
</form>"
);
?>
<br />

Спустя 1 час, 28 минут, 4 секунды (5.11.2010 - 01:17) andrew123 написал(а):
Цитата (Invis1ble @ 4.11.2010 - 20:49)
andrew123 я ж говорю - апостроф лишний, по всей видимости...
так попробуй
<select name="amount1" id="amount">
<option
value="50.00">50 <?php echo $this->currency_symbol; ?> (<?php echo 50*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<option
value="40.00">40 <?php echo $this->currency_symbol; ?> (<?php echo 40*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<option
value="30.00">30 <?php echo $this->currency_symbol; ?> (<?php echo 30*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<option
value="20.00">20 <?php echo $this->currency_symbol; ?> (<?php echo 20*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<option
value="10.00" selected="selected">10 <?php echo $this->currency_symbol; ?> (<?php echo 10*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<option
value="5.00">5 <?php echo $this->currency_symbol; ?> (<?php echo 5*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<option
value="3.00">3 <?php echo $this->currency_symbol; ?> (<?php echo 3*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<option
value="1.00">1 <?php echo $this->currency_symbol; ?> (<?php echo 1*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
</select>
<input
type="hidden" name="item_number" value="1" />
<input
type="hidden" name="item_name" value="<?php echo JText::_( 'VODES_VODES' ); ?>" />
<br />
<br />
<input
type="hidden" name="cmd" value="_xclick" />
<input
type="hidden" name="on0" value="username" />
<strong><label
for="os0"><?php echo JText::_( 'VODES_USERNAME_LABEL' ); ?>:</label></strong><br />
<input
type="text" class="inputbox" size="20" name="os0" id="os0" value="<?php echo $this->user->get( 'username' );?>" /><br />
<small><?php
echo JText::_( 'VODES_USERNAME_CHECK' ); ?></small>
<br />
<input
type="hidden" name="notify_url" value="<?php echo $this->base . JRoute::_($this->base_url . '&task=paypal'); ?>" />
<input
type="hidden" name="return" value="<?php echo $this->base . JRoute::_($this->base_url . '&task=complete'); ?>" />
<input
type="hidden" name="cancel_return" value="<?php echo $this->base . JRoute::_($this->base_url . '&task=cancel'); ?>" />
<input
type="hidden" name="tax" value="0" />
<input
type="hidden" name="no_note" value="1" />
<input
type="hidden" name="no_shipping" value="1" />
<br />


<?

$merchant_id='i4444444678';
$signature="fghjkukkm7890";
$url="https://www.liqpay.com/?do=clickNbuy";
$method='card';
$phone='';
srand((double) microtime()*1000000);
$order_id1 = rand();


$xml="<request>
<version>1.2</version>
<action>send_money</action>
<result_url>http://www.debtloans4u.com/index.php?option=com_vodes&task=complete</result_url>
<server_url>http://www.debtloans4u.com/index.php?option=com_vodes&task=paypal</server_url>
<merchant_id>
$merchant_id</merchant_id>
<order_id>
$order_id1</order_id>
<amount>
$amount1</amount>
<currency>USD</currency>
<description>Buy 150 credites</description>
<default_phone>
$phone</default_phone>
<pay_way>
$method</pay_way>
</request>
"
;


$xml_encoded = base64_encode($xml);
$lqsignature = base64_encode(sha1($signature.$xml.$signature,1));



echo("<form action='$url' method='POST'>
<input type='hidden' name='operation_xml' value='
$xml_encoded' />
<input type='hidden' name='signature' value='
$lqsignature' />
<input type='submit' value='Pay'/>
</form>"
);
?>
<br />

Invis1ble спасибо! Тот отрезок кода который я давал изначально работает без проблем. Но это часть скрипта заточеного на прием платижей на ПейПале. я его переделываю под LiqPay (Приватбанк). Теперь в чем проблема: пользователь может выбрать суму которую хочет оплатить (с помошью <select>) но при нажатии кнопки оплатить , выдает ошибку, что сума введена не введена. Тоесть данные с <select> не передаються в запрос.
я попробовал решить это, введя переменную $amount1 и задав переменой amount1 значение. Вот кусок кода:

<?
$merchant_id='i4444444678';
$signature="fghjkukkm7890";
$url="https://www.liqpay.com/?do=clickNbuy";
$method='card';
$phone='';
srand((double) microtime()*1000000);
$order_id1 = rand();
$amount1 = '<SELECT NAME="$amount1">
<option value="50.00">50 <?php echo $this->currency_symbol; ?> (<?php echo 50*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<option value="40.00">40 <?php echo $this->currency_symbol; ?> (<?php echo 40*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
<option value="30.00">30 <?php echo $this->currency_symbol; ?> (<?php echo 30*$this->ratio . ' ' . JText::_( 'VODES_CREDITS' ); ?>)</option>
</SELECT>' ;


Но к сожалению где-то напартачил с синтаксисом.

Спустя 1 минута, 40 секунд (5.11.2010 - 01:19) andrew123 написал(а):
Цитата (Игорь_Vasinsky @ 4.11.2010 - 20:40)
а что утебя написано в 72 строчке, напиши

В 72 строке: $amount1 = '<SELECT NAME="$amount1">

Спустя 4 часа, 55 минут, 23 секунды (5.11.2010 - 06:14) Игорь_Vasinsky написал(а):
переправь на
$amount1 = '<SELECT NAME='".$amount1."'>'; 


и вообще внутри <?php и ?> - в html двойные ковычки экранируются - \"

Спустя 5 часов, 55 минут, 26 секунд (5.11.2010 - 12:10) Invis1ble написал(а):
andrew123
В данном случае нужно так:
$amount1 = '<SELECT NAME="' . $amount1 . '">
<option value="50.00">50 <?php echo $this->currency_symbol; ?> (<?php echo 50*$this->ratio . " " . JText::_( "VODES_CREDITS" ); ?>)</option>
<option value="40.00">40 <?php echo $this->currency_symbol; ?> (<?php echo 40*$this->ratio . " " . JText::_( "VODES_CREDITS" ); ?>)</option>
<option value="30.00">30 <?php echo $this->currency_symbol; ?> (<?php echo 30*$this->ratio . " " . JText::_( "VODES_CREDITS" ); ?>)</option>
</SELECT>'
;
но ты тут перемудрил, имхо...
Цитата
Но к сожалению где-то напартачил с синтаксисом.

для диагностики существуют ошибки, которые выдает php. В них указана строка и характер ошибки - попробуй сначала решить проблему сам, и уж потом если не получается - пиши и не забывай указывать текст ошибки ибо тут не экстрасенсы обитают

Игорь_Vasinsky
Цитата
и вообще внутри <?php и ?> - в html двойные ковычки экранируются - \"

не обязательно

Спустя 11 часов, 44 минуты, 13 секунд (5.11.2010 - 23:54) Dron19 написал(а):
вот так можно

<select name="test">
<option
value="5000">5000 тысяч рублей</option>
<option
value="2000">2000 тысячи рублей</option>
</select>



//А вот PHP код
<?php
if($test == 5000) {То делай...}
if($test == 2000) {Еще что-то...}
?>

Быстрый ответ:

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