1

嗨,我正在尝试使用 PHP 和 Curl 登录网站。我遇到的问题是我要登录的网站上的输入字段的名称具有脚本认为是变量的名称。所以当我运行脚本时,我得到一个错误,说未定义的变量。

$fields = "ctl00$MainContent$EmailText=xxxx@xxxx.com&ctl00$MainContent$PasswordText=xxxx";

我得到的错误是:

Notice: Undefined variable: MainContent 

Notice: Undefined variable: EmailText

Notice: Undefined variable: PasswordText

有没有办法解决?

4

3 回答 3

3

使用单引号:

$fields = 'ctl00$MainContent$EmailText=xxxx@xxxx.com&ctl00$MainContent$PasswordText=xxxx';
于 2012-09-16T20:52:06.387 回答
2

是的,将字符串放在单引号内而不是双引号内。

于 2012-09-16T20:52:04.493 回答
2

如果您使用 ' 而不是 " 的变量定义,php 将不会解释里面的内容。请参阅: http: //php.net/manual/en/language.types.string.php

此外,我总是使用 curl 选项 CURLOPT_POSTFIELDS 来处理后字段——因为这样我可以提交一个包含我的值的数组——这会提供更漂亮的代码:

$curlhandle = curl_init();
$post_values = array(
    'ctl00$MainContent$EmailText' => 'xxxx@xxxx.com'
    'ctl00$MainContent$PasswordText' => 'xxxx'
);
curl_setopt($curlhandle, CURLOPT_POST, true);
curl_setopt($curlhandle, CURLOPT_POSTFIELDS, $post_values);
于 2012-09-16T20:57:23.360 回答