使用PHP Curl发布数据不起作用
首先,我是卷发新手。我试图将表单数据直接发布到处理文件process.php。但它不起作用。 我的表格在下面使用PHP Curl发布数据不起作用,php,curl,Php,Curl,首先,我是卷发新手。我试图将表单数据直接发布到处理文件process.php。但它不起作用。 我的表格在下面 <!-- bla.html--> <html> <body> <form action="process.php" method="post"> <input type="text" name="name"> <input type="submit" value="submit"&g
<!-- bla.html-->
<html>
<body>
<form action="process.php" method="post">
<input type="text" name="name">
<input type="submit" value="submit">
</form>
</body>
并且process.php文件是
<?php
echo $name=$_POST['name'];
?>
我试图从一个名为curl.php的文件中传递数据。下面是哪个
<?php
$url="http://localhost/test/process.php";
$data=array('name=raheem');
$ch = curl_init();
// $ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
//curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
//curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt ($ch, CURLOPT_REFERER, $url);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt ($ch, CURLOPT_POST, 1);
echo $result = curl_exec ($ch);
?>
它显示正确。但是在将名称传递到process.php文件之前,我需要先登录。我写了下面的代码。但它不起作用
<?php
$username="myuser";
$password="mypass";
$url="http://localhost/test/login.php";
//$cookie="cookie.txt";
$postdata = "txtuname=".$username."&txtpass=".$password;
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
//curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
//curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt ($ch, CURLOPT_REFERER, $url);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt ($ch, CURLOPT_POST, 1);
$result = curl_exec ($ch);
if($result) {
$url="http://localhost/test/process.php";
$data="name=raheem&email=raheem@gmail.com";
$ch = curl_init();
// $ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
//curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
//curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt ($ch, CURLOPT_REFERER, $url);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt ($ch, CURLOPT_POST, 1);
echo $result = curl_exec ($ch);
}
?>
在这里,login.php将使用用户名和密码,如果用户存在,则重定向到bla.html。但它不起作用。感谢您的帮助。谢谢你不工作是什么意思?代码正在执行吗?它是否返回错误?没有显示任何错误我可以手动登录并通过代码执行其余操作吗?我使用了curl_close();你不工作是什么意思?代码正在执行吗?它是否返回错误?没有显示任何错误我可以手动登录并通过代码执行其余操作吗?我使用了curl_close();