ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Erweiterte Umfrage 1.1

Geschlossen
  1. #1
    User Pic
    Digga Mitglied
    Registriert seit
    26.07.2011
    Beiträge
    47
    Beitragswertungen
    0 Beitragspunkte
    Hallo, ich habe mal eine frage.

    Wer findet hier den Fehler?

    Und zwar kann man immer wieder alle 24 std neu Voten, ok ich weiss es steht im script drin den ich jetzt gleich poste aber selbst wenn ich da 200 Std eintrage kann man nach 24 Std Voten...

    <?php 
    #   Copyright by Manuel Staechele
    #   Support www.ilch.de
    
    
    defined ('main') or die ( 'no direct access' );
    
    
    //-----------------------------------------------------------|
    // Vote Sperre in Stunden
    
    $stunden = 24;
    
    	$breite = 50;
    	$diftime = time() - (60 * 60 * $stunden);
    		
    	if ( has_right(-1) ) {
    	  $woR = '>= "1"';
    	} else {
    	  $woR = '= "1"';
    	}
    	
    	$fraErg = db_query('SELECT * FROM `prefix_poll` WHERE recht '.$woR.' ORDER BY poll_id DESC LIMIT 1');
     
      
    	
    	if ( db_num_rows($fraErg) > 0) {
    	
    	$fraRow = db_fetch_object($fraErg);
    	if ( $fraRow->stat == 1 ) { 
    		
    	$maxRow = db_fetch_object(db_query('SELECT MAX(res) as res FROM `prefix_poll_res` WHERE poll_id = "'.$fraRow->poll_id.'"'));
    	$gesErg = db_query('SELECT SUM(res) as res FROM `prefix_poll_res` WHERE poll_id = "'.$fraRow->poll_id.'"');
    	$gesRow = db_fetch_object($gesErg);
    	
    	
    	$max = $maxRow->res;
      $ges = $gesRow->res;
    	$textAr = explode('#',$fraRow->text);
    	
    	  if ($fraRow->recht == 2) {
    		  $inTextAr = $_SESSION['authid'];
    		} elseif ($fraRow->recht == 1) {
    		  $inTextAr = $_SERVER['REMOTE_ADDR'];
    		}
    		
    		echo '<center><b>'.$fraRow->frage.'</b></center>';
    		if ( in_array ( $inTextAr , $textAr ) OR $fraRow->stat == 0) {
    			  echo '<table width="100%" cellpadding="8">';
    		    $imPollArrayDrin = true;
    		} else {
    			  echo '<form action="index.php?vote-W'.$fraRow->poll_id.'" method="POST">';
    		    $imPollArrayDrin = false;
    		}
    		$i = 0;
        $pollErg = db_query('SELECT antw, res, sort FROM `prefix_poll_res` WHERE poll_id = "'.$fraRow->poll_id.'" ORDER BY sort');
    		while ( $pollRow = db_fetch_object($pollErg) ) {
    		    if ( $imPollArrayDrin ) {
    						echo '<tr><td>'.$pollRow->antw.'</td><td align="right">'.$pollRow->res.'</td></tr>';
    		    } else {
    			      $i++;
                echo '&nbsp;&nbsp;&nbsp;<input type="radio" id="vote'.$i.'" name="radio" value="'.$pollRow->sort.'"><label for="vote'.$i.'"> '.$pollRow->antw.'</label><br>';
    		    }
    		} 
    		if ( $imPollArrayDrin ) {
    			  echo '<tr><td colspan="2" align="right">'.$lang['whole'].': &nbsp; '.$ges.'<p><b><center><a class="box" href="index.php?vote">Alle Umfragen</a></center></b></td></tr></table>';
    		} else {
    		    echo '<p align="center"><input type="submit" value="'.$lang['formsub'].'"><p><b><center><a class="box" href="index.php?vote">Alle Umfragen</a></center></p></form>';
    		}   
    		} else {
    		  echo $lang['nowvoteavailable'];
    		}
    		} else {
    		  echo $lang['nowvoteavailable'];
    		}
    
    ?>


    oder muss da noch was bei dem
    $diftime = time() - (60 * 60 * $stunden);
    geändert werden?

    MfG

    betroffene Homepage: externer Link


    Zuletzt modifiziert von Digga am 05.09.2011 - 18:14:20
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Man bekommt nach 24 Stunden eine neue IP Adresse, und wenn man die Umfrage nicht für User einschränkt, womit die Id des Users für die Umfragespeicherung zählt, dann kann man mit einer neuen IP die man auch schneller als alle 24 Stunden erhalten kann neu abstimmen.

    Es gibt von dem Modul eine neuere Version auf meiner Seite, ich glaub da hab ich es so geschrieben, dass immer die Userid verwendet wird, wenn man ein User ist, ändert aber nix daran, dass man sich ausloggen kann und dann als Gast beliebig oft abstimmen kann, dagegen kann man nix machen.


    Zuletzt modifiziert von Mairu am 05.09.2011 - 18:28:56
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    1 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Digga Mitglied
    Registriert seit
    26.07.2011
    Beiträge
    47
    Beitragswertungen
    0 Beitragspunkte
    Alles klar habs mir Heruntergeladen, das ist richtig gute arbeit die da verrichtet wurde, vielleicht sollte man die auch hier zum Download zur verfügung stellen.

    DANKE

    MfG
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    DJ-Sweeper Mitglied
    Registriert seit
    16.04.2012
    Beiträge
    78
    Beitragswertungen
    0 Beitragspunkte
    Zitat/ändert aber nix daran, dass man sich ausloggen kann und dann als Gast beliebig oft abstimmen kann, dagegen kann man nix machen./ Zitat Ende
    Wenn man die Box/ Seite aber erst ab regestrierte Sichtbar macht sollte doch dieses kleine Problem behoben sein.
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    google.de Mitglied
    Registriert seit
    26.01.2012
    Beiträge
    352
    Beitragswertungen
    33 Beitragspunkte
    oder man schreibt ne IP Abfrage. Dann verhindert man dies bis zu dem Punkt an dem der unregistrierte sich eine neue IP zulegt. Also nach 24h oder einem Routerreset
    Kein Support per PN!
    Wenn ich zitiere ist dies KEIN Angriff auf die Person!
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Man kann mit der gleichen IP ja nur einmal abstimmen, davon abgesehen, kann man eine Umfrage ja direkt nur für User machen, dann wird auch nie die IP als Referenz benutzt, und die Umfragebox kann auch für Gäste sichtbar sein, sie können halt dann nicht abstimmen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten