No ludzie, spokojnie, JUŻ DZIAŁA..
deus, czytaj uwazniej, -to nie problem z polskimi znakami..
Macie dzialajacy kod, nie wiem po co wam, ale skoro chcecie to macie..
Kopiuj
function createPostString($aPostFields) {
foreach ($aPostFields as $key => $value) {
$aPostFields[$key] = urlencode($key) . '=' . urlencode($value);
}
return implode('&', $aPostFields);
}
function postONphpBB2($url, $username, $password, $forum, $subject, $description, $message, $cookie) {
$ch=curl_init();
$form_url=$url.'login.php';
curl_setopt($ch, CURLOPT_URL, $form_url);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, $form_url);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie.'.cookie');
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie.'.cookie');
curl_setopt($ch, CURLOPT_POSTFIELDS, "username=$username&password=$password&login=Log+In");
curl_setopt($ch, CURLOPT_HEADER, 0);
$x=curl_exec($ch);
$form_url=$url.'posting.php?mode=newtopic&f='.$forum;
curl_setopt($ch, CURLOPT_URL, $form_url);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, $form_url);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie.'.cookie');
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie.'.cookie');
curl_setopt($ch, CURLOPT_HEADER, 0);
$page=curl_exec($ch);
if (!preg_match ('/logout=true&sid=(.{32})"/', $page, $sid)) {
return false;
}
echo $sid[1];
$postFields['subject'] = $subject;
$postFields['description'] = $description;
$postFields['tag_select'] = '';
$postFields['addbbcode18'] = urldecode('%23');
$postFields['addbbcode20'] = '12';
$postFields['helpbox'] = 'xD';
$postFields['message'] = $message;
$postFields['via'] = md5(time());
$postFields['attach_sig'] = 'on';
$postFields['send_pm'] = 'on';
$postFields['poll_title'] = '';
$postFields['add_poll_option_text'] = '';
$postFields['poll_length'] = '';
$postFields['mode'] = 'newtopic';
$postFields['sid'] = $sid[1];
$postFields['f'] = $forum;
$postFields['post'] = 'Submit';
$form_url=$url.'posting.php?mode=newtopic&f='.$forum;
curl_setopt($ch, CURLOPT_URL, $form_url);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, $form_url);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie.'.cookie');
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie.'.cookie');
curl_setopt($ch, CURLOPT_POSTFIELDS, createPostString($postFields));
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_HTTP_VERSION, 1.0);
$xxx=curl_exec($ch);
curl_close($ch);
if (!preg_match('/url=viewtopic.php\?p=([0-9]*)#([0-9]*)">/',$xxx,$topicid)) {
return false;
}
else {
return $topicid[1];
}
}
Ja nikomu nie kazalem pisac dla mnie wielkiego skryptu od zera - zaznaczam ponownie - szukalem gotowego JUZ DOSTEPNEGO rozwiazania..
ps. tak, wiem, "na razie" i pare tego typu slowek mi nie wychodzi (sugestia T9 :/)..
ale nie napisalem tego np tak "jurz działa" itd..