xenomjay
Mitglied
Hallo Leute,
habe mir unter Anleitung ein Umfrage-Script gebastelt, aber wenn ich auf "Submit" klicke passiert gar nichts, noch nicht einmal 'ne Fehlermeldung. Die TXT-Dateien haben volle Rechte aber dort wird nichts gespeichert. Hat einer ne Idee? Danke im Voraus.
Hie der Code:
habe mir unter Anleitung ein Umfrage-Script gebastelt, aber wenn ich auf "Submit" klicke passiert gar nichts, noch nicht einmal 'ne Fehlermeldung. Die TXT-Dateien haben volle Rechte aber dort wird nichts gespeichert. Hat einer ne Idee? Danke im Voraus.
Hie der Code:
PHP:
<?PHP
function schreiben($datei,$mode) {
global $REMOTE_ADDR;
$fp = @fopen($datei,$mode);
flock($fp,2);
fwrite($fp,$REMOTE_ADDR."|".time()."\n");
flock($fp,3);
fclose($fp);
}
function ip_sperre() {
global $REMOTE_ADDR;
$reloadlogdatei = "umfrage_eli_stone_ips.txt";
$anzahleintraege = 50; // nach sovielen ip´s werden die alten gelöscht
$zeitlimit = 3600; // solange bleibt eine ip gesperrt
// prüfen ob datei existiert wenn nicht erstellen
if(!file_exists($reloadlogdatei)) {
$datei = fopen($reloadlogdatei,"w+");
fclose($datei);
}
$fp = file($reloadlogdatei);
$size = sizeof($fp);
// beschreibt die Datei, wenn Liste voll
if($size >= $anzahleintraege){
schreiben($reloadlogdatei,"w");
// Prüft, ob eine IP in der Liste steht
}
else {
$ausgabe=false;
for ($i=0;$i<$size;$i++) {
$zeile = explode("|",$fp[$i]);
if ($zeile[0] == $REMOTE_ADDR AND $zeile[1] > (time()-$zeitlimit)){
// ip wird gefunden
$ausgabe = true;
}
}
// protokolliert die ip
schreiben($reloadlogdatei,"a+");
}
return $ausgabe;
}
// ein einfacher Vote/Poll mit PHP:
// --------------------------------
// Ziel dieses Tutorials: Eine Umfrage mit PHP
// Features:
// - Speichern der Daten in einer Textdatei
// - Balken- und Anzahlanzeige des Ergebnisses
////////////////////////////////////
// erstmal ein paar Einstellungen //
////////////////////////////////////
$frage = "Soll ich die Serie Eli Stone fortsetzen?"; // Thema der Abfrage
$anzahl = 2; // Anzahl der Auswahloptionen
$option[0] = "Ja"; // Option 1
$option[1] = "Nein"; // Option 2
$farbe[0]="#0000FF"; // Farbe des 1. Balkens
$farbe[1]="#00FF00"; // Farbe des 2. Balkens
$datei = "umfrage_eli_stone.txt"; // Ergebnisdatei
//////////////////////////////////////////////////////////////////////////////////////////
// so, und hier das Script: //
// //
// zuerst oeffnen wir die Ergebnisdatei, bzw. legen diese neu an, falls nicht vorhanden //
//////////////////////////////////////////////////////////////////////////////////////////
if (file_exists($datei)) { //existiert die Datei?
$votes=file($datei); //dann in Array "$votes" einlesen
}
else { //wenn nicht
$handle = fopen($datei, "w+"); //Datei anlegen
$i=0;
for ($i; $i<$anzahl; $i++) { //fuer jede Option
fputs($handle,"0\n"); //"0" in Datei schreiben (mit Zeilenvorschub)
}
fclose($handle); //Datei wieder schliessen
$votes=file($datei); //Datei in Array "$votes" einlesen
}
//////////////////////////////////////////////////////////////////////////////////////////////////
// wurde abgestimmt? wenn ja, dann muessen wir das Ergebnis anpassen und in die Datei schreiben //
//////////////////////////////////////////////////////////////////////////////////////////////////
if (($submitvote) && (ip_sperre()==false)) {
settype($votes[$radio],"integer");
$votes[$radio]++; //entsprechende Option um eins erhoehen
$handle = fopen($datei, "w+"); //Datei oeffnen
$i=0;
for ($i; $i<$anzahl; $i++) { //fuer jede Option
settype($votes[$i],"integer");
fputs($handle,"$votes[$i]\n"); //Anzahl in Datei schreiben (mit Zeilenvorschub)
}
fclose($handle); //Datei wieder schliessen
}
////////////////////////////////////////////////////////////
// jetzt startet die Ausgabe! zuerst mal die Ueberschrift //
////////////////////////////////////////////////////////////
echo "<H4>".$frage."</H4>\n\n"; //Ueberschrift schreiben
////////////////////////////////////////
// dann das Ergebnis als Balkengrafik //
////////////////////////////////////////
$i=0;
for ($i; $i<$anzahl; $i++) { //fuer jede Option
$j=0;
echo $option[$i]." <FONT COLOR=\"".$farbe[$i]."\">"; //Option ausgeben und Farbe setzen
for($j; $j<$votes[$i]; $j++) { //fuer Anzahl der Votes
echo "|"; //je einen Strich ausgeben
}
echo " ".$votes[$i]."</FONT><BR>\n"; //Balken zu ende, also Zeilenumbruch
}
////////////////////////////////////
// am Schluss das Auswahlformular //
////////////////////////////////////
echo "<FORM ACTION=\"".$PHP_SELF."\" METHOD=\"Post\">\n"; //Formular anfangen
$i=0;
for ($i; $i<$anzahl; $i++) { //fuer jede Option
echo "<INPUT TYPE=\"radio\" NAME=\"radio\" VALUE=\"".$i."\">".$option[$i]."<BR>\n"; //Radiobutton anzeigen
}
echo "<INPUT TYPE=\"Submit\" VALUE=\"Abstimmen\" NAME=\"submitvote\"></FORM>"; //Formularende
?>