Как я могу получить несколько форм, чтобы использовать одни и те же входные данные в PHP - PullRequest
0 голосов
/ 06 сентября 2011

У меня есть 15 идентичных кнопок PayPal «Купить сейчас», каждая из которых управляется своей формой на одной странице php. Каждая кнопка имеет около 20 входных переменных, но только 2 являются уникальными для каждого элемента (item_name & item_number). Есть ли способ очистить мой код и сделать так, чтобы все формы использовали один и тот же массив ввода? Не только данные, целая строка. Спасибо, Уэйн

Пример:

<form target='paypal' action='https://www.paypal.com/cgi-bin/webscr' method='post'>
<input type='hidden' name='cmd' value='_cart'>
<input type='hidden' name='business' value='myemail@mydomain.com'>
<input type='hidden' name='lc' value='US'>
<input type='hidden' name='item_name' value='Modern Art Print'>
<input type='hidden' name='item_number' value='MA024'>*
<input type='hidden' name='button_subtype' value='products'>
<input type='hidden' name='no_note' value='0'>
<input type='hidden' name='currency_code' value='USD'>
<input type='hidden' name='add' value='1'>
<input type='hidden' name='bn' value='PP-ShopCartBF:btn_cart_SM.gif:NonHostedGuest'>
<input type='hidden' name='on0' value='Select Size'>Buy Print 
<select name='os0'>
<option value='11 x 14'>11 x 14 $30.00</option>
<option value='8 x 10'>8 x 10 $20.00</option>
</select>
<input type='hidden' name='currency_code' value='USD'>
<input type='hidden' name='option_select0' value='11 x 14'>
<input type='hidden' name='option_amount0' value='30.00'>
<input type='hidden' name='option_select1' value='8 x 10'>
<input type='hidden' name='option_amount1' value='20.00'>
<input type='hidden' name='option_index' value='0'>
<input type='image' src='https://www.paypalobjects.com/en_US/i/btn/btn_cart_SM.gif' border='0' name='submit' alt='PayPal - The safer, easier way to pay online!'>
</form>

Ответы [ 3 ]

1 голос
/ 06 сентября 2011

Создайте функцию, которая создает форму.Пример:

function paypalForm( $item_name, $item_number ) {
    ?>
    <form target='paypal' action='https://www.paypal.com/cgi-bin/webscr' method='post'>
    <input type='hidden' name='cmd' value='_cart'>
    <input type='hidden' name='business' value='myemail@mydomain.com'>
    <input type='hidden' name='lc' value='US'>
    <input type='hidden' name='item_name' value='<?=$item_name?>'>
    <input type='hidden' name='item_number' value='<?=$item_number?>'>*
    <input type='hidden' name='button_subtype' value='products'>
    <input type='hidden' name='no_note' value='0'>
    <input type='hidden' name='currency_code' value='USD'>
    <input type='hidden' name='add' value='1'>
    <input type='hidden' name='bn' value='PP-ShopCartBF:btn_cart_SM.gif:NonHostedGuest'>
    <input type='hidden' name='on0' value='Select Size'>Buy Print 
    <select name='os0'>
    <option value='11 x 14'>11 x 14 $30.00</option>
    <option value='8 x 10'>8 x 10 $20.00</option>
    </select>
    <input type='hidden' name='currency_code' value='USD'>
    <input type='hidden' name='option_select0' value='11 x 14'>
    <input type='hidden' name='option_amount0' value='30.00'>
    <input type='hidden' name='option_select1' value='8 x 10'>
    <input type='hidden' name='option_amount1' value='20.00'>
    <input type='hidden' name='option_index' value='0'>
    <input type='image' src='https://www.paypalobjects.com/en_US/i/btn/btn_cart_SM.gif' border='0' name='submit' alt='PayPal - The safer, easier way to pay online!'>
    </form>
    <?
}
0 голосов
/ 06 сентября 2011

Пожалуйста, обратитесь к этой статье: http://www.chami.com/tips/internet/042599i.html

Вы можете создать одну форму с несколькими кнопками отправки и назначить в качестве значения кнопки как item_name & item_number. Таким образом, входные данные не повторяются в коде, и вы можете легко отличить отправленные формы.

Примечание: серверный код в статье написан на ASP, но в PHP он такой же. Просто обратитесь к $_POST['buttonNameHere']

0 голосов
/ 06 сентября 2011

Предполагая, что вы говорите об очистке разметки HTML, а не о создании форм на стороне сервера ...

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

Я думаю, что так как вы отправляете данные непосредственно в Paypal ипоэтому у вас нет контроля над серверной стороной, ответ на этот вопрос, вероятно, НЕТ.

Если вы говорите об очистке PHP-кода, ответ Рейка ван Вела может помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...