2017-07-21 44 views
0

私は使用しているフォームテンプレートを持っています。フォームを処理し、cURLを使用してデータを送信します。投稿のエンドポイントはフォームによって異なりますので、私はページにvarに入れて、隠れた入力に値を設定し、その方法で送信してみました。これは、cURLスクリプトで$url varをハードコードする場合にのみ機能します。私は$_POSTの値を他のフィールドに入力していますが、なぜそれが機能していないのかわかりません。私はそれがこのように設定している実際のフォームページ

<?php 
    $inf_endpoint = 'http://someuniqueurl.com'; 
?> 
<html> 
    <body> 
     <form ...> 
      <input type="hidden" id="inf_endpoint" name="inf_endpoint" value="<?php echo $inf_endpoint ?>" /> 
     </form> 
    </body> 
</html> 

とプロセッサ/ cURLのスクリプト

<?php 
    $url = $_POST['inf_endpoint']; 
    //other field and curl stuff 
    $ch = curl_init($url); 
?> 

にそれは次のように提出したことがない、私は$urlをハードコーディングする必要があります値。私は$_POST$_GETを利用してみました。私は何が欠けていますか?

+0

にあなたの与えられたURLが有効ではありません。 – Rashid

+0

私のコードでは、私の悪いことを修正する必要があります。しかし問題は依然として残っており、$ url値をフォーム単位で非表示入力として設定することはできません –

答えて

0

は、このコードを試してみてください:

<?php 
    //$inf_endpoint = 'http://someuniqueurl.com'; 
    if(isset($_POST['submit'])){ 

     $url=$_POST['inf_endpoint']; 
     //$url='https://www.google.com/'; 

     $ch = curl_init(); 
     curl_setopt($ch, CURLOPT_URL, $url); 
     curl_setopt($ch, CURLOPT_HEADER, 0); 
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
     $result = curl_exec($ch); 
     if($result === false){ 
      echo 'Curl error: ' . curl_error($ch); 
     } 
     curl_close($ch); 
     echo($result); 
    } 

?> 

チャンあなたがhtmlのこの

<html> 
    <body> 
     <form action="" methode="post"> 
      <input type="url" id="inf_endpoint" name="inf_endpoint" value="" /> 
      <button type="submit" name="submit">Submit</button> 
     </form> 
    </body> 
</html> 
+0

これはまだハードコードされた$ url値を持っています。私は同じプロセッサを使用して、$ url値 –

関連する問題