WebSite X5Help Center

 
Francesco A.
Francesco A.
User

Sistema di votazione  it

Autor: Francesco A.
Besucht 1791, Followers 1, Geteilt 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

Gepostet am
15 ANTWORTEN - 1 KORREKT
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...

Mehr lesen
Gepostet am von Mirko Boschetti
Francesco A.
Francesco A.
User
Autor

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?

Mehr lesen
Gepostet am von Francesco A.
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator
Nutzer des Monats ESNutzer des Monats PT

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

.

Mehr lesen
Gepostet am von  ‪ KolAsim ‪ ‪
Francesco A.
Francesco A.
User
Autor

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

?>

Mehr lesen
Gepostet am von Francesco A.
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator
Nutzer des Monats ESNutzer des Monats PT

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



Mehr lesen
Gepostet am von  ‪ KolAsim ‪ ‪
Francesco A.
Francesco A.
User
Autor

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

Mehr lesen
Gepostet am von Francesco A.
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator
Nutzer des Monats ESNutzer des Monats PT

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



Mehr lesen
Gepostet am von  ‪ KolAsim ‪ ‪
Francesco A.
Francesco A.
User
Autor

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

Mehr lesen
Gepostet am von Francesco A.
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator
Nutzer des Monats ESNutzer des Monats PT

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

Mehr lesen
Gepostet am von  ‪ KolAsim ‪ ‪
Francesco A.
Francesco A.
User
Autor

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.

Mehr lesen
Gepostet am von 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

Mehr lesen
Gepostet am von  lemonsong  
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator
Nutzer des Monats ESNutzer des Monats PT

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

.

Mehr lesen
Gepostet am von  ‪ KolAsim ‪ ‪
Francesco A.
Francesco A.
User
Autor

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

Mehr lesen
Gepostet am von Francesco A.
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator
Nutzer des Monats ESNutzer des Monats PT

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

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

.

Mehr lesen
Gepostet am von  ‪ KolAsim ‪ ‪