Umfragescript! Bitte helfen!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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
    Zuletzt geändert von Bremer19; 24.01.2004, 04: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
    Zuletzt geändert von Bremer19; 24.01.2004, 04:56.
    Men Name ist Hase, ich weiss von [color=red]NIX[/color]

    Kommentar


    • #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.

      Kommentar


      • #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]

        Kommentar


        • #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

          Kommentar


          • #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
            Zuletzt geändert von Bremer19; 24.01.2004, 12:59.
            Men Name ist Hase, ich weiss von [color=red]NIX[/color]

            Kommentar


            • #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
              Zuletzt geändert von Offe1; 24.01.2004, 13:09.

              Kommentar


              • #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]

                Kommentar


                • #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

                  Kommentar


                  • #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]

                    Kommentar

                    Lädt...
                    X