Проблема е, че като се отвори един път и повече не може да се гласува. Тоест не може да се гласува от името на всеки посетител
:idea:
PHP:
<?php
$bgtopid = 123456; //nqkvo id ot bgtop
//STAHP
$post_data['site'] = $bgtopid;
$post_data['stat'] = 'gate';
$url = 'http://bgtop.net/vote/'.$bgtopid;
$ip = getenv("REMOTE_ADDR");
$options = array(
CURLOPT_USERAGENT => "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)",
CURLOPT_HTTPHEADER => array("REMOTE_ADDR: $ip", "HTTP_X_FORWARDED_FOR: $ip"),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_ENCODING => "",
CURLOPT_AUTOREFERER => true,
CURLOPT_CONNECTTIMEOUT => 120,
CURLOPT_TIMEOUT => 120,
CURLOPT_MAXREDIRS => 10,
);
$ch = curl_init( $url );
curl_setopt_array( $ch, $options );
$content = curl_exec( $ch );
$err = curl_errno( $ch );
$errmsg = curl_error( $ch );
$header = curl_getinfo( $ch );
curl_close( $ch );
$html = $content;
$cuthtml = explode('<form name="vote" action="vote/'.$bgtopid.'" method="post">',$html);
$cuthtml = explode('</form>',$cuthtml[1]);
$forms = $cuthtml[0];
preg_match_all('#<input type="hidden" name="(.*)" value="(.*)" />#',$forms,$result);
$result = $result[2];
$post_data['secret'] = $result[0];
$post_data['refid'] = $result[2];
echo'<pre>';
print_r($post_data);
echo'</pre>';
foreach ( $post_data as $key => $value) {
$post_items[] = $key . '=' . $value;
}
$post_string = implode ('&', $post_items);
$curl_connection = curl_init('http://bgtop.net/vote/'.$bgtopid);
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl_connection, CURLOPT_HTTPHEADER, array("REMOTE_ADDR: $ip", "HTTP_X_FORWARDED_FOR: $ip"));
curl_setopt($curl_connection, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl_connection, CURLOPT_HEADER, false);
curl_setopt($curl_connection, CURLOPT_ENCODING, "");
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 120);
curl_setopt($curl_connection, CURLOPT_TIMEOUT, 120);
curl_setopt($curl_connection, CURLOPT_MAXREDIRS, 10);
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string);
$result = curl_exec($curl_connection);
$cinfo = curl_getinfo($curl_connection);
curl_close($curl_connection);
$result = preg_replace('#http://bgtop.net/category/(.*)/s(.*)#','$2',$cinfo['url']);
echo$cinfo['url'].'<br />';
switch($result){
case 1: echo 'Вотът е отчетен'; break;
case 2: echo 'Днес вече сте гласували. Вашият вот не е отчетен.'; break;
case 3: echo 'Временно е забранено гласуването от Вашата мрежа.'; break;
case 4: echo 'Сесията Ви е изтекла. Вашият вот не е отчетен.'; break;
case 5: echo 'Моля, включете \'Cookies\' на Вашия браузър.'; break;
}
?>