Nur eine Umfrage ist abstimmbar

Rage of Gods

Newbie
Registriert
Mai 2007
Beiträge
1
Hallo!
Ich bin neu hier im Forum, denke aber mal das ich mit meinem Post hier richtig bin!! Ich bin gut in php, html, java script und ich mysql, allerdings nicht allwissend!!

Mein Problem ist:
Ich habe auf meiner Homepage 2 Umfragen auf der gleichen Seite die beide gleich aufgebaut sind...
Umfrage 1:
Code:
<table border=1 cellspacing=1 cellpadding=0 width=160 align="left">
<tr><td>
<table border=0 cellspacing=0 cellpadding=2 width="100%" align="left"><tr>
<td><center><b>Umfrage 1</b></center></td>
</tr></table>
</td></tr>
<tr><td>
<table border=0 cellspacing=0 cellpadding=0 width="100%" align="left"><tr>
<td>&nbsp;</td>
<td>


<?php
// *** START EINSTELLUNGEN ***

// *** Transparente, 1x1 Pice große GIF-Datei für Abstände ***
$space_gif="umfrage/space1.gif";

// *** Speicherort der poll-Daten ***
$data_file="umfrage/poll.dat";

// *** Datei zur Speicherung der letzten IP-Adresse ***
// *** Falls nicht angegeben, wird die IP-Adresse nicht geprüft! ***
$lastip_file="umfrage/ip.txt"; //"poll_lastip.dat";

// *** Maximale Breite der Balkengrafik ***
$bar_width=147;

// *** Bilder für die Balkengrafiken ***
$bar=array();
$bar[0]="umfrage/poll0.gif";
$bar[1]="umfrage/poll1.gif";
$bar[2]="umfrage/poll2.gif";
$bar[3]="umfrage/poll3.gif";
$bar[4]="umfrage/poll4.gif";
$bar[5]="umfrage/poll5.gif";
$bar[6]="umfrage/poll6.gif";
$bar[7]="umfrage/poll7.gif";

// *** Text ***
$vote_text="Wie findest du das Design (Layout) dieser Homepage?";

// *** Titel der Punkte ***
$data=array();
$data[0]="Sehr gut!";
$data[1]="Gut";
$data[2]="Geht so";
$data[3]="Schlecht!";

// *** Initialisierung der Werte
//     (Anzahl muss mit jenen aus dem $data-Array übereinstimmen! ***
$values=array(0,0,0,0);

// *** Wenn TRUE, wird nach erfolgreicher Stimmabgabe automatisch das
//     Ergebnis angezeigt, sonst wird wieder die Stimmabgabe angezeigt ***
$show_auto_result=true;

// *** ENDE EINSTELLUNGEN ***

echo "<img src=\"".$space_gif."\" width=1 height=1 border=0><br>\n";
echo $vote_text."<br>\n";
echo "<img src=\"".$space_gif."\" width=1 height=6 border=0><br>\n";
echo "<form action=\"".$_SERVER['PHP_SELF']."?action=vote\" method=\"POST\">\n";

if($_GET['action']=="vote"){
  // *** Werte einlesen ***
  $fp=@fopen($data_file,"r");
  if($fp){
    $line=fgets($fp,1000);
    fclose($fp);
    $values=explode("|",$line);
  }
  $allvals=0;
  foreach($values as $v){
    $allvals+=$v;
  }

  // *** Letzte IP-Adresse einlesen und mit aktueller vergleichen ***
  if($lastip_file){
    $fp=@fopen($lastip_file,"r");
    if($fp){
      $lip=trim(fgets($fp,1000));
      fclose($fp);
    }
    if($lip==trim($_SERVER['REMOTE_ADDR']."|".$_SERVER['HTTP_X_FORWARDED_FOR'])) $iperr=true;
  }
  if($iperr){
    echo "<b>Fehler:</b><br>\n";
    echo "Du hast Deine Stimme bereits abgegeben!<br>\n";
    echo "<img src=\"".$space_gif."\" width=1 height=6 border=0><br>\n";
  }else if(!$_POST['vote']){
    echo "<b>Fehler:</b><br>\n";
    echo "Bitte wähle einen Punkt aus!<br>\n";
    echo "<img src=\"".$space_gif."\" width=1 height=6 border=0><br>\n";
  }else{
    $values[$_POST['vote']-1]++;
    $line=implode("|",$values);
    $fp=@fopen($data_file,"w+");
    if($fp){
      flock($fp,2);
      fputs($fp,$line);
      flock($fp,3);
      fclose($fp);
    }
    // *** Letzte IP-Adresse speichern, um eine doppelte Stimmabgabe zu verhindern ***
    if($lastip_file){
      $fp=@fopen($lastip_file,"w+");
      if($fp){
        flock($fp,2);
        fputs($fp,trim($_SERVER['REMOTE_ADDR']."|".$_SERVER['HTTP_X_FORWARDED_FOR']));
        flock($fp,3);
        fclose($fp);
      }
    }
    echo "<b>Danke</b> für Deine Teilnahme!<br>\n";
    echo "<img src=\"".$space_gif."\" width=1 height=6 border=0><br>\n";
    if($show_auto_result) $_GET['action']="result";
  }
}

if($_GET['action']=="result"){
  // *** Werte einlesen ***
  $fp=@fopen($data_file,"r");
  if($fp){
    $line=fgets($fp,1000);
    fclose($fp);
    $values=explode("|",$line);
  }
  $allvals=0;
  foreach($values as $v){
    $allvals+=$v;
  }

  foreach($values as $v){
    if(($v) && ($allvals))
      if((100/$allvals)*$v>$maxval) $maxval=(100/$allvals)*$v;
  }
  echo "<table border=0 cellspacing=0 cellpadding=0 width=".$bar_width."><tr>";
  echo "<td id=spacebar><img src=\"".$space_gif."\" width=1 height=1 border=0></td>";
  echo "</tr></table>\n";
  echo "<img src=\"".$space_gif."\" width=1 height=3 border=0><br>\n";
  for($i=0;$i<count($data);$i++){
    echo "<nobr><b>".$data[$i]."</b></nobr><br>\n";
    if($values[$i]==1) $n=""; else $n="n";
    if($allvals) $w=(100/$allvals)*$values[$i];
    if($maxval) $mv=$bar_width/$maxval;
    echo "<i>".$values[$i]." Stimme".$n." (".number_format($w,2)." %)</i><br>\n";
    echo "<img src=\"".$space_gif."\" width=1 height=1 border=0><br>\n";
    echo "<img src=\"".$bar[$i]."\" width=".round($w*$mv)." height=8 border=0><br>\n";
    echo "<img src=\"".$space_gif."\" width=1 height=3 border=0><br>\n";
    echo "<table border=0 cellspacing=0 cellpadding=0 width=".$bar_width."><tr>";
    echo "<td id=spacebar><img src=\"".$space_gif."\" width=1 height=1 border=0></td>";
    echo "</tr></table>\n";
    echo "<img src=\"".$space_gif."\" width=1 height=3 border=0><br>\n";
  }
  echo "<center><a href=\"".$_SERVER['PHP_SELF']."\">Zurück zur Abstimmung</a></center>\n";
}else{
  for($i=0;$i<count($data);$i++){
    echo "<input type=\"radio\" name=\"vote\" value=\"".($i+1)."\"><nobr>".$data[$i]."</nobr><br>\n";
  }
  echo "<img src=\"".$space_gif."\" width=1 height=6 border=0><br>\n";
  echo "<center><input type=\"submit\" name=\"submit\" value=\"Abstimmen\"></center>\n";
  echo "<form>\n";
  echo "<img src=\"".$space_gif."\" width=1 height=3 border=0><br>\n";
  echo "<center><a href=\"".$_SERVER['PHP_SELF']."?action=result\">Ergebnisse anzeigen</a></center>\n";
}

echo "<img src=\"".$space_gif."\" width=1 height=2 border=0><br>\n";
?>



</tr></table>
</td></tr></table>

Umfrage 2 ist in etwa genauso bis auf folgende Unterschiede:
Code:
$data_file="umfrage/poll2.dat";
Code:
$lastip_file="umfrage/ip2.txt"; //"poll_lastip.dat";
Code:
$values=array(0,0,0,0,0,0,0);

Und ich habe natürlich eine andere Umfrage... Mit 7 antwortmöglichkeiten!!
Ich habe poll2.dat und ip2.txt natürlich hochgeladen.
Mein Problem ist, dass wenn man bei der einen Umfrage schon abgestimmt hat, man bei der anderen nichtmehr abstimmen kann... Wie kann ich das verhindern??
Außerdem, wenn ich auf Ergebnis anzeigen klicke wird bei Umfrage 2 auch das ergebnis angezeigt... Wie kann ich das verhindern?

Freue mich über Antworten!
MfG Rage of Gods
 
Kanns sein dass was da eingegeben wird bei beiden Polls ausgeführt wird? Ich denk mal dass die Variablen den gleichen Namen haben...
 
Zurück
Oben