在PHP中加载页面并提交表单

时间:2012-05-08 22:42:32

标签: php curl form-submit

我正在创建一个使用在线编译器的系统。 IDEONE给我这个功能(throgh一个Web服务),但需要大量编译的价格。

然后我尝试使用codepad,但它没有Web服务...键盘有一个初始页面,点击它的提交按钮,显然是同一页面加载(表单的动作是“/")...

我正在使用curl加载页面,但我收到“内部服务器错误”。这是我的代码:pastebin Code,我正在使用000webhost,我不知道我做错了什么,或者我的网络服务器不支持它。

1 个答案:

答案 0 :(得分:0)

您是否尝试删除TIMEOUT?或者可能延长它?

尝试这个:

<html>
<div align="center">
    <form action="compilador.php" method="POST">
        <textarea id="source" name="source"></textarea>
        <input type="submit" value="Enviar" />
<?php
    if(isset($_POST['source']) && $_POST['source'] != "")
    {
       $ch = curl_init();

 /**
 * Set the URL of the page or file to download.
 */
 curl_setopt($ch, CURLOPT_URL, "http://codepad.org");

 /**
 * Ask cURL to return the contents in a variable instead of simply echoing them to  the browser.
 */
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$post_data=$_POST;

        $post_data['lang'] = 'C';
        $post_data['private'] = True;
        $post_data['run'] = True;

        foreach($post_data as $key => $value)
        {
            $post_items[] = $key . '=' . $value;
        }
        $post_string = implode ('&', $post_items);

        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string);

        $result = curl_exec ($ch);

 /**
 * Close cURL session
 */
 curl_close($ch);

        echo "<br /><br />RESULT: {".$result."}";
    }

    ?>
    </form>
</div>
</html>