tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
551
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Bloodyroar Bloodyroar ist offline Grünschnabel
    Registriert seit
    Jan 2003
    Ort
    Schweiz
    Beiträge
    2
    Hi zusammen

    Wie ihr seht, bin ich neu hier. Ich besitze ein klein bisschen PHP-Kentnisse und habe daher eine kleine Frage. Diese Script habe ich aus euren Tutorials:

    <?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;
    }

    $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\" target=\"_new\"></FORM>"; //Formularende


    ?>


    nun möchte ich es so verändern, dass am anfang nur die Auswahl für die Umfrage zur verfügung stehen. Also:

    Frage
    - Antwort 1
    - Antwort 2
    - Antwort 3

    [Vote]

    Und wenn man auf Vote gedrückt hat, kommt das ergebnis:

    Antwort 1 xx%
    Antwort 2 xx%
    Antwort 3 xx%

    Versteht ihr, was ich möchte? Ich möchte, dass nicht beides Angezeigt wird, sondern getrennt!
    Danke für eure Hilfe.
     

  2. #2
    Flo[H] Flo[H] ist offline Mitglied Brokat
    Registriert seit
    Aug 2002
    Beiträge
    399
    Das könnte über ein Cookie gehen. Du musst wenn jemand auf vote klickt ein Cookie setzen dass er gewählt hat. Bei der Ausgabe überprüfst du das Cookie und je nachdem ob schon gewählt wurde oder nicht setzt du die Ausgabe.
     
    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
    -Rich Cook

  3. #3
    Bloodyroar Bloodyroar ist offline Grünschnabel
    Registriert seit
    Jan 2003
    Ort
    Schweiz
    Beiträge
    2
    wie übernehme ich den wert, der der User gesetzt hat?
     

  4. #4
    Flo[H] Flo[H] ist offline Mitglied Brokat
    Registriert seit
    Aug 2002
    Beiträge
    399
    Ich versteh grad nicht ganz wofür du den Wert brauchst. Du brauchst das Cookie ja eigentlich nur um zu überprüfen, ob der User schon gewählt hat oder nicht. Aber man könnte die gewählte Option ja auch im Cookie mitspeichern.
     
    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
    -Rich Cook

Ähnliche Themen

  1. [SUCHE] Abitur Umfragescript
    Von Dariusch im Forum PHP
    Antworten: 22
    Letzter Beitrag: 03.09.09, 15:36
  2. [PHP] Umfragescript erstellen
    Von chris4life im Forum Stellenangebote (unentgeltlich)
    Antworten: 3
    Letzter Beitrag: 01.09.09, 11:19
  3. Umfragescript
    Von bifur81 im Forum PHP
    Antworten: 0
    Letzter Beitrag: 16.10.08, 19:30
  4. Umfragescript
    Von Mew im Forum PHP
    Antworten: 1
    Letzter Beitrag: 01.05.08, 14:06
  5. [PHP] Umfragescript: Problem
    Von acquire im Forum PHP
    Antworten: 4
    Letzter Beitrag: 05.01.04, 19:38