Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.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
使用cURL通过PHP自动登录osCommerce_Php_Curl_Oscommerce - Fatal编程技术网

使用cURL通过PHP自动登录osCommerce

使用cURL通过PHP自动登录osCommerce,php,curl,oscommerce,Php,Curl,Oscommerce,我正在开发一个应用程序,允许客户登录osCommerce网站检索数据。到目前为止,我已经有了这个脚本,它在Wordpress这样的其他网站上运行良好,但在osCommerce上却不行 <?php $ch = curl_init(); // Login here curl_setopt($ch, CURLOPT_URL, 'http://demo.oscommerce.com/login.php'); curl_setopt ($ch, CURLOPT_POST, 1); // Login/

我正在开发一个应用程序,允许客户登录osCommerce网站检索数据。到目前为止,我已经有了这个脚本,它在Wordpress这样的其他网站上运行良好,但在osCommerce上却不行

<?php
$ch = curl_init();
// Login here
curl_setopt($ch, CURLOPT_URL, 'http://demo.oscommerce.com/login.php');
curl_setopt ($ch, CURLOPT_POST, 1);
// Login/password
curl_setopt ($ch, CURLOPT_POSTFIELDS, 'email_address=me@mail.xx&password=123456');
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$store = curl_exec ($ch);
// Get this file
curl_setopt($ch, CURLOPT_URL, 'http://demo.oscommerce.com/account.php');
$content = curl_exec ($ch);
curl_close ($ch); 
// Show the file
echo $content;
?>

我不知道哪里会有问题,因为我没有足够的PHP经验来了解它。
为了让这个脚本登录到网站,我应该修改什么?提前谢谢

据我所知,oscommerce只接受“用户名”而不是“电子邮件地址”——除非您更改表单字段的名称。尝试传递usename而不是电子邮件地址。

您必须将curl发送到?action=process而不是直接去检查变量

谢谢您的回答,但似乎osCommerce有电子邮件地址。我仔细检查了字段,运行了,正常。你的错误是什么?它只是给了我一个空白页。如果我回显page index.php,它会显示页面,但用户仍然没有登录。您使用的是有效的帐户登录,对吗?没有更改。它给我一个空白页,因为用户没有登录。我看到有一个名为“formid”的隐藏输入,我把它放在用户名和密码之间,但仍然没有效果。我已经在我的在线oscommerce中测试了它,它在电子邮件地址中运行良好=me@mail.xx&password=123456在demo.oscommerce.com中不是有效的用户密码…可能您的服务器将“打开外部URL”设置为false,如果是,curl无法打开我理解,但是我可以用这个脚本登录Wordpress,而且效果很好!另外,在localhost上也是一样的。啊,我更改电子邮件地址只是为了演示。在我的测试中,我使用有效的用户&通过。但我还是不明白为什么它不起作用@Pablo,您测试了我在主题中编写的代码,除了user&pass之外,没有任何更改?稍后编辑:在cookie.txt中自动写入以下内容:#Netscape HTTP cookie文件##此文件由libcurl生成!编辑风险自负。demo.oscommerce.com FALSE/FALSE 0 osCsid 43p9tvul2iujjsof40cc327gc6I使用http:///login.php?action=process 并且有一个有效的电子邮件地址和密码。你在自己的服务器上试过吗?