ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Manche User können nicht abstimmen

Geschlossen
  1. #1
    User Pic
    =NMgC=HerHde Mitglied
    Registriert seit
    08.07.2008
    Beiträge
    42
    Beitragswertungen
    0 Beitragspunkte
    Ich habe das Problem, dass MANCHE Member nicht abstimmen können. Mit dem Recht und Spezialrang dürfte es nicht zusammenhängen, das habe ich getestet.

    Ich habe auch eine Mod gezogen, doch es funktioniert nicht (mehr). Es hat mal funktioniert, doch ich weiß nicht, warum es jetzt nicht klappt.
    Meldung: Du hast leider nicht die nötigen Rechte... :-S

    Ich habe "Zugriff auf nicht im Menü verlinkte Module für alle?" Mit ja abgeharkt.

    Installierte Mod: Erweiterte Umfrage 1.4

    Ich habe folgende Felder in der Tabelle polls:
    poll_id   	 frage   	 recht   	 stat   	 text   	 user_rechte   	 groups   	 view   	 exptime   	 answers

    Hier ist der Quellcode meiner vote.php:
    
    <?php
    #   Copyright by: Manuel Staechele
    #   Support: www.ilch.de
    #   Modified by Mairu -> Erweiterte Umfrage 1.3
    #   include/contents/vote.php
    
    
    defined ('main') or die ( 'no direct access' );
    
    
    
    
    //-----------------------------------------------------------|
    
    
    ##
    ###
    ####
    ##### ins vote
    $um = $menu->get(1);
    $info = '';
    if ($menu->getA(1) == 'W') {
    
    
    	  $poll_id = escape ($menu->getE(1), 'integer');
    		$fraRow = db_fetch_object(db_query("SELECT * FROM prefix_poll WHERE poll_id = '".$poll_id."'"));
        $vote = true;
    
    	  if ($fraRow->answers <= 1) {
          $radio = ' = '.escape ($_POST['radio'], 'integer');
        } else {
          if ($fraRow->answers < count($_POST['radio'])) {
            $vote = false;
            $info = '<span style="color:red; font-size: 16px; font-weight:bold;">Es sind maximal '.$fraRow->answers.' Antworten m&ouml;glich</span><br />';
          } else {
            $radio = ' IN (';
            foreach ($_POST['radio'] as $k => $v) {
              $radio .= escape($_POST['radio'][$k],'integer').',';
            }
            $radio = substr($radio,0,-1).')';
          }
        }
    
    
        if ($fraRow->exptime != 0 AND $fraRow->exptime < time()) {
          db_query("UPDATE `prefix_poll` SET stat = 0 WHERE poll_id = $poll_id");
        } elseif ($vote) {
          $textAr = explode('#',$fraRow->text);
      	  if ($fraRow->recht == 2) {
      		  $inTextAr = $_SESSION['authid'];
      		} elseif ($fraRow->recht == 1) {
      		  $inTextAr = $_SERVER['REMOTE_ADDR'];
      		}
      		if ( !in_array ( $inTextAr , $textAr ) ) {
      			$textAr[] = $inTextAr;
      		  $textArString = implode('#',$textAr);
            db_query('UPDATE `prefix_poll` SET text = "'.$textArString.'" WHERE poll_id = "'.$poll_id.'"');
      		  db_query('UPDATE `prefix_poll_res` SET res = res + 1 WHERE poll_id = "'.$poll_id.'" AND sort '.$radio) or die (mysql_error());
      		}
    		}
    }
    
    ##
    ###
    ####
    ##### V o t e    Ü b e r s i c h t
    
    $title = $allgAr['title'].' :: '.$lang['vote'];
    $hmenu = $lang['vote'];
    $design = new design ( $title , $hmenu );
    $design->header();
    echo $info;
    
    ?>
    <table width="100%" cellpadding="2" cellspacing="1" border="0" class="border">
      <tr class="Chead">
        <td><b><?php $lang['vote']; ?></b></td>
      </tr>
    
    <?php
    
    $breite = 200;
    if ($_SESSION['authright'] <= -1 ) {
    	  $woR = '>= "1"';
    } else {
    	  $woR = '= "1"';
    }
    $limit = 5;  // Limit
    $zaehler = 0;
    $page = ( $menu->getA(1) == 'p' ? $menu->getE(1) : 1 );
    $MPL = db_make_sites ($page , '' , $limit , "?vote" , 'poll' );
    $anfang = ($page - 1) * $limit;
    $class = '';
    $erg = db_query('SELECT * FROM `prefix_poll` ORDER BY stat DESC, poll_id DESC LIMIT '.$anfang.',10000000');
    while ($zaehler < $limit AND $fraRow = db_fetch_object($erg)) {
    
    	$maxRow = db_fetch_object(db_query('SELECT MAX(res) as res FROM `prefix_poll_res` WHERE poll_id = "'.$fraRow->poll_id.'"'));
    	$gesRow = db_fetch_object(db_query('SELECT SUM(res) as res FROM `prefix_poll_res` WHERE poll_id = "'.$fraRow->poll_id.'"'));
    	$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'];
    		}
    
    
        if ($fraRow->user_rechte == '') $fraRow->user_rechte = '0123456789';
    		if (!empty($fraRow->groups)) {
          $votegroups = explode('#', $fraRow->groups);
    		  foreach ($_SESSION['authgrp'] as $id => $authgroup) if (in_array($id, $votegroups)) $abstimmen = true;
    		  if (strpos($fraRow->user_rechte,''.abs($_SESSION['authright'])) === false) $abstimmen = false;
        }
        elseif (strpos($fraRow->user_rechte,''.abs($_SESSION['authright'])) !== false) $abstimmen = true;
        else $abstimmen = false;
    
        if (( in_array ( $inTextAr , $textAr ) OR $fraRow->stat == 0) OR (!$abstimmen)) {
    			$imPollArrayDrin = true;
    		} elseif ($abstimmen) {
    			$imPollArrayDrin = false;
    		}
    
        if (!$imPollArrayDrin OR $fraRow->view >= $_SESSION['authright']) {
        $zaehler++;
        echo '<tr><td class="Cdark"><b>'.$fraRow->frage.($fraRow->answers > 1 ? " ($fraRow->answers Antworten m&ouml;glich)" : '').'</b>';
        if ($fraRow->stat == 0 ) { echo ' (geschlossen)'; }
        elseif ($fraRow->exptime > 0) { echo ' (bis '.date('H.i \U\h\r - d.m.Y',$fraRow->exptime).')'; }
        echo '</td></tr>';
    		if ( $class == 'Cnorm' ) { $class = 'Cmite'; } else { $class = 'Cnorm'; }
    		echo '<tr><td class="'.$class.'">';
    
    		if ($imPollArrayDrin) {
    			  echo '<table width="100%" cellpadding="0">';
    		} else {
    			  echo '<form action="index.php?vote-W'.$fraRow->poll_id.'" method="POST">';
    		}
    
        $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 ) {
    	 		     if ( !empty($pollRow->res) ) {
    				      $weite = ($pollRow->res / $max) * 200;
    		 		      $prozent = $pollRow->res * 100 / $ges;
    		 		      $prozent = round($prozent,0);
    				    } else {
    		  		    $weite = 0;
    					    $prozent = 0;
    				    }
    						$tbweite = $weite + 20;
    						echo '<tr><td width="30%">'.$pollRow->antw.'</td>';
    				    echo '<td width="50%">';
                /*
                '<table width="'.$tbweite.'" border="0" cellpadding="0" cellspacing="0"></td>';
    						echo '<tr><td width="10" height="10"></td>';
    						echo '<td width="'.$weite.'" background="include/images/vote/voteMitte.jpg" alt=""></td>';
    						echo '<td width="10"><img src="include/images/vote/voteRight.jpg" alt=""></td>';
    						echo '</tr></table>';*/
                echo '<div style="height: 10px; width: ' . $weite .'px; background: #3776a5 url(include/images/vote/voteMitte.png) repeat-y top left;">'.
                     '</div>';
    
                echo '<td width="10%">'.$prozent.'%</td>';
    				    echo '<td width="20%" align="right">'.$pollRow->res.'</td></tr>';
    				} else {
                $i++;
                if ($fraRow->answers <= 1) {
    			        echo '<input type="radio" id="vote'.$i.'" name="radio" value="'.$pollRow->sort.'"><label for="vote'.$i.'"> '.$pollRow->antw.'</label><br>';
    		        } else {
                  echo '<input type="checkbox" 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.'</td></tr></table>';
    		} else {
    		    echo '<p align="center"><input type="submit" value="'.$lang['formsub'].'"></p></form>';
    		}
    
        echo '</td></tr>';
        }
    }// end while
    
    echo '<tr><td class="Cdark" align="center">'. $MPL .'</td></tr></table>';
    $design->footer();
    
    ?>




    Ich hoffe auf eure Hilfe!!!


    verwendete ilchClan Version: 1.1

    betroffene Homepage: nmgc.de
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Tyrargo Mitglied
    Registriert seit
    30.01.2006
    Beiträge
    5.541
    Beitragswertungen
    7 Beitragspunkte
    die leute sollen dann man firefox benutzen oder beim internet explorer cookies von drittanbietern zulassen. daran kanns auch liegen
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    =NMgC=HerHde Mitglied
    Registriert seit
    08.07.2008
    Beiträge
    42
    Beitragswertungen
    0 Beitragspunkte
    Ne, wir benutzen zum großteil und Cookies von Drittanbitern sind erlaubt. Nix.
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten