0

我需要使用 for 循环从网站下载结果来编译它们。

这是一个示例链接

(请注意,这是一个 ASP 请求,它显示带有这些参数的网页)

我用 CURL 请求编写了以下代码来获取这个(我需要提交表单):

<?php
for ($i=10; $i<500; $i++) {
$m = $i*10;
$url = 'http://sanskritischool.com/ProgramFiles/ProgressReport/Report/2012-2013/REPORTCARD_XI_XIII.aspx?';
$fields = array(
                    'ClassId' => 334,
                    'TermId' => 95,
                    'StudentId' => $m,
                    'SelectValue' => 1,
                    'strTerm' => urlencode('SECOND TERM'),
                    'SelectType' => urlencode('Academic '),
                    'ClassName' => urlencode('XI(A)')
                );

//url-ify the data for POST

foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');

echo $fields_string;

//CURL POST

$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);

$result = curl_exec($ch);
curl_close($ch);

//Reset string

$fields_string='';
}
?>

虽然循环运行,但它返回所有错误 ( Object reference not set to an instance of an object)

报错截图:http: //imm.io/11by4

如何成功运行此循环并获得结果?

对不起,如果我问一个幼稚的问题,我只有 16 岁,而且我是 PHP 新手。如果您能提供帮助,我会很高兴!

4

1 回答 1

0

您构建查询字符串,但不将其附加到$url. 您应该执行以下操作:

$url = $url.$fields_string;
于 2013-03-29T16:35:42.093 回答