如何在搜索和输出其他网站时使用php curl?

时间:2013-12-06 09:54:42

标签: php html curl

我是一名不熟悉网络发展中国家的学生。如果我有一些错误和知识不足,请与我同行。

我的问题是如何在这个问题上使用php cUrl,我制作了一个php文件,作为另一个网站的索引或首页。我们要做的是创建一个搜索页面,然后从搜索中输出结果。用户输入内容然后在其他网站上搜索,之后结果将在某些iframe上输出。

以下是我的代码,

<?php
$url = 'http://somesite.com';
{
$username=$_POST['Search'];
$yourformfields="Search=$Search";
$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_URL,'http://somesite.com');
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl_handle,CURLOPT_POST,1);
curl_setopt($curl_handle,CURLOPT_POSTFIELDS,$yourformfields);
$buffer = curl_exec($curl_handle);
//$result = curl_exec($curl_handle);

curl_close($curl_handle);

if (empty($buffer))
{
    echo"<iframe src='$buffer'></iframe>";
}


}

?>

    <form action="index.php" method="post">
    <input type="text" name="formName" value="<?=$varName;?>">
    <input type="Submit" name="formSubmit" value="Search">
    </form>

当我输入一些不输出结果的东西时会发生什么,老实说它不输出任何东西。我已经检查了4到5次,但由于我目前在网络开发和编程方面的知识,我似乎无法找到问题。感谢所有帮助tnx。

1 个答案:

答案 0 :(得分:0)

这应该会给你一个良好的开端,iframe不是一个很好的解决方案,尝试使用ajax。

curl.php

    <form action="curl.php" method="post">
        URL <input type="text" name="url" value="<?php echo ((isset($_POST['url']))?$_POST['url']:"") ?>"> <br>
        Keyword <input type="text" name="keyword" value="<?php echo ((isset($_POST['keyword']))?$_POST['keyword']:"") ?>"> <br>
        <input type="Submit" name="formSubmit" value="Search">
    </form>

<?php
if(isset($_POST['formSubmit']))
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $_POST['url']);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    $st = curl_getinfo($ch, CURLINFO_HTTP_CODE);  
    $response = curl_exec($ch);
    if($st==200)
       echo "Request Unsuccessful";
    else
    {
        if (strpos($response,$_POST['keyword']) !== false)
        {
            echo 'Your input keyword found.';
        }
        else
            echo 'No matches, try another keyword';
    }
    curl_close($ch);
}
?>

注意:此代码要求您启用php curl扩展程序