WebSite X5Help Center

 
Francesco A.
Francesco A.
User

Sistema di votazione  it

Автор: Francesco A.
Просмотрено 1758, Подписчики 1, Размещенный 0  

Ciao a tutti, ho dato avvio ad un concorso di fotografia attraverso il mio sito. Ogni utente che vuole partecipare può caricare una foto che poi inserirò io stesso. Sotto ogni foto per la votazione ho inserito due tasti: mi piace e +1 di google+. Ho fatto una prova per constatare il funzionamento della votazione e mi sono accorto che sia i mi piace che i +1 sono collegati tra le foto. Ovvero se clicco su mi piace in una foto, la preferenza è riconosciuta anche per l'altra foto. Lo stesso vale anche per i +1. Premetto che le foto caricate sul sito non le ho caricate ne su facebook ne su google+. Come posso ovviare a questo inconveniente? A me interessa che ogni visitatore può votare le foto in modo indipendente senza che le preferenze siano collegate tra le foto. Ecco il link: http://www.xunil.it/gallery.html

Размещено
15 Ответы - 1 Корректно
Mirko Boschetti
Mirko Boschetti
Moderator

A parte che i codici html li hai messi con copia incolla, quindi mantengono lo stesso id, poi togli la barra di scroll sul "Mi piace" ....e comunque penso non si riesca a fare....

Segui il consiglio di Kol qui sopra...

Читать больше
Размещено От Mirko Boschetti
Francesco A.
Francesco A.
User
Автор

KolAsim ho seguito il tuo consiglio ma se volessi escludere la possibilità di far votare ancora, lasciando visualizzati i voti già acquisiti potrei farlo? Come?

Читать больше
Размещено От Francesco A.
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator

... il più semplice, senza toccare il codice, cambiare nome al file PHP di controllo, così diventa inattivo...

.

Читать больше
Размещено От  ‪ KolAsim ‪ ‪
Francesco A.
Francesco A.
User
Автор

...mmm....e come dovrei fare? questo è il contenuto del file rater.php, cosa dovrei modificare?

<?

// User settings
$rater_ip_voting_restriction = true; // restrict ip address voting (true or false)
$rater_ip_vote_qty=1; // how many times an ip address can vote
$rater_already_rated_msg="You have already rated this item. You were allowed ".$rater_ip_vote_qty." vote(s).";
$rater_not_selected_msg="You have not selected a rating value.";
$rater_thankyou_msg="Thankyou for voting.";
$rater_generic_text="this item"; // generic item text
$rater_end_of_line_char="\\n"; // may want to change for different operating systems

if(!isset($rater_id)) $rater_id=1;
if(!isset($rater_item_name)) $rater_item_name=$rater_generic_text;


// DO NOT MODIFY BELOW THIS LINE
$rater_filename='item_'.$rater_id.".rating";
$rater_rating=0;
$rater_stars="";
$rater_stars_txt="";
$rater_rating=0;
$rater_votes=0;
$rater_msg="";

// Rating action
if(isset($_REQUEST["rate".$rater_id])){
if(isset($_REQUEST["rating_".$rater_id])){
while(list($key,$val)=each($_REQUEST["rating_".$rater_id])){
$rater_rating=$val;
}
$rater_ip = getenv("REMOTE_ADDR");
$rater_file=fopen($rater_filename,"a+");
$rater_str="";
$rater_str = rtrim(fread($rater_file, 1024*8),$rater_end_of_line_char);
if($rater_str!=""){
if($rater_ip_voting_restriction){
$rater_data=explode($rater_end_of_line_char,$rater_str);
$rater_ip_vote_count=0;
foreach($rater_data as $d){
$rater_tmp=explode("|",$d);
$rater_oldip=str_replace($rater_end_of_line_char,"",$rater_tmp[1]);
if($rater_ip==$rater_oldip){
$rater_ip_vote_count++;
}
}
if($rater_ip_vote_count > ($rater_ip_vote_qty - 1)){
$rater_msg=$rater_already_rated_msg;
}else{
fwrite($rater_file,$rater_rating."|".$rater_ip.$rater_end_of_line_char);
$rater_msg=$rater_thankyou_msg;
}
}else{
fwrite($rater_file,$rater_rating."|".$rater_ip.$rater_end_of_line_char);
$rater_msg=$rater_thankyou_msg;
}
}else{
fwrite($rater_file,$rater_rating."|".$rater_ip.$rater_end_of_line_char);
$rater_msg=$rater_thankyou_msg;
}
fclose($rater_file);
}else{
$rater_msg=$rater_not_selected_msg;
}
}

// Get current rating
if(is_file($rater_filename)){
$rater_file=fopen($rater_filename,"r");
$rater_str="";
$rater_str = fread($rater_file, 1024*8);
if($rater_str!=""){
$rater_data=explode($rater_end_of_line_char,$rater_str);
$rater_votes=count($rater_data)-1;
$rater_sum=0;
foreach($rater_data as $d){
$d=explode("|",$d);
$rater_sum+=$d[0];
}
$rater_rating=number_format(($rater_sum/$rater_votes), 2, '.', '');
}
fclose($rater_file);
}else{
$rater_file=fopen($rater_filename,"w");
fclose($rater_file);
}

// Assign star image
if ($rater_rating <= 0 ){$rater_stars = "./img/00star.gif";$rater_stars_txt="Not Rated";}
if ($rater_rating >= 0.5){$rater_stars = "./img/05star.gif";$rater_stars_txt="0.5";}
if ($rater_rating >= 1 ){$rater_stars = "./img/1star.gif";$rater_stars_txt="1";}
if ($rater_rating >= 1.5){$rater_stars = "./img/15star.gif";$rater_stars_txt="1.5";}
if ($rater_rating >= 2 ){$rater_stars = "./img/2star.gif";$rater_stars_txt="2";}
if ($rater_rating >= 2.5){$rater_stars = "./img/25star.gif";$rater_stars_txt="2.5";}
if ($rater_rating >= 3 ){$rater_stars = "./img/3star.gif";$rater_stars_txt="3";}
if ($rater_rating >= 3.5){$rater_stars = "./img/35star.gif";$rater_stars_txt="3.5";}
if ($rater_rating >= 4 ){$rater_stars = "./img/4star.gif";$rater_stars_txt="4";}
if ($rater_rating >= 4.5){$rater_stars = "./img/45star.gif";$rater_stars_txt="4.5";}
if ($rater_rating >= 5 ){$rater_stars = "./img/5star.gif";$rater_stars_txt="5";}


// Output
echo '<div class="hreview">';
echo '<form method="post" action="'.$_SERVER["PHP_SELF"].'">';
echo '<h3 class="item">Rate <span class="fn">'.$rater_item_name.'</span></h3>';
echo '<div>';
echo '<span class="rating"><img src="'.$rater_stars.'?x='.uniqid((double)microtime()*1000000,1).'" alt="'.$rater_stars_txt.' stars" /> Ave. rating: '.$rater_stars_txt.'</span> from <span class="reviewcount"> '.$rater_votes.' votes</span>.';
echo '</div>';
echo '<div>';
echo '<label for="rate5_'.$rater_id.'"><input type="radio" value="5" name="rating_'.$rater_id.'[]" id="rate5_'.$rater_id.'" />Excellent</label>';
echo '<label for="rate4_'.$rater_id.'"><input type="radio" value="4" name="rating_'.$rater_id.'[]" id="rate4_'.$rater_id.'" />Very Good</label>';
echo '<label for="rate3_'.$rater_id.'"><input type="radio" value="3" name="rating_'.$rater_id.'[]" id="rate3_'.$rater_id.'" />Good</label>';
echo '<label for="rate2_'.$rater_id.'"><input type="radio" value="2" name="rating_'.$rater_id.'[]" id="rate2_'.$rater_id.'" />Fair</label>';
echo '<label for="rate1_'.$rater_id.'"><input type="radio" value="1" name="rating_'.$rater_id.'[]" id="rate1_'.$rater_id.'" />Poor</label>';
echo '<input type="hidden" name="rs_id" value="'.$rater_id.'" />';
echo '<input type="submit" name="rate'.$rater_id.'" value="Rate" />';
echo '</div>';
if($rater_msg!="") echo "<div>".$rater_msg."</div>";
echo '</form>';
echo '</div>';

?>

Читать больше
Размещено От Francesco A.
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator

... il file rater.php ...rinominalo provvisoriamente raterX.php

... e dovrebbe congelarsi la situazione...

... quando vorrai riattivarlo, lo rinomini togliendo la X 

... oppure, con lo stesso criterio, rinominare test.php

... almeno credo che basterebbe  fare così...

... 

.. prova e fai sapere...

.

ciao



Читать больше
Размещено От  ‪ KolAsim ‪ ‪
Francesco A.
Francesco A.
User
Автор

Ho provato a rinominare il file rater ma da un messaggio di warning

Читать больше
Размещено От Francesco A.
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator

... prova a rinominare con test.php in testX.php

(purtroppo io non sono in condizioni di provare)

... in alternativa, ...vedendo i codice che hai postato, in alto si trova:

 $rater_ip_vote_count++;

... che dovrebbe incrementare di (1) partendo dal valore dichiarato prima,  (0)...

... quindi per non incrementare basterebbe togliere il (++):

$rater_ip_vote_count;

...

... prova, e per curiosità fammelo sapere...

.

ciao



Читать больше
Размещено От  ‪ KolAsim ‪ ‪
Francesco A.
Francesco A.
User
Автор

Ho provato a togliere ++ ma in questo modo mi permettere di votare in continuazione la foto senza avvisarmi che ho già votato.

Читать больше
Размещено От Francesco A.
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator

... pensavo che volevi inibire il risultato; ...ho frainteso...

... così come è adesso, in origine,  la ri-votazione è già inibita...

... però mi viene il dubbio di non aver capito...

.

ciao

Читать больше
Размещено От  ‪ KolAsim ‪ ‪
Francesco A.
Francesco A.
User
Автор

Ti spiego meglio...vorrei che i voti già acquisiti continuassero ad essere visibili ma vorrei togliere la possibilità a tutti di contianuare a votare, magari togliendo il tasto RATE. Trattandosi di un concorso fotografico con una scadenza, dopo la scadenza del termine deve essere preclusa agli utenti la possibilità di votare ancora.

Читать больше
Размещено От Francesco A.
 lemonsong  
 lemonsong  
User
Francesco A.
[...] magari togliendo il tasto RATE. [...]

Puoi provare con questo CSS:

<style>
.hreview label, .hreview input{
display:none;
}
</style>

Rimarranno stelle, media e voti ricevuti.

_______ oltre il 5° step ________

http://www.unofficialwsx5.com

Читать больше
Размещено От  lemonsong  
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator

... se nella pagina ci fossero solo quegli input e label, per eliminarli tutti potresti usare:

<style>input, label{display:none}</style>

... da inserire il Prorietà |Esperto | HEAD ...da provare; ...poi non saprei...

.

Читать больше
Размещено От  ‪ KolAsim ‪ ‪
Francesco A.
Francesco A.
User
Автор

scusate ma dove lo devo inserire? Nella proprietà della pagina dove ci sono le foto con i voti?

Читать больше
Размещено От Francesco A.
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator

... io non ho il programma, ma il percorso è quello detto prima...

... al Passo_2 selezioni la pagina e vai nel menu Proprietà della Pagina...

.

Читать больше
Размещено От  ‪ KolAsim ‪ ‪