「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;
?>
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);
?>
私の問題は、「データベースにデータが挿入されないため、1.php から 3.php にデータが転送されない」ということです。値を指定して「3.php」のデータベース コードをチェックしたところ、データベースに正しく挿入されました。 '3.php' は正常に動作するため、'1.php' のコードが動作していないようです。
(注: php_curl.dllはphp.iniファイルでアクティブ化されています。私はWindows XPプロフェッショナルサービスパック-2、xampp-win32バージョン-1.8.1を使用しています)
何が問題なのか教えてください。
-ありがとう。