Umfragescript! Bitte helfen!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Umfragescript! Bitte helfen!

    Also:
    erstmal isses schade das das Umfragescript gar nicht so funktioniert wies hier is. Tut aber nichts zur Sache. Auch wenn ich PHP N00b bin hab ichs nen Stück allein geschafft. Nun aber zu meinem Problem:

    PHP Code:
    if(isset($OK)){
    setcookie("OK", "yes", time()+1*24*60*60*60);
    $wahl1 = ("wahl1.txt");
    $wahl2 = ("wahl2.txt");
    $wahl3 = ("wahl3.txt");

    $wahlwert1 = $wahl1[0];
    $wahlwert2 = $wahl2[0];
    $wahlwert3 = $wahl3[0];

    $insgesamt = $wahlwert1 + $wahlwert2 + $wahlwert3;

    $new_file = fopen("$wahl.txt", r);

    fwrite ($new_file, $wahl + "1" ,w);
    fclose ($new_file);

    ?>

    <b>Ergebniss:</b> <br>

    Wahl1 = <img src="umfrage.gif" border="0" height="10" width="
    <? echo round(($wahl1*100)/$insgesamt); ?>">

    <? echo round(($wahl*100)/$insgesamt); ?>%

    <br>

    Wahl2 = <img src="umfrage.gif" height="10" width="
    <? echo round(($wahl2*100)/insgesamt); ?>" >,
    <? echo round(($wahl2*100)/insgesamt); ?>%<br>

    Wahl3 = <img src="umfrage.gif" height="10" width="
    <? echo round(($wahl3*100)/$insgesamt); ?>" >,
    <? echo round(($wahl3*100)/insgesamt);?>%  <br>

    <?

    }
    else { ?>

    <form method="post" action="umfrage.php">
    <input type="Radio" name="wahl" value="wahl1">Wahl1</input><br>
    <input type="Radio" name="wahl" value="wahl2">Wahl2</input><br>
    <input type="Radio" name="wahl" value="wahl3">Wahl3</input><br>
    <input type="submit" value="OK" name="OK"><br><br>
    <a href="umfrage.php">Ergebnisse</a>
    <?
    }

    ?>
    Wenn ich das Script ablaufen lasse bekomem ich folgende Fehlermeldung:

    Warning: Division by zero in c:\apache\htdocs\umfrage\umfrage.php on line 26 (da kommen die gleichen auch nochma für line 31 und 34). Also kann er die Rechnung nicht ausführen(vermute ich). Wäre auch logisch da er mir nichts in die txt dateien schreibt.
    Und genau da liegt mein problem: Warum schreibt der nichts in die text dateien? Dort sollte er ja normalerweise simpel imemr eins hochzählen aber nichts passiert
    Kann mir einer sagen worans liegt?

    Ach: Der Originaltext funktioniert auch per Copy Paste nicht bei mir.

    Danke schonma...

    Gruss

    Bremer19
    Last edited by Bremer19; 24-01-2004, 03:28.
    Men Name ist Hase, ich weiss von [color=red]NIX[/color]

  • #2
    Ach nochma: Es wird nie etwas in die Textdateien geschrieben...demnach erhöht sich also auch die %Zahl nie.

    Und wers mal sehen will(samt fehler):

    UMFRAGE
    Last edited by Bremer19; 24-01-2004, 03:56.
    Men Name ist Hase, ich weiss von [color=red]NIX[/color]

    Comment


    • #3
      Re: Umfragescript! Bitte helfen!

      vielleicht solltest du das script erstmal für register_globals=off tauglich machen.

      also statt
      isset($OK)
      und
      $wahlwert1 = $wahl1[0];
      $wahlwert2 = $wahl2[0];
      $wahlwert3 = $wahl3[0];

      jeweils $_POST['OK'], $_POST['wahl1'][0] etc. verwenden.

      mehr zum arbeiten mit formularwerten bei RG=off unter http://www.php.net/manual/en/languag...predefined.php
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Comment


      • #4
        JO habs gemacht und er zeigt immernoch die selben fehlermeldungen
        Das heisst: kann natürlich sein das ich etwas vergessen habe...aber ich hab auch keine Ahnung wie du des meinst

        PHP Code:
        if(isset($_POST['OK'])){
        setcookie("OK", "yes", time()+1*24*60*60*60);
        $wahl1 = ("wahl1.txt");
        $wahl2 = ("wahl2.txt");
        $wahl3 = ("wahl3.txt");

        $wahlwert1 = $_POST[$wahl1][0];
        $wahlwert2 = $_POST[$wahl2][0];
        $wahlwert3 = $_POST[$wahl3][0];

        $insgesamt = $wahlwert1 + $wahlwert2 + $wahlwert3;

        $new_file = fopen("$wahl.txt", r);

        fwrite ($new_file , $wahl++ ,w);
        fclose ($new_file);

        ?>

        <b>Ergebniss:</b> <br>

        Wahl1 = <img src="umfrage.gif" border="0" height="10" width="<? echo round(($wahl1*100)/$insgesamt); ?>">

        <? echo round(($wahl1*100)/$insgesamt); ?>%

        <br>

        Wahl2 = <img src="umfrage.gif" height="10" width="<? echo round(($wahl2*100)/insgesamt); ?>" >,
        <? echo round(($wahl2*100)/insgesamt); ?>%<br>

        Wahl3 = <img src="umfrage.gif" height="10" width="<? echo round(($wahl3*100)/$insgesamt); ?>" >,
        <? echo round(($wahl3*100)/insgesamt);?>%  <br>

        <?

        }
        else { ?>

        <form method="post" action="umfrage.php">
        <input type="Radio" name="wahl" value="wahl1">Wahl1</input><br>
        <input type="Radio" name="wahl" value="wahl2">Wahl2</input><br>
        <input type="Radio" name="wahl" value="wahl3">Wahl3</input><br>
        <input type="submit" value="OK" name="OK"><br><br>
        <a href="umfrage.php">Ergebnisse</a>
        <?
        }

        ?>
        Keine Ahnung wo ich noch diese Methode benutzen muss..und in englisch bin ich grottenschlecht. Die Seite müsst ich erstma übersetzt haben bevor ich da was versteh...
        Men Name ist Hase, ich weiss von [color=red]NIX[/color]

        Comment


        • #5
          Keine Ahnung wo ich noch diese Methode benutzen muss..und in englisch bin ich grottenschlecht. Die Seite müsst ich erstma übersetzt haben bevor ich da was versteh...
          Hier werden Sie geholfen

          mach mal ein
          PHP Code:
          print_r($_POST); 
          am Anfang.

          Denke es liegt an deinen Variablen

          Offe

          Comment


          • #6
            Thx erstmal fürs deutsche Manual
            Nu steht einfach über der Umfrage Array()....
            Damit kann ich aber auch nix anfangen
            wenn ich dann abschicke kommt das hier:
            Array ( [wahl] => wahl1 [OK] => OK )
            Warning: Cannot add header information - headers already sent by (output started at c:\apache\htdocs\umfrage\umfrage.php:2) in c:\apache\htdocs\umfrage\umfrage.php on line 4
            In Line 4 is das(oder heisst es der?) Cookie.

            EDIT: ich lads immer hoch zum nachvollziehen
            Last edited by Bremer19; 24-01-2004, 11:59.
            Men Name ist Hase, ich weiss von [color=red]NIX[/color]

            Comment


            • #7
              nimm das print_r(); wieder raus und ändere
              $wahlwert1 = $_POST[$wahl1][0];
              ...
              in
              PHP Code:
              $wahlwert $_POST["wahl"]; 
              und erhöhe dann den richtigen Wert je nachdem was rauskommt



              Offe
              Last edited by Offe1; 24-01-2004, 12:09.

              Comment


              • #8
                So nu bin ich verwirrt....

                PHP Code:

                if(isset($_POST['OK'])){
                setcookie("OK", "yes", time()+1*24*60*60*60);
                $wahl1 = ("wahl1.txt");
                $wahl2 = ("wahl2.txt");
                $wahl3 = ("wahl3.txt");

                $wahlwert = $_POST["wahl"];


                $insgesamt = $wahlwert1 + $wahlwert2 + $wahlwert3;

                $new_file = fopen("$wahl.txt", r);

                fwrite ($new_file , $wahl++ ,w);
                fclose ($new_file);

                ?>

                <b>Ergebniss:</b> <br>

                Wahl1 = <img src="umfrage.gif" border="0" height="10" width="<? echo round(($wahl1*100)/$insgesamt); ?>">

                <? echo round(($wahl1*100)/$insgesamt); ?>%

                <br>

                Wahl2 = <img src="umfrage.gif" height="10" width="<? echo round(($wahl2*100)/insgesamt); ?>" >,
                <? echo round(($wahl2*100)/insgesamt); ?>%<br>

                Wahl3 = <img src="umfrage.gif" height="10" width="<? echo round(($wahl3*100)/$insgesamt); ?>" >,
                <? echo round(($wahl3*100)/insgesamt);?>%  <br>

                <?

                }
                else { ?>

                <form method="post" action="umfrage.php">
                <input type="Radio" name="wahl" value="wahl1">Wahl1</input><br>
                <input type="Radio" name="wahl" value="wahl2">Wahl2</input><br>
                <input type="Radio" name="wahl" value="wahl3">Wahl3</input><br>
                <input type="submit" value="OK" name="OK"><br><br>
                <a href="umfrage.php">Ergebnisse</a>
                <?
                }
                So sieht das ganze jetzt aus. Und die Division by... Fehler bleiben
                Auch wird weiterhin nix in die dateien geschrieben Evtl kann mal jemand(deshalb poste ich ja den ganzen quelltext)das Script bei sich testen?).
                Weil wie gesagt ich bin PHP N00b und mach deshalb ja diese tutorials
                Men Name ist Hase, ich weiss von [color=red]NIX[/color]

                Comment


                • #9
                  Eklär mal genau welche Variable du in welcher Datei speichern willst.
                  Für was brauchst du setcookie("OK", "yes", time()+1*24*60*60*60);?

                  Erklär mal was du mit jeder Variable machen willst.

                  Offe

                  Comment


                  • #10
                    Also die Zahl der Abstimmungen soll in der jeweiligen .txt datei abgespeichert werden. ALso wenn man 3 mal klickt auf Wahl1 dann halt auch 3 Einträge in der wahl1.txt.(bzw die Zahl 3)
                    Das Cookie benutze ich dazu das man nicht mehrere Male abstimmen kann sondern wenn OK gesetzt ist nur die ergebnisse zu sehen sind.
                    Wie gesagt funzt auch alles bis auf das abspeichern in den TXT dateien. Das Tutorial is
                    http://www.php-resource.de/tutorials/read/15/1/
                    dieses hier. Hab anfangs alles so gemacht wie dort stand aber das gab gar keine Ausgabe von irgendwas...
                    Also hab ichs soweit geändert das es jetzt (bis auf das schreiben in die .txt dateien) einwandfrei angezeigt wird.

                    Naja das ausrechnen des Prozentsatzes erklärt sich ja von selbst

                    Wenn man auf Wahl1 klickt soll das in wahl1.txt vermerkt werden usw.
                    Daraufhin soll dann die Ausgabe das Ergebniss sein(nach erfolgreichem abschicken).
                    Men Name ist Hase, ich weiss von [color=red]NIX[/color]

                    Comment

                    Working...
                    X