sabecs
asked on
Can I post form data without a form using PHP?
I have already collected the data to be sent to PayPal previously and would just like to go to PayPal for processing the data without needing someone to submit a form.
<form action="https://www.paypal.com/au/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="test@test.com.au">
<input type="hidden" name="item_name" value="Sample Business -Invoice Payment">
<input type="hidden" name="item_number" value="<?php echo "Invoice: ".$id; ?>">
<input type="hidden" name="email" value="<?php echo $_POST['email']; ?>">
<input type="hidden" name="quantity" value="1">
<input type="hidden" name="amount" value="<?php echo $amount; ?>">
<input type="hidden" name="invoice" value="<?php echo $id; ?>">
<input type="hidden" name="first_name" value="<?php echo $_POST['first_name']; ?>">
<input type="hidden" name="last_name" value="<?php echo $_POST['last_name']; ?>">
<input type="hidden" name="address1" value="<?php echo $_POST['address1']; ?>">
<input type="hidden" name="city" value="<?php echo $_POST['city']; ?>">
<input type="hidden" name="state" value="<?php echo $_POST['state']; ?>">
I just need a way of automatically submittting or sending the data to PayPal, I hope this makes sense.
Thanks in advance for you help and feedback.
<form action="https://www.paypal.com/au/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="test@test.com.au">
<input type="hidden" name="item_name" value="Sample Business -Invoice Payment">
<input type="hidden" name="item_number" value="<?php echo "Invoice: ".$id; ?>">
<input type="hidden" name="email" value="<?php echo $_POST['email']; ?>">
<input type="hidden" name="quantity" value="1">
<input type="hidden" name="amount" value="<?php echo $amount; ?>">
<input type="hidden" name="invoice" value="<?php echo $id; ?>">
<input type="hidden" name="first_name" value="<?php echo $_POST['first_name']; ?>">
<input type="hidden" name="last_name" value="<?php echo $_POST['last_name']; ?>">
<input type="hidden" name="address1" value="<?php echo $_POST['address1']; ?>">
<input type="hidden" name="city" value="<?php echo $_POST['city']; ?>">
<input type="hidden" name="state" value="<?php echo $_POST['state']; ?>">
I just need a way of automatically submittting or sending the data to PayPal, I hope this makes sense.
Thanks in advance for you help and feedback.
Just put a little javascript after your form definition:
<script type="text/javascript">
document.forms[0].submit();
</script>
Hi,
to send POST-Vars you could directly connect to the foreign server and send your data using fputs(), see attached example code (taken from a german PHP FAQ).
All this script does is simulate form submission by "hand craftign" all necessary HTTP-params.
The example sends 2 parameters (pid, poll_vore_number) to the server www.linux.com.
Change the function call to PostToHost() to fit your needs.
Regards
Marc
to send POST-Vars you could directly connect to the foreign server and send your data using fputs(), see attached example code (taken from a german PHP FAQ).
All this script does is simulate form submission by "hand craftign" all necessary HTTP-params.
The example sends 2 parameters (pid, poll_vore_number) to the server www.linux.com.
Change the function call to PostToHost() to fit your needs.
Regards
Marc
function PostToHost($host, $path, $referer, $data_to_send) {
$fp = fsockopen($host, 80);
printf("Open!\n");
fputs($fp, "POST $path HTTP/1.1\r\n");
fputs($fp, "Host: $host\r\n");
fputs($fp, "Referer: $referer\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ". strlen($data_to_send) ."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $data_to_send);
printf("Sent!\n");
while(!feof($fp)) {
$res .= fgets($fp, 128);
}
printf("Done!\n");
fclose($fp);
return $res;
}
$data = "pid=14&poll_vote_number=2";
printf("Go!\n");
$x = PostToHost(
"www.linux.com",
"/polls/index.phtml",
"http://www.linux.com/polls/index.phtml?pid=14",
$data
);
ASKER
Thanks for your feedback,
Basically I have an order form on a previous page that takes the users input and passes it to a PHP page that processes the order. If the payment option selected by the customer is PayPal then I need the information they have already provided to go to PayPal so that they complete the payment process. If they did not select PayPal as their payment option then some other code will be executed.
Basically I have an order form on a previous page that takes the users input and passes it to a PHP page that processes the order. If the payment option selected by the customer is PayPal then I need the information they have already provided to go to PayPal so that they complete the payment process. If they did not select PayPal as their payment option then some other code will be executed.
so then make your script which processes the users input go to Paypal in case paypal is selected.
ASKER
Thanks for your help, the inital order form is already complicated by validation and other code so would I prefer to keep the PayPal code on another page, it will only execute if PayPal is selected.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks mostart for all your comments and help.
So if you already have all data, you could surely just open your php script in your browser, or run it on the command line to post your data to the PayPal API.
Still I'm not sure if I really understood your problem ??