mrpinkswife
18.01.2007, 01:18:09
Hallo,
ich habe folgendes Problem:
Es geht um ein Voting Tool, der User hat die Möglichkeiten über Checkboxen mehere Antworten auszuwählen.
(mir ist klar, dass es bei den Auswahlmöglichkeiten bad, normal, good und geht Mehrfachmeldungen Schwachsinn sind. Das sind noch Platzhalter für ausfürliche Möglichkeiten)
Der Code ist auf drei Files verteilt.
Ein File für die Eingabe:
<form action="vote.php" method="post">
<table>
<tr>
<td> <input type="checkbox" name="vote" value="0" > </td>
<td> Bad </td>
</tr>
<tr>
<td> <input type="checkbox" name="vote" value="1"> </td>
<td> Normal </td>
</tr>
<tr>
<td> <input type="checkbox" name="vote" value="2"> </td>
<td> Good </td>
</tr>
<tr>
<td> <input type="checkbox" name="vote" value="3"> </td>
<td> Geht so </td>
</tr>
<tr>
<td colspan="2"> <input type="submit" value="Submit"> </td>
</tr>
</table>
</form>
eins zum Einlesen und Einschreiben in eine Textfile:
<?
$vote = $HTTP_POST_VARS['vote'];
$filename = "txt/vote.txt";
$content = file($filename);
$array = explode("||", $content[0]);
$bad = $array[0];
$normal = $array[1];
$good = $array[2];
$geht = $array[3];
if($vote == 0) $bad = $bad + 1;
if($vote == 1) $normal = $normal + 1;
if($vote == 2) $good = $good + 1;
if($vote == 3) $geht = $geht + 1;
$insertvote = $bad."||".$normal."||".$good."||".$geht;
$fp = fopen($filename,"w");
fputs($fp,$insertvote);
fclose($fp);
header("Location: stats.php");
?>
und eins für die Ausgabe, um die Daten in verschiedenen Statistiken auszugeben:
...$filename = "txt/vote.txt";
//get content of textfile
$content = file($filename);
$array = explode("||", $content[0]);
$bad = $array[0];
$normal = $array[1];
$good = $array[2];
$geht = $array[3];
?>
Votes:
<br>
<table>
<tr>
<td width="60">Normal</td>
<td><? echo($normal); ?></td>
</tr>
<tr>
<td>Bad</td>
<td width="60"><? echo($bad); ?></td>
</tr>
<tr>
<td>Good</td>
<td width="60"><? echo($good); ?></td>
</tr>
<tr>
<td>Geht</td>
<td width="60"><? echo($geht); ?></td>
</tr>
</table>
...
Das Script funktioniert auch soweit wunderbar, solange man nur eine Checkbox ankreuzt. Sobald mehrere Checkboxen ausgewählt werden, wird nur die letzte Checkbox ausgewertet. Würde mich wirklich freuen, wenn mir geholfen werden könnte. Bin schon stundenlang auf der Suche nach einer doch einfachen Lösung.
Vielen Dank im voraus
ich habe folgendes Problem:
Es geht um ein Voting Tool, der User hat die Möglichkeiten über Checkboxen mehere Antworten auszuwählen.
(mir ist klar, dass es bei den Auswahlmöglichkeiten bad, normal, good und geht Mehrfachmeldungen Schwachsinn sind. Das sind noch Platzhalter für ausfürliche Möglichkeiten)
Der Code ist auf drei Files verteilt.
Ein File für die Eingabe:
<form action="vote.php" method="post">
<table>
<tr>
<td> <input type="checkbox" name="vote" value="0" > </td>
<td> Bad </td>
</tr>
<tr>
<td> <input type="checkbox" name="vote" value="1"> </td>
<td> Normal </td>
</tr>
<tr>
<td> <input type="checkbox" name="vote" value="2"> </td>
<td> Good </td>
</tr>
<tr>
<td> <input type="checkbox" name="vote" value="3"> </td>
<td> Geht so </td>
</tr>
<tr>
<td colspan="2"> <input type="submit" value="Submit"> </td>
</tr>
</table>
</form>
eins zum Einlesen und Einschreiben in eine Textfile:
<?
$vote = $HTTP_POST_VARS['vote'];
$filename = "txt/vote.txt";
$content = file($filename);
$array = explode("||", $content[0]);
$bad = $array[0];
$normal = $array[1];
$good = $array[2];
$geht = $array[3];
if($vote == 0) $bad = $bad + 1;
if($vote == 1) $normal = $normal + 1;
if($vote == 2) $good = $good + 1;
if($vote == 3) $geht = $geht + 1;
$insertvote = $bad."||".$normal."||".$good."||".$geht;
$fp = fopen($filename,"w");
fputs($fp,$insertvote);
fclose($fp);
header("Location: stats.php");
?>
und eins für die Ausgabe, um die Daten in verschiedenen Statistiken auszugeben:
...$filename = "txt/vote.txt";
//get content of textfile
$content = file($filename);
$array = explode("||", $content[0]);
$bad = $array[0];
$normal = $array[1];
$good = $array[2];
$geht = $array[3];
?>
Votes:
<br>
<table>
<tr>
<td width="60">Normal</td>
<td><? echo($normal); ?></td>
</tr>
<tr>
<td>Bad</td>
<td width="60"><? echo($bad); ?></td>
</tr>
<tr>
<td>Good</td>
<td width="60"><? echo($good); ?></td>
</tr>
<tr>
<td>Geht</td>
<td width="60"><? echo($geht); ?></td>
</tr>
</table>
...
Das Script funktioniert auch soweit wunderbar, solange man nur eine Checkbox ankreuzt. Sobald mehrere Checkboxen ausgewählt werden, wird nur die letzte Checkbox ausgewertet. Würde mich wirklich freuen, wenn mir geholfen werden könnte. Bin schon stundenlang auf der Suche nach einer doch einfachen Lösung.
Vielen Dank im voraus