Erstelle für ein Content-Management-System (CMS) ein Modul, welches eine Umfrage realisiert. Der Webmaster des CMS soll im laufenden Betrieb über eine Eingabemaske Umfragen erstellen und bearbeiten können.
Eine Umfrage besteht aus einem Titel und maximal fünf Auswahlmöglichkeiten. Der Titel findet sich in einer Textdatei, die Auswahlmöglichkeiten in einer Datenbank.
titel.txt) und gib in die Datei den Titel einer Umfrage ein.| auswahl | varchar(50) |
| zaehler | varchar(4) |
Erstelle eine PHP-Datei namens backend.php, in der der Webmaster die Umfrage aktualisieren bzw. durch eine neue Umfrage mit zurückgesetzten Zählern ersetzen kann, mit folgenden Feldern:
backend.php sollen die geänderten Eingaben gespeichert werden.titel.txt geschrieben, die Auswahl-möglichkeiten und die Anzahl werden in der Datenbank aktualisiert. (Beachte: Es können auch Auswahloptionen freigelassen werden, wenn sich der Webmaster entscheidet z.B. nur drei Optionen anzugeben.)abstimmung.php.ergebnis.php) angezeigt:Nach getätigter Umfrage soll eine Darstellung der Online-Umfrage am Bildschirm ausgegeben werden.
<html> <head> <title></title> </head> <body text="#FFFFFF" bgcolor="#2F2F2F" link="##0060FF" alink="#FFFFFF" vlink="##0060FF"> <div align="center"><h1>Bearbeiten der Umfrage</h1></div> <hr> <?php if (isset($_POST["senden"])) { echo "<h3>Die Änderungen wurden gespeichert!</h3>\n<hr>\n\n"; $titel=$_POST["titel"]; $file=fopen("titel.txt", "w"); fputs($file, $titel); fclose($file); include("config.inc.php"); for ($i=1; $i<=5; $i++) { $o=$_POST["option$i"]; $a=$_POST["anzahl$i"]; $sql="UPDATE $tabelle SET auswahl='$o', anzahl='$a' WHERE id=$i;"; $result=mysql_query($sql); } mysql_close($verbindung); } $file=fopen("titel.txt", "r"); $titel=fgets($file); fclose($file); ?> <form action="backend.php" method="POST"> Titel der Umfrage: <input type="Text" name="titel" value="<?php echo $titel; ?>" size="70"><br><br> <?php include("config.inc.php"); $sql="SELECT * FROM $tabelle;"; $result=mysql_query($sql); for ($i=1; $i<=5; $i++) { $option=mysql_result($result, $i-1, 1); $count=mysql_result($result, $i-1, 2); if($option=="") $count=""; echo "Option $i: <input type=\"Text\" name=\"option$i\" value=\"$option\" size=\"50\" maxlength=\"50\">"; echo " Anzahl: <input type=\"Text\" name=\"anzahl$i\" value=\"$count\" size=\"4\" maxlength=\"50\"><br>\n"; } mysql_close($verbindung); ?> <br> <input type="Submit" name="senden" value="Speichern"> <input type="reset"> </form> </body> </html>
<html> <head> <title></title> </head> <body text="#FFFFFF" bgcolor="#2F2F2F" link="##0060FF" alink="#FFFFFF" vlink="##0060FF"> <div align="center"><h1>Umfrage</h1></div> <hr> <?php $file=fopen("titel.txt", "r"); $titel=fgets($file); fclose($file); echo "<h3>$titel</h3>"; echo "<form action=\"ergebnis.php\" method=\"POST\">\n"; include("config.inc.php"); $sql="SELECT * FROM $tabelle WHERE auswahl!='';"; $result=mysql_query($sql); $count=mysql_num_rows($result); for ($i=0; $i<$count; $i++) { $id=mysql_result($result, $i, 0); $auswahl=mysql_result($result, $i, 1); echo "<input type=\"radio\" name=\"auswahl\" value=\"$id\"> $auswahl<br>\n"; } ?> <br> <input type="Submit" name="senden" value="Abstimmen"> </form> <a href="ergebnis.php">Zum Ergebnis</a> </body> </html>
<html> <head> <title></title> </head> <body text="#FFFFFF" bgcolor="#2F2F2F" link="##0060FF" alink="#FFFFFF" vlink="##0060FF"> <div align="center"><h1>Ergebnis</h1></div> <hr> <?php include("config.inc.php"); if (isset($_POST["senden"])) { $id=$_POST["auswahl"]; $sql="SELECT anzahl FROM $tabelle WHERE id=$id;"; $result=mysql_query($sql); $stimmen=mysql_result($result, 0, 0)+1; $sql="UPDATE $tabelle SET anzahl=$stimmen WHERE id=$id"; $result=mysql_query($sql); } $file=fopen("titel.txt", "r"); $titel=fgets($file); fclose($file); echo "<h3>$titel</h3>"; $sql="SELECT * FROM $tabelle WHERE auswahl!='';"; $result=mysql_query($sql); $count=mysql_num_rows($result); $alle=0; $max=0; for ($i=0; $i<$count; $i++) { $alle=$alle+mysql_result($result, $i, 2); if (mysql_result($result, $i, 2)>$max) $max=mysql_result($result, $i, 2); } echo "<br>Es wurden <b>$alle Stimmen</b> abgegeben!<br><br>\n\n"; for ($i=0; $i<$count; $i++) { $auswahl=mysql_result($result, $i, 1); $stimmen=mysql_result($result, $i, 2); $p=round((($stimmen/$alle)*100), 1); $p2=round(($stimmen/$max)*150); echo "<b>$auswahl</b><br>\n<i>$stimmen Stimmen ($p %)</i><br><img src=\"$i.gif\" width=\"$p2\" height=\"8\"><br><br>\n\n"; } ?> <a href="abstimmung.php">Zurück zur Abstimmung</a> </body> </html>