Как отправить форму с помощью PHP?

<form style="text-align:center;" id="paypalform" action="https://www.paypal.com/cgi-bin/webscr" method="POST"> <input type='hidden' name='cmd' value='_xclick'> <input type='hidden' name='business' value='payment@xxx.com'> <input type='hidden' name='item_name' value='201001114262121'> <input type='hidden' name='amount' id="amount" value='1.00'> <input type='hidden' name='currency_code' value='CAD'> <input type='hidden' name='return' value='http://www.xxx.com/paypal_process.php'> <input type='hidden' name='invoice' value='82'> <input type='hidden' name='charset' value='utf-8'> <input type='hidden' name='no_shipping' value='1'> <input type='hidden' name='no_note' value=''> <input type='hidden' name='notify_url' value='http://www.xxx.com/return.php'> <input type='hidden' name='rm' value='82'> <input type='hidden' name='cancel_return' value='http://www.xxx.com/index.html'> </form> 

Кто-нибудь знает?

 <?php if(isset($_POST['submit'])) { function do_post_request($url, $data, $optional_headers = null) { $params = array('http' => array( 'method' => 'POST', 'content' => $data )); if($optional_headers != null) { $params['http']['header'] = $optional_headers; } $ctx = stream_context_create($params); $fp = @fopen($url, 'rb', false, $ctx); if (!$fp) { throw new Exception("Problem with $url, $php_errormsg"); } $response=''; while (!feof($fp)) { $response = $response.fgets($fp); } if ($response === false) { throw new Exception("Problem reading data from $url, $php_errormsg"); } fclose($fp); return $response; } $host = 'http://mydomain.com'; $url = 'http://mydomain.com/formHandler.php'; $username = 'admin'; $password = '123456'; $data = array ('action' => 'login','lgname' => $username, 'lgpassword' => $password, 'format' => 'txt'); $data = http_build_query($data); $reply = do_post_request($url, $data); echo "**********Response*********<pre>"; echo var_dump($reply); #header('location:'.$host); #exit; } else { echo '<form method="post" enctype="multipart/form-data" action="'.$_SERVER['PHP_SELF'].'"><input type="text" name="uname" /><br><input type="password" name="password" /><input type="submit" name="submit"></form>'; } ?> 

Попробуй это

Если вы хотите, чтобы эта форма отправлялась сразу после загрузки страницы, вы можете добавить ее в нижнюю часть страницы, если вы решили использовать PHP для отправки формы:

 <? echo "<script type=\"text/javascript\"> window.onload=function(){ document.forms['paypalform'].submit(); } </script>"; ?> 

Но это похоже на долгий путь. Вы могли бы просто написать javascript на странице … может быть, я не уверен, что вы хотите делать, но я думал, что выброшу это.

Используя javascript, вы можете отправить форму внутри PHP-кода следующим образом: (трюк находится в последней строке)

  $paypalURL = 'https://www.sandbox.paypal.com/cgi-bin/webscr'; $paypalID = 'xyz-merchant@gmail.com'; $form = "<form id='paypal' action='". $paypalURL."' method='post'>"; $form .='<input type="hidden" name="business" value="'. $paypalID.'">'; $form .='<input type="hidden" name="cmd" value="_xclick">'; $itemDetail = "Detail goes here"; $orderId = 4444; $totalAmountWithFee = 55; $form .='<input type="hidden" name="item_name" value=" '.$itemDetail.'"> <input type="hidden" name="item_number" value="'.$orderId.'"> <input type="hidden" name="amount" value="'.$totalAmountWithFee.'"> <input type="hidden" name="currency_code" value="USD">'; $form .="<input type='hidden' name='cancel_return' value='http://localhost/public/cancel.php'> <input type='hidden' name='return' value='http://localhost/success.php'>"; $form.="<script type=\"text/javascript\"> document.forms['paypal'].submit();</script>"; echo $form; 

Если у кого-то есть хорошая идея.