tutorials.de Buch-Aktion 02/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
2061
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    deluxe-striker deluxe-striker ist offline Mitglied Silber
    Registriert seit
    Dec 2003
    Beiträge
    72
    hiho

    ich habe das Umfrage-Script aus dem Umfrage-Tutorial genommen und so, wie es in dem Post darunter steht umgeändert, es sieht also so aus (Hier ist der Link zum Umfrage-Tutorial :

    PHP-Code:
     <?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 "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 "Wie findet Ihr meine Seite ?";  // Thema der Abfrage

    $anzahl 5;  // Anzahl der Auswahloptionen

    $option[0] = "Sehr Gut";  // Option 1
    $option[1] = "Gut";  // Option 2
    $option[2] = "Mittelmaessig";  // usw.
    $option[3] = "Schlecht";
    $option[4] = "Sehr Schlecht";

    $farbe[0]="#0000FF";  // Farbe des 1. Balkens
    $farbe[1]="#00FF00";  // Farbe des 2. Balkens
    $farbe[2]="#FF0000";  // usw.
    $farbe[3]="#FFFF00"
    $farbe[4]="#00FFFF"

    $datei "ergebnis.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 "<H1>".$frage."</H1>\n\n";  //Ueberschrift schreiben

    ////////////////////////////////////////
    // dann das Ergebnis als Balkengrafik //
    ////////////////////////////////////////

    $i=0;
    for (
    $i$i<$anzahl$i++) {  //fuer jede Option
        
    $j=0;
        echo 
    $option[$i]."&nbsp;&nbsp;&nbsp;<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 
    "&nbsp;&nbsp;&nbsp;".$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


    ?>
    Kann mir jemand helfen, dass das Ergebnis:
    1.) nicht angezeigt und stattdessen ein Text mit Danke schön oder sowas steht
    2.) automatisch anstelle der Ergebnisanzeige eine Datei aufgerufen wird?

    1 von beiden wäre schon sehr hilfreich

    danke

    cu
     

  2. #2
    shorty shorty ist offline Mitglied Brokat
    Registriert seit
    Apr 2002
    Ort
    Lübeck
    Beiträge
    330
    Original geschrieben von deluxe-striker
    hiho

    ich habe das Umfrage-Script aus dem Umfrage-Tutorial genommen und so, wie es in dem Post darunter steht umgeändert, es sieht also so aus (Hier ist der Link zum Umfrage-Tutorial :

    Kann mir jemand helfen, dass das Ergebnis:
    1.) nicht angezeigt und stattdessen ein Text mit Danke schön oder sowas steht
    2.) automatisch anstelle der Ergebnisanzeige eine Datei aufgerufen wird?

    1 von beiden wäre schon sehr hilfreich :)

    danke

    cu
    Habe dir mal das Skript umgeschrieben und auch getestet. Bei mir geht alles soweit. Ich habe einmal ein echo Befehl eingefügt, oder wenn du den nicht haben willst, auch eine Weiterlung zu einer anderen Seite (header("Location: URL");)

    such die Zeile mal im darunter eingefügtem Skript. Dort kannst du die Zeilen nach deinen Wünschen umändern.
    PHP-Code:
    ...
    echo 
    "Danke :)"// Dein "Danke"-Text
    // oder....wenn du eine neue Seite öffnen willst...
    //header("Location: http://www.tutorials.de/index.php");
    // du musst aber dann die "//" vor dem header(); wegnehmen.
    ... 
    PHP-Code:
    <?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 "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 "Wie findet Ihr meine Seite ?";  // Thema der Abfrage

    $anzahl 5;  // Anzahl der Auswahloptionen

    $option[0] = "Sehr Gut";  // Option 1
    $option[1] = "Gut";  // Option 2
    $option[2] = "Mittelmaessig";  // usw.
    $option[3] = "Schlecht";
    $option[4] = "Sehr Schlecht";

    $farbe[0]="#0000FF";  // Farbe des 1. Balkens
    $farbe[1]="#00FF00";  // Farbe des 2. Balkens
    $farbe[2]="#FF0000";  // usw.
    $farbe[3]="#FFFF00"
    $farbe[4]="#00FFFF"

    $datei "ergebnis.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 (($cn == "send") && (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
        
        
    echo "Danke :)"// Dein "Danke"-Text
        // oder....wenn du eine neue Seite öffnen willst...
        //header("Location: http://www.tutorials.de/index.php"); // du musst aber dann die "//" vor dem header(); wegnehmen.
    }

    if((
    $cn == "") || ($cn == "poll")) {
        
    ////////////////////////////////////////////////////////////
        // jetzt startet die Ausgabe! zuerst mal die Ueberschrift //
        ////////////////////////////////////////////////////////////

        
    echo "<H1>".$frage."</H1>\n\n";  //Ueberschrift schreiben

        ////////////////////////////////////////
        // dann das Ergebnis als Balkengrafik //
        ////////////////////////////////////////

        
    $i=0;
        for (
    $i$i<$anzahl$i++) {  //fuer jede Option
            
    $j=0;
            echo 
    $option[$i]."&nbsp;&nbsp;&nbsp;<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 
    "&nbsp;&nbsp;&nbsp;".$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=\"hidden\" NAME=\"cn\" VALUE=\"send\">\n";
        echo 
    "<INPUT TYPE=\"Submit\" VALUE=\"Abstimmen\" NAME=\"submitvote\"></FORM>";  //Formularende
    }


    ?>
    Viel Spaß damit ;)

    Mfg Shorty
     

Ähnliche Themen

  1. Umfrage zum tutorials.de PHP-Contest
    Von Dominik Haubrich im Forum PHP
    Antworten: 36
    Letzter Beitrag: 29.12.04, 14:41
  2. [HILFE] Umfrage
    Von phpMars im Forum Visual Basic 6.0
    Antworten: 10
    Letzter Beitrag: 23.10.02, 19:23