php'curl'无法正常工作

use*_*381 2 php curl


我试图通过使用"卷曲"派从"1.PHP"页面"3.php页面一定的价值.

继承我的代码 -

1.PHP

<?php
$data = array();
$data['first_name'] = 'hello';
$data['last_name'] = 'Thind';
$data['password'] = 'secret';
$data['email'] = 'me@abc.com';
$post_str =''; 
foreach($data as $key=>$val)
{ $post_str .= $key.'='.$val.'&'; } 
$post_str = substr($post_str, 0, -1);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, '3.php' );
curl_setopt($ch, CURLOPT_POST, TRUE); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_str);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
?>
Run Code Online (Sandbox Code Playgroud)

3.php

<?php
$host="localhost";       
$dbname="mr"; 
// mysql code for table= create table m(name varchar(10));
$username="";            
$password="";
$con=mysql_connect("$host","$username","$password")or die("cannot connect");
mysql_select_db($dbname) or DIE('cannot select db');
if(isset($_POST['first_name'])){
$name=$_POST['first_name'];
$sql="insert into m
values('$name')";
$sq=mysql_query($sql);
echo"ok";
}
mysql_close($con);
?>
Run Code Online (Sandbox Code Playgroud)

我的问题是"没有数据插入到数据库中导致没有数据从1.php传输到3.php".我通过给出一些值来检查'3.php'中的数据库代码并将其正确插入到数据库中.所以代码在'3.php'效果很好.所以'1.php'中的代码似乎不起作用.
(注意:在php.ini文件中激活了php_curl.dll.我使用的是windows xp专业服务包-2,xampp-win32版本1.8.1)

有人可以告诉我那里有什么问题吗?

-谢谢.

Fra*_*kie 5

curl_setopt($ch, CURLOPT_URL, '3.php' );

这请求URL 3.php...你必须给它一些"提示",因为cURL是一个外部程序,它只是按原样调用URL.

把它改成类似的东西 http://mysite.whatever/3.php


另外,cURL是一个命令行实用程序,如果以这种方式使用它会更容易调试.您应首先测试它命令行,然后,如果它是workign,则在您的PHP代码上实现它.

cURL上的模式:http://curl.haxx.se/docs/manpage.html