0

for ループを使用して Web サイトから結果をダウンロードし、コンパイルする必要があります。

ここにサンプルリンクがあります

(これらのパラメーターを使用して Web ページを表示する 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 に答える