PHP curl自动发送两个请求
我使用PHP curl保存网站名称用户刚刚点击的页面名称和数据库中的ip地址,但问题curl会自动发送2个请求一个数据正确,另一个只是将页面名称更改为index.PHP,我只想中止第二个请求,这意味着当curl执行一次时,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
**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代码很多,这是我的代码现在