WebSite X5Help Center

 
Francesco A.
Francesco A.
User

Sistema di votazione  it

Autore: Francesco A.
Visite 1778, Followers 1, Condiviso 0  
Parole Chiave: galleria,immagini,voto

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

Postato il
15 RISPOSTE - 1 CORRETTO
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...

Leggi di più
Postato il da Mirko Boschetti
Francesco A.
Francesco A.
User
Autore

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?

Leggi di più
Postato il da Francesco A.
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator

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

.

Leggi di più
Postato il da  ‪ KolAsim ‪ ‪
Francesco A.
Francesco A.
User
Autore

...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>';

?>

Leggi di più
Postato il da 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



Leggi di più
Postato il da  ‪ KolAsim ‪ ‪
Francesco A.
Francesco A.
User
Autore

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

Leggi di più
Postato il da 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



Leggi di più
Postato il da  ‪ KolAsim ‪ ‪
Francesco A.
Francesco A.
User
Autore

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

Leggi di più
Postato il da 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

Leggi di più
Postato il da  ‪ KolAsim ‪ ‪
Francesco A.
Francesco A.
User
Autore

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.

Leggi di più
Postato il da 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

Leggi di più
Postato il da  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...

.

Leggi di più
Postato il da  ‪ KolAsim ‪ ‪
Francesco A.
Francesco A.
User
Autore

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

Leggi di più
Postato il da 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...

.

Leggi di più
Postato il da  ‪ KolAsim ‪ ‪