2012-02-13 64 views
0

我正在研究一个允许客户登录到osCommerce网站以检索数据的应用程序。到目前为止,我已经有了这个脚本,对于像Wordpress这样的其他几个网站来说效果不错,但是对于osCommerce来说却不是。通过PHP自动登录到osCommerce,使用cURL

<?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 protected]&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看到它。 我应该修改哪些内容才能使此脚本登录到网站?提前致谢!

+0

跑了,工作。你的错误是什么? – random 2012-02-15 01:40:24

+0

它只是给了我一个空白页面。如果我回显页面index.php,那么它会显示我的页面,但用户仍未登录。 – Cosmi 2012-02-26 19:00:30

+0

您正在使用有效的帐户登录权限? – random 2012-02-26 21:31:49

回答

0

只要我知道oscommerce需要“用户名”而不是“email_address”,除非您更改FORM字段的名称。尝试传递usename而不是email_address。

+0

感谢您的回答,但它似乎osCommerce有email_address。我仔细检查了田野。 – Cosmi 2012-02-13 14:18:33

0

你必须发送卷曲http://demo.oscommerce.com/login.php?行动=过程代替http://demo.oscommerce.com/login.php直接去检查变量

+0

没有变化。由于用户没有登录,它给了我一个空白页面。我看到有一个名为“formid”的隐藏输入,我把它放在用户名和密码中,但仍然没有效果。 – Cosmi 2012-02-26 19:04:11

+0

我已经在我的在线oscommerce中测试它,它运行良好[email protected]&password=123456不是在demo.oscommerce.com中的有效用户通... – 2012-02-27 10:43:15

+0

也许你的服务器“打开外部URL”为false ,如果是卷曲无法打开http://demo.oscommerce.com/login.php?action=process – 2012-02-27 10:45:30