2014-12-04 55 views
-2

我想创建一个远程登录到一个网站使用我的。用户需要在我的网站上输入他们的用户名和密码,如果他们已经注册到我的网站,他们的登录凭证将被发送到另一个网站,并将检索一个页面。PHP cURL登录不起作用

我被困在将用户数据发送到原始网站。原网站的viewsource是这样的..

<form method=post> 
<input type="hidden" name="action" value="logon"> 
<table border=0> 
<tr> 
<td>Username:</td> 
<td><input name="username" type="text" size=30></td> 
</tr> 
<tr> 
<td>Password:</td> 
<td><input name="password" type="password" size=30></td> 
</tr> 
<td></td> 
<td align="left"><input type=submit value="Sign In"></td> 
</tr> 
<tr> 
<td align="center" colspan=2><font size=-1>Don't have an Account ?</font> <a href="?action=newuser"><font size=-1 color="#0000EE">Sign UP Now !</font></a></td> 
</tr> 
</table> 

这是位于http://www.example.com/index.php

我曾尝试这个代码,但没有作品。这是我从另一个问题回答过的人那里得到的。

<?php 
$username="username"; 
$password="password"; 
$url="http://www.example.com/index.php"; 

$postdata = "username=".$username."&password=".$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, 1); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt ($ch, CURLOPT_REFERER, $url); 
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata); 
curl_setopt ($ch, CURLOPT_POST, 1); 
$result = curl_exec ($ch); 
header('Location: track.html'); 
//echo $result; 
curl_close($ch); 
?> 

任何帮助将不胜感激,提前致谢。

+0

你的URL不起作用 – 2014-12-04 09:26:01

+0

哪里是你的代码的其余部分? – 2014-12-04 09:26:26

+0

我在代码中看不到cURL,只有HTML – Justinas 2014-12-04 09:27:03

回答

0

这是不安全的,但它是一个办法做到这一点

<?php 
if (isset($_POST['username'])) 
{ 
    file_get_contents("http://otherwebsite/page.php?login=".$_POST['username']."&password=".$_POST['password']) 
} 
?> 
+0

我在哪里粘贴这个?抱歉,刚接触php。 – brvnbld 2014-12-04 09:30:56

+0

在URL中传递用户名和密码,这是不安全的.. :) – 2014-12-04 09:34:04

+0

@AlExMeRcER在代码的顶部。 – blue112 2014-12-04 09:42:13