kostenloser Webspace werbefrei: lima-city


Vote in PHP

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    silecom

    silecom hat kostenlosen Webspace.

    Hi,

    ich bin gerade dabei ein Votescript zu schreiben. Ich habe eine Datei vote.php und eine datei write.php(zur Auswertung und Ausgabe)
    Jedoch funktioniert das nicht ganz. keine Ahnung warum nicht.

    Hier mal die vote.php:
    <table width="162" height="74" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>

    <td height="74" valign="top">
    <form name="voting" method="post" action="write.php">
    Wie gef?llt euch diese Seite?<br>
    <label>
    <input type="radio" value="1" name="vote">
    Gut</label>
    <br>
    <label>
    <input type=radio value="1" name="vote">
    Mittel</label>
    <br>
    <label>
    <input type="radio" value="1" name="vote">
    Schlecht</label>
    <br>
    <input type="submit" value="Voten">
    <a href="write.php">Ergebnis</a></p> </form></td>
    </tr>
    </table>

    Und hier die write.php:
    <?php
    $a1 = $aw1;
    $a2 = $aw2;
    $a3 = $aw3;

    //========================================================================
    if(isset($a1))
    {
    $openaw = fopen("aw1.txt", "r"); //?ffnen der Datei aw1.txt
    $aw = fread($openaw, 5); //5 Zeichen lesen
    fclose($openaw); //Schlie?t die Datei aw1.txt
    $aw++; //Die Variable $aw incrementieren
    $openaw= fopen("aw1.txt", "w"); //?ffnet die Datei im Schreib-Modus
    fwrite($openaw, $aw); //Schreibt die Variable $aw in die txt Datei
    fclose($openaw); //Schlie?t die Datei aw.txt
    } else if(isset($aw2))
    {
    $openaw = fopen("aw2.txt", "r"); //?ffnen der Datei aw2.txt
    $aw = fread($openaw, 5); //5 Zeichen lesen
    fclose($openaw); //Schlie?t die Datei aw2.txt
    $aw++; //Die Variable $aw incrementieren
    $openaw= fopen("aw2.txt", "w"); //?ffnet die Datei im Schreib-Modus
    fwrite($openaw, $aw); //Schreibt die Variable $aw in die txt Datei
    fclose($openaw); //Schlie?t die Datei aw.txt
    } else if(isset($aw3))
    {
    $openaw = fopen("aw3.txt", "r"); //?ffnen der Datei aw3.txt
    $aw = fread($openaw, 5); //5 Zeichen lesen
    fclose($openaw); //Schlie?t die Datei aw3.txt
    $aw++; //Die Variable $aw incrementieren
    $openaw= fopen("aw3.txt", "w"); //?ffnet die Datei im Schreib-Modus
    fwrite($openaw, $aw); //Schreibt die Variable $aw in die txt Datei
    fclose($openaw); //Schlie?t die Datei aw.txt
    } else
    {
    echo "Ung?tliger Vote<br>";
    }
    //================================================================
    $openaw1 = fopen("aw1.txt", "r"); //?ffnen der Datei aw1.txt
    $awe1 = fread($openaw1, 5); //5 Zeichen lesen
    //================================================================
    $openaw2 = fopen("aw2.txt", "r"); //?ffnen der Datei aw2.txt
    $awe2 = fread($openaw2, 5); //5 Zeichen lesen
    //================================================================
    $openaw3 = fopen("aw3.txt", "r"); //?ffnen der Datei aw3.txt
    $awe3 = fread($openaw3, 5); //5 Zeichen lesen
    //================================================================
    $result = $awe1 + $awe2 + $awe3;
    $p = 100;

    $p1 = (awe1 / $result) * p;
    $p2 = (awe2 / $result) * p;
    $p3 = (awe3 / $result) * p;

    echo "$p1<br>";
    echo "$p2<br>";
    echo "$p3<br>";
    ?>

    Danke im voraus!
    Zum testen geht unter http://silecom.xardas.lima-city.de/vote.php

    MfG silecom

    Beitrag ge?ndert am 22.01 13:37 von silecom
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. omg
    machs doch mit ner db das is viellllll einfacher ^^
    aber dein, auf jeden fall ein, fehler liegt im html bereich

    <form name="voting" method="post" action="write.php">

    <input type="radio" value="1" name="vote">
    Gut
    <input type=radio value="1" name="vote">
    Mittel
    <input type="radio" value="1" name="vote">
    Schlecht
    <input type="submit" value="Voten">

    er ?bergibt immer 1 als value egal was man votet!
    also ziemlicher bl?dsinn :D
    machs doch einfach mit nem einfachem link is viel einfach, da ich jetzt gerad auch nich weiss wie das richtig geht :lol:

    achja wenn du vieleicht auf ne db umsteigen willst, guck ma bei den tuts nach :D
    ich hab auch noch nen bewertungsscript so wie hier bei lima bei den tuts!
  4. Autor dieses Themas

    silecom

    silecom hat kostenlosen Webspace.

    also ein bewertungsscript hab ich auch schon. Es funktioniert sogar :) - ohne DB :biggrin:
  5. ja aber f?r unendlich sachen und durchschnitt etc.
    guck ma auf der hp von the-chaosplanet :tongue:
    unter wallpapers
  6. Autor dieses Themas

    silecom

    silecom hat kostenlosen Webspace.

    ich w?rde nur gerne wissen wie ich die daten von dem "radio" Formular in die php datei bekomme. Also bei welche Option das h?ckchen ist!
  7. also die vote.php machste so (einfach durchnummerieren die M?glichkeiten):

    <table width="162" height="74" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr>

    <td height="74" valign="top">
    <form name="voting" method="post" action="write.php">
    Wie gef?llt euch diese Seite?<br>
    <label>
    <input type="radio" value="0" name="vote">
    Gut</label>
    <br>
    <label>
    <input type=radio value="1" name="vote">
    Mittel</label>
    <br>
    <label>
    <input type="radio" value="2" name="vote">
    Schlecht</label>
    <br>
    <input type="submit" value="Voten">
    <a href="write.php">Ergebnis</a></p> </form></td>
    </tr>
    </table>

    in der write.php (hab ich grade eben f?r dich geschrieben) musste dann nur noch die Anzahl der Auswahlm?glichkeiten einstellen (die variable $auswahl) und die Namen f?r die einzelnen M?glichkeiten angeben (
    $aw[0]["name"] = "xxx";
    $aw[1]["name"] = "yyy";
    ...
    )

    also hier die datei:

    <?php
    $nz = chr(13).chr(10); //Zeilenumbruch f?r Schreiben in Datei
    $auswahl = 3; //Zahl der Auswahlen (bei Bedarf ver?nderbar)
    $datei_name = "aw.txt"; //Datei in die die Antworten gespeichert werden sollen

    if(!file_exists($datei_name)){ //Wenn die Datei nicht existiert
    $datei = fopen($datei_name,"w"); //Datei erstellen und mit schreiben ?ffnen
    for($zeile = 0;$zeile < $auswahl;$zeile++){ //F?r jede Auswahl eine Zeile mit Inhalt '0' in die Datei schreiben
    fwrite($datei,"0".$nz);
    }
    fclose($datei); //Datei schlie?en
    }
    $aw = file($datei_name); //Die Datei in ein Array lesen
    $aw[0]["name"] = "Gut";
    $aw[0]["name"] = "Mittel";
    $aw[0]["name"] = "Schlecht";
    for($x = 0;$x < count($aw);$x++){ //Zeilenumbr?che entfernen
    $aw[$x] = trim($aw[$x]);
    }
    if(isset($_POST["vote"])){ //Falls gevotet wurde
    $aw[$_POST["vote"]]++; //Die entsprechende Zahl erh?hen
    $datei = fopen($datei_name,"w"); //Die Datei zum schreiben ?ffnen
    for($zeile = 0;$zeile < $auswahl;$zeile++){ //Die neuen Werte in die Datei schreiben
    fwrite($datei,$aw[$zeile].$nz);
    }
    fclose($datei); //Datei wieder schlie?en
    }

    $stimmen = $aw[0];
    for($zeile = 1;$zeile < $auswahl;$zeile++) $stimmen += $aw[$zeile]; //Stimmen z?hlen

    echo "Stimmen:<br>"; //Ausgabe der Stimmen
    for($zeile = 0;$zeile < $auswahl;$zeile++){
    echo $aw[$zeile]["name"].": ".round(($aw[$zeile]/$stimmen*100),2)." % (".$aw[$zeile]." Stimme(n) )<br>";
    }
    ?>

    is getestet...funktioniert

    ich wei? is nich besonders umfangreich...aber als einfaches voting sollte es langen

    mfg
    armada
  8. achja nochwas
    wenn noch keiner gevotet hat kommt nen error, wegen division durch 0!
    einfach vorher abfragen ob $bla=0 und dann echo "es hat noch keiner gevotet";
    jedenfalls beim ersten script!
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!