Я пытаюсь создать форму, которая собирает кучу пользовательской информации, хранит ее в массиве, json кодирует и передает в Paypal через пользовательскую переменную Paypal в кнопке Paypal. Вот как это работает прямо сейчас.
<?php
$firstName = "Lucas";
$lastName = "Harvmaster";
$email = "shrike321@hotmail.com";
$companyName = "Matchbox";
$password = "123Cupcakes";
$arr = array('firstName' => $firstName, 'lastName' => $lastName, 'email' => $email, 'companyName' => $companyName, 'password' => $password);
$data = json_encode($arr);
?>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input name="custom" type="hidden" value='<?php echo $data ?>'>
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="89924XE27QRNY">
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>
Это работает, но у меня возникает проблема. Как мне go установить переменные php динамически на основе того, что пользователь вводит в форму, а не просто их жестко кодировать? Похоже, что на самом деле нет никакого способа запечь эту функциональность в форме PayPal, потому что мне нужно собрать данные от пользователя, затем скомпилировать их вместе, чем передать их в PayPal, что, похоже, мне нужно две формы, чтобы я мог делать что-то с переменными в середине. Мне интересно, просто создать какую-то страницу подтверждения, чтобы я мог также передавать поля формы и размещать кнопку PayPal на этой странице? Но я подозреваю, что могут быть другие способы решения проблемы, которые ни я, ни мой гугл-фу не откопали. Заранее спасибо :)
Изменить: вот что я пытаюсь сделать с Javascript. Я невероятно новичок в Javascript, и код говорит мне, что у меня нет разрешения на доступ к PayPal, когда я его запускаю. Вероятно, у меня было много ошибок, очевидно, что я не знаком с Javascript :)
First name: <input type="text" name="firstName" id="firstName">
Last name: <input type="text" name="lastName" id="lastName">
Email: <input type="text" name="email" id="email">
Company name: <input type="text" name="companyName" id="companyName">
Password: <input type="text" name="password" id="password">
<script>
var firstName = document.getElementsByName("firstName")[0].value;
var lastName = document.getElementsByName("lastName")[0].value;
var email = document.getElementsByName("email")[0].value;
var companyName = document.getElementsByName("companyName")[0].value;
var password = document.getElementsByName("password")[0].value;
var output = JSON.stringify(firstName, lastName, email, companyName, password);
</script>
<input name="custom" type="hidden" value='<script>output</script>'>