Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP curl自动发送两个请求_Php_Curl - Fatal编程技术网

PHP curl自动发送两个请求

PHP curl自动发送两个请求,php,curl,Php,Curl,我使用PHP curl保存网站名称用户刚刚点击的页面名称和数据库中的ip地址,但问题curl会自动发送2个请求一个数据正确,另一个只是将页面名称更改为index.PHP,我只想中止第二个请求,这意味着当curl执行一次时,curl不会发出任何请求,直到在同一页面上再次单击,希望我的描述能帮助您找到我的错误,这是我的代码 **This IS My Curl Code** $wb_nm = $_SERVER[HTTP_HOST]; $pg_nm = $_SERVER[PHP_SELF]; $us

我使用PHP curl保存网站名称用户刚刚点击的页面名称和数据库中的ip地址,但问题curl会自动发送2个请求一个数据正确,另一个只是将页面名称更改为index.PHP,我只想中止第二个请求,这意味着当curl执行一次时,curl不会发出任何请求,直到在同一页面上再次单击,希望我的描述能帮助您找到我的错误,这是我的代码

**This IS My Curl Code**


$wb_nm = $_SERVER[HTTP_HOST];
$pg_nm = $_SERVER[PHP_SELF];
$usr_ip = $_SERVER[REMOTE_ADDR];
$pg_nm_ultr = trim($pg_nm , '/');

$n_url = "localhost/curl/new_page.php";

$data = array(
 "varhost" => $wb_nm,
 "varpage" => $pg_nm_ultr,
 "varip" => $usr_ip
);

$post = curl_init();

curl_setopt($post, CURLOPT_URL, $n_url);

curl_setopt($post, CURLOPT_POSTFIELDS, $data);

curl_setopt($post, CURLOPT_RETURNTRANSFER, false);

$result = curl_exec($post);

curl_close($post);

?>



**And This Is new_page.php**



if(isset($_POST['varhost']) && isset($_POST['varpage']) && isset($_POST['varip']))
{
    $web_name = $_POST['varhost'];
    $page_name_ulter = $_POST['varpage'];
    $user_ip = $_POST['varip'];

    define("DB_HOSTNAME", "localhost");

    define("DB_USER", "root");

    define("DB_PASS", "");

    define("DB_DB", "pan");

    $connection = mysqli_connect(DB_HOSTNAME, DB_USER, DB_PASS, DB_DB);
    if(isset($connection)){
      $query = "SELECT * FROM tbl_agencies WHERE weblink = '".$web_name."'";
      $result  = mysqli_query($connection , $query);
      if($result){
        while($row = mysqli_fetch_array($result)){
          if(isset($row))
          {
           $D_id = $row['domain_id'];
           $D_name = $row['website'];
           if($D_id == 0)
           {
            return false;
        }
    }
    else
    {
    }
    break;
}
}
}

$date_date  = date('Y-m-d');
$time_stamp = date("H:i:s");

$query_Code = "INSERT INTO user_details (website_domain_id , website_domain_name , page_clicked , user_IP , access_date , access_time) VALUES ('".$D_id."','".$D_name."' , '".$page_name_ulter."' , '".$user_ip."' , '".$date_date."' , '".$time_stamp."')";

$result_Code  = mysqli_query($connection , $query_Code);
if($result_Code)
{
    mysqli_close($connection);

}
}
?>
curl_setopt($post,CURLOPT_POSTFIELDS,$fields)中,可以将字段作为关联数组发送。所以这个代码:

$fields = '';

foreach($data as $key => $value) {
    $fields .= $key . '=' . $value . '&';
}
rtrim($fields, '&');
实际上不需要,
curl\u setopt($post,CURLOPT\u POSTFIELDS,$fields)变成

curl_setopt($post, CURLOPT_POSTFIELDS, $data);
curl_setopt($post,CURLOPT_POSTFIELDS,$fields)中,可以将字段作为关联数组发送。所以这个代码:

$fields = '';

foreach($data as $key => $value) {
    $fields .= $key . '=' . $value . '&';
}
rtrim($fields, '&');
实际上不需要,
curl\u setopt($post,CURLOPT\u POSTFIELDS,$fields)变成

curl_setopt($post, CURLOPT_POSTFIELDS, $data);

对不起,兄弟,这个技巧不起作用,即使我改变了我的Curl代码很多,这是我的代码现在对不起兄弟,这个技巧不起作用,即使我改变了我的Curl代码很多,这是我的代码现在