Hallo,
ich hab mir gestern eine Umfrage mit php auf meine Homepage gebaut. Jetzt würde ich gern noch eine zweite Umfrage dazu machen. Die soll am bessten auf die gleiche seite.
Der Code sieht folgendermasen aus:
<!DOCTYPE [url=http://www.computerhilfen.de/fachbegriffe-h-HTML.html][b]HTML[/b][/url] PUBLIC "-//W3C//DTD [url=http://www.computerhilfen.de/fachbegriffe-h-HTML.html][b]HTML[/b][/url] 4.0 Transitional//EN">
<html>
<head>
<title>Voting (Maps)</title>
<style type="text/css">
<!--
body, td, p {
color:green;
}
form {
margin-top:0px;
margin-bottom:0px;
margin-left:0px;
margin-right:0px;
margin:0px;
}
#spacebar {
background:#cccccc;
}
//-->
</style>
</head>
<body>
<table border=1 cellspacing=1 cellpadding=0 width=160>
<tr><td>
<table border=0 cellspacing=0 cellpadding=2 width="100%"><tr>
<td><center><b>Voting (Maps)</b></center></td>
</tr></table>
</td></tr>
<tr><td>
<table border=0 cellspacing=0 cellpadding=0 width="100%"><tr>
<td> </td>
<td>
<?php
// *** START EINSTELLUNGEN ***
// *** Transparente, 1x1 Pice große GIF-Datei für Abstände ***
$space_gif="space1.gif";
// *** Speicherort der poll-Daten ***
$data_file="Maps.dat";
// *** Datei zur Speicherung der letzten IP-Adresse ***
// *** Falls nicht angegeben, wird die IP-Adresse nicht geprüft! ***
$lastip_file="Maps_lastip.dat"; "Maps_lastip.dat";
// *** Maximale Breite der Balkengrafik ***
$bar_width=147;
// *** Bilder für die Balkengrafiken ***
$bar=array();
$bar[0]="poll0.gif";
$bar[1]="poll1.gif";
$bar[2]="poll2.gif";
$bar[3]="poll3.gif";
$bar[4]="poll4.gif";
$bar[5]="poll5.gif";
$bar[6]="poll6.gif";
$bar[7]="poll7.gif";
$bar[8]="poll0.gif";
$bar[9]="poll1.gif";
$bar[10]="poll2.gif";
$bar[11]="poll3.gif";
$bar[12]="poll4.gif";
$bar[13]="poll5.gif";
$bar[14]="poll6.gif";
$bar[15]="poll7.gif";
$bar[16]="poll0.gif";
// *** Text ***
$vote_text="Which Map is our best?";
// *** Titel der Punkte ***
$data=array();
$data[0]="Antartica";
$data[1]="Artifact";
$data[2]="Beiruit";
$data[3]="Block Party";
$data[4]="BootHill";
$data[5]="Container";
$data[6]="Crows Nest";
$data[7]="Cycle Garden + Snow House";
$data[8]="Floaters";
$data[9]="Floaters II";
$data[10]="FloodZone";
$data[11]="Java";
$data[12]="Kaapstaad";
$data[13]="Knife-Fight Map";
$data[14]="Slayer's map";
$data[15]="SnowBase (New Vehicle)";
$data[16]="TalibanFort";
// *** Initialisierung der Werte
// (Anzahl muss mit jenen aus dem $data-Array übereinstimmen! ***
$values=array(0,0,0,0,0,0,0,0,0,0,0,0,0,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>Failure:</b><br>\n";
echo "You have already voted!<br>\n";
echo "<img src=\"".$space_gif."\" width=1 height=6 border=0><br>\n";
}else if(!$_POST['vote']){
echo "<b>Failure:</b><br>\n";
echo "Please choose one map!<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>Thanks</b> for your voting!<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]." votes".$s." (".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']."\">Back to voting</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=\"Vote\"></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\">Show results</a></center>\n";
}
echo "<img src=\"".$space_gif."\" width=1 height=2 border=0><br>\n";
?>
</tr></table>
</td></tr></table>
</body>
</html>
Das ganze binde ich auf eine Seite ein, indem ich den code benutze:<?PHP
include ( 'Maps.php' );
?>
Soweit funktiomiert das auch noch.Dann mache ich meine zweite Umfrage. Ich kopiere alle Dateien und schreibe alles von Maps in Player um. Funktiont so weit auch noch. Aber sobald ich beide Umfragen auf eine Seite pack,:
<?PHP
include ( 'Maps.php' );
?>
<?PHP
include ( 'Player.php' );
?>
kommen 2 Probleme auf:1.: Die beiden Umfragen sind untereinander, ich hätte sie allerdings gern nebeneinander.
2.: Wenn ich bei der zweiten Umfrage vote bzw. mir die resultate anschaue, kommen die ergebnisse von der ersten Umfrage, obwohl ich extra alle Dateien kopiert und Umbennat habe.
Wie kann ich die Probleme beheben??