![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 21.01.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam błąd w skrypcie systemu ocen na internet explorer działa dobrze pod chrome i firefox nie jak kliknę na ocenę nie pokazuje jaką ocenę się przyznało. Kod //--------------------- gwiazdki if (document.images){ pic1 = new Image(220,19); pic1.src = "img/rating_loading.gif"; pic2 = new Image(25,75); pic2.src = "img/rating_star.gif"; pic3 = new Image(25,75); pic3.src = "img/rating_star_2.gif"; pic4 = new Image(16,13); pic4.src = "img/rating_tick.gif"; pic5 = new Image(14,14); pic5.src = "img/rating_warning.gif"; } // AJAX ---------------------------------------- var xmlHttp function GetXmlHttpObject(){ var xmlHttp = null; try { // Firefox, Opera 8.0+, Safari xmlHttp = new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e){ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } // Calculate the rating function rate(rating,id,show5,showPerc,showVotes){ xmlHttp = GetXmlHttpObject() if(xmlHttp == null){ alert ("Twoja przeglądarka nie obsługuje AJAX!"); return; } xmlHttp.onreadystatechange = function(){ var loader = document.getElementById('loading_'+id); var uldiv = document.getElementById('ul_'+id); if (xmlHttp.readyState == 4){ //loader.style.display = 'none'; var res = xmlHttp.responseText; if(res == 'already_voted'){ loader.style.display = 'block'; loader.innerHTML = '<div class="voted_twice">Już oceniałeś ten produkt!</div>'; } else { loader.style.display = 'block'; loader.innerHTML = '<div class="voted">Dziękujemy !</div>'; if(show5 == true){ var out = document.getElementById('outOfFive_'+id); var calculate = res/20; out.innerHTML = Math.round(calculate*100)/100; // 3.47; //out.innerHTML = Math.round((calculate*2),0)/2; // 3.5; } if(showPerc == true){ var perc = document.getElementById('percentage_'+id); //var newPerc = Math.round(Math.ceil(res/5))*5; var newPerc = res; perc.innerHTML = newPerc+'%'; } else if(showPerc == false){ var newPerc = res; } if(showVotes == true){ var votediv = document.getElementById('showvotes_'+id).firstChild.nodeValue; var splitted = votediv.split(' '); var newval = parseInt(splitted[0]) + 1; if(newval == 1){ document.getElementById('showvotes_'+id).innerHTML = newval+' Ocena'; } else if(newval < 5 ) { document.getElementById('showvotes_'+id).innerHTML = newval+' Oceny'; }else { document.getElementById('showvotes_'+id).innerHTML = newval+' Ocen'; } } var ulRater = document.getElementById('rater_'+id); ulRater.className = 'star-rating2'; var all_li = ulRater.getElementsByTagName('li'); for(var i=1;i<all_li.length;i++){ all_li[i].getElementsByTagName('a')[0].onclick = 'return false;'; } if(navigator.appName == 'Microsoft Internet Explorer'){ uldiv.style.setAttribute('width',newPerc+'%'); // IE } else { uldiv.setAttribute('style','width:'+newPerc+'%'); // Everyone else } } } else { loader.innerHTML = '<img src="img/rating_loading.gif" alt="loading" />'; } } var url = "includes/rating_process.php"; var params = "id="+id+"&rating="+rating; xmlHttp.open("POST",url,true); xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlHttp.setRequestHeader("Content-length", params.length); xmlHttp.setRequestHeader("Connection", "close"); xmlHttp.send(params); } dorzucam ewentualnie kod z pliku ranting_process Kod if($_POST){ global $nazwa; $id = escape($_POST['id']); $rating = (int) $_POST['rating']; if($rating <= 5 && $rating >= 1){ if(@mysql_fetch_assoc(mysql_query("SELECT id FROM $nazwa WHERE IP = '".$_SERVER['REMOTE_ADDR']."' AND rating_id = '$id'")) || isset($_COOKIE['has_voted_'.$id])){ echo 'Już oceniałes'; } else { setcookie('has_voted_'.$id,$id,$expire,'/',$domain,false); //zapis mysql_query("INSERT INTO $nazwa (rating_id,rating_num,IP) VALUES ('$id','$rating','".$_SERVER['REMOTE_ADDR']."')") or die(mysql_error()); $total = 0; $rows = 0; //odczyt $sel = mysql_query("SELECT rating_num FROM $nazwa WHERE rating_id = '$id'"); while($data = mysql_fetch_assoc($sel)){ $total = $total + $data['rating_num']; $rows++; } $perc = ($total/$rows) * 20; echo round($perc,2); //echo round($perc/5)*5; } } } // IF JAVASCRIPT IS DISABLED if($_GET){ global $nazwa; $id = escape($_GET['id']); $rating = (int) $_GET['rating']; // If you want people to be able to vote more than once, comment the entire if/else block block and uncomment the code below it. if($rating <= 5 && $rating >= 1){ if(@mysql_fetch_assoc(mysql_query("SELECT id FROM $nazwa WHERE IP = '".$_SERVER['REMOTE_ADDR']."' AND rating_id = '$id'")) || isset($_COOKIE['has_voted_'.$id])){ echo 'already_voted'; } else { setcookie('has_voted_'.$id,$id,$expire,'/',$domain,false); mysql_query("INSERT INTO $nazwa (rating_id,rating_num,IP) VALUES ('$id','$rating','".$_SERVER['REMOTE_ADDR']."')") or die(mysql_error()); } header("Location:".$_SERVER['HTTP_REFERER'].""); die; } else { echo 'Nie możesz dać więcej niż 5 gwiazdek ani mniej niż 1 <a href="'.$_SERVER['HTTP_REFERER'].'">back</a>'; } } Pomoże ktoś ? bo juz szukam tego błędu 3 dzień :/ Z góry dziękuje za pomoc. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 06:59 |