tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
454
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    santos2k3 santos2k3 ist offline Mitglied
    Registriert seit
    Nov 2002
    Beiträge
    24
    Hi,
    bin gerade dabei, ein Privat Babe Voting System zu programmieren. In der Tabelle Bilder Habe ich noch 3 extra Spalten angefuegt (hits,points,gevotet) Hits steht selbstverstaendlich fuer die schon gezaehlten Abstimmungen, Points fuer die Punkte (von 1-6) und in gevotet werden die userids der Leute gespeichert, die schon gestimmt haben.
    Ich habe das folgendermassen vor:
    Unter jedem Bild gibts es halt die Zahlen 1-6

    PHP-Code:
    vote_babe.php?sektion=$sektion&count=1&nr=$nr <-vote 1
    vote_babe
    .php?sektion=$sektion&count=2&nr=$nr <-vote 2 
    usw...

    Die vote_babe.php sieht so aus:

    PHP-Code:
    <?
    $sqlhost
    ='';
    $username='';
    $passwort='';
    $database='';
    $table='';

    $db mysql_connect ($sqlhost,$username,$passwort);
    mysql_select_db ($database);

    $sql "SELECT * from $table where nr = '$nr'";
    $result mysql_query($sql,$db);

    while (
    $row mysql_fetch_array($result)) {
             
    $count $count;
         
    $votes $row['votes'];
         
    $points $row['points'];
         
    $gevotetold $row['gevotet'];
             
    $add $points $count;
         
    $gevotet "$gevotetold;$id";
         }
    $update "UPDATE $table set points = '$add', votes = '$votes+1' , gevotet = '$gevotet' where nr = '$nr'";
    $result2 mysql_query($update,$db);
    echo 
    "Neues Ergebnis: $gevotet<br>";
    echo 
    mysql_error();
    mysql_close($db);
    ?>
    $gevotet = "$gevotetold;2"; soll halt quasi die id's die schon in der Tabelle stehen mit einem ; trennen und die neue ID dranhaengen(34;56;102;234;usw)! Das soll doppelposts vermeiden! Jetzt komm ich zu meinem ersten Problem. Um voten zu duerfen muss man sich einloggen, habe das Login mit Sessions Tut in den Tuts hier genommen! Wie kann ich es jetzt machen, dass die $id auf JEDE Seite mit hingetragen wird, wenn man eingeloggt ist? Was mir naehmlich aufgefallen ist, dass ich nur direkt nach dem einloggen die Sessionid hinter der URL habe, wenn ich jedoch auf eine andere Seite gehe, ist sie weg. Ich kann zwar immer noch in alle pwd geschuetzten Bereiche, aber ich trag nix mehr in der URL!

    So zum schluss noch die Ausgabe auf bilder.php:

    PHP-Code:
    <?
    $sqlhost
    ='';
    $username='';
    $passwort='';
    $database='';
    $table='';


    $db mysql_connect ($sqlhost,$username,$passwort);
    mysql_select_db ($database);
    $sql "SELECT * FROM $table where sektion = '$sektion'";
    $result mysql_query($sql,$db);
        
    while (
    $row mysql_fetch_array($result)) 
        {
         
    $sektion $row['sektion'];
         
    $thumb $row['thumb'];
         
    $image $row['image'];
         
    $nr $row['nr'];
         
    $gevotet $row['gevotet'];
         
    $array explode(";",$gevotet);
         
    $points $row['points'];
         
    $votes $row['votes'];
         
    $beschreibung $row['beschreibung'];
         
    $allpoints $points/$votes;                                 
         
    $size GetImageSize ("images/gallery/".$sektion."/image/".$image."");
         
          echo 
    "<td align=\"center\"><img src=\"images/gallery/".$sektion."/thumb/".$thumb."\" width=\"150\" height=\"150\" border=\"1\" alt =\"".$beschreibung."\" onMouseUp=\"MM_openBrWindow('images/gallery/".$sektion."/image/".$image."','','width=$size[0],height=$size[1]')\"><br>";
          if (
    $sektion == babes) AND (isset($array[$id]))
         {
          echo 
    "<div id=\"tall\">";
          echo 
    "<br>$allpoints Punkte!";
          echo 
    "</div>";
         }
          else
         {
          if (
    $sektion == babes)
         {
          echo 
    "<div>";
          echo 
    "&nbsp;<a href=\"vote_babe.php?sektion=$sektion&count=1&nr=$nr&id=$id\">1</a>";
          echo 
    "&nbsp;<a href=\"vote_babe.php?sektion=$sektion&count=2&nr=$nr&id=$id\">2</a>";
          echo 
    "&nbsp;<a href=\"vote_babe.php?sektion=$sektion&count=3&nr=$nr&id=$id\">3</a>";
          echo 
    "&nbsp;<a href=\"vote_babe.php?sektion=$sektion&count=4&nr=$nr&id=$id\">4</a>";
          echo 
    "&nbsp;<a href=\"vote_babe.php?sektion=$sektion&count=5&nr=$nr&id=$id\">5</a>";
          echo 
    "&nbsp;<a href=\"vote_babe.php?sektion=$sektion&count=6&nr=$nr&id=$id\">6</a>";
          echo 
    "</div></td>";
         }
         }
         
          
    $i++;
          if (
    $i == 0) {
              echo 
    "</tr><tr>";
        }
         
        }
    mysql_close($db);
    echo 
    "</tr>";
    ?>
    Hier bekomme ich IMMER eine Fehlermeldung bei $allpoints, Division bei Null oder so aehnlich. Also das er es nicht teilen kann?
    Und natuerlich klappt es nicht mit dem checken nach der $id, weil ich sie halt nicht in meiner URL habe und weil ich nicht weiss, ob das mit dem EXPLODE richtig ist.
    Ich bedanke mich jetzt schonmal...
    MfG,
    santos
     

  2. #2
    Registriert seit
    Nov 2002
    Beiträge
    2.709
    Das Problem ist, das du wenn du den Durchschnitt ausrechnen willst, durch 0 teilen willst, wenn noch keine einträge vorhanden sind. Du musst also nur eine Abfrage schreiben, die diese Division unterdrückt wenn noch niemand abgestimmt hat
    Fragen kannste mir PM'en
     

Ähnliche Themen

  1. Suche Vote System für Joomla 1.5.15
    Von di_ettelo im Forum Content Management Systeme (CMS)
    Antworten: 0
    Letzter Beitrag: 12.03.10, 23:39
  2. Antworten: 2
    Letzter Beitrag: 02.09.05, 10:34
  3. Vote System 2.0
    Von Matthias Kannengiesser im Forum Flash Plattform
    Antworten: 42
    Letzter Beitrag: 19.05.04, 08:40
  4. Best-Body-Vote-System ;o)
    Von Eiszwerg im Forum PHP
    Antworten: 2
    Letzter Beitrag: 17.08.03, 01:32
  5. Vote System
    Von Obi_Wan im Forum PHP
    Antworten: 3
    Letzter Beitrag: 11.01.03, 13:20