Homepage selbermachen 7.852 Themen, 35.619 Beiträge

PHP Meinungsumfrage

Brigitte Woort / 10 Antworten / Baumansicht Nickles

Hallo,


was kann an dieser Umrage auf meiner Seite www.woort/Notitzen.php falsch sein bzw. gibt es ein vielleicht ein alternatives Skript welches funktioniert ?


Einige der Fehler-Meldungen


Warning open() fputz() fsitze()...Division by zero()


mfg Gitte


 

bei Antwort benachrichtigen
Brigitte Woort Nachtrag zu: „PHP Meinungsumfrage“
Optionen

Sorry habe hinter woort das 'de' vergessen.

bei Antwort benachrichtigen
Zaphod Brigitte Woort „Sorry habe hinter woort das de vergessen.“
Optionen

... warum postest du dann den Link nicht nochmal?
Gut, was ist falsch? "Notizen" schreibt man nicht "Notitzen" (auch wenns nur der Dateiname ist ...) ...
"unentschieden", nicht "unendschieden" in der Umfrage ...
Zum PHP:
"Warning: Cannot modify header information - headers already sent by (output started at /home/www/web528/html/Notitzen.php:7) in /home/www/web528/html/Notitzen.php on line 129" - hier versendest du zweimal den Header der Seite, du darfst aber nur einmal. Zeilennummer steht in der Fehlermeldung, ändern ...
"Warning: Division by zero in /home/www/web528/html/auswertung.php on line 16

Warning: Division by zero in /home/www/web528/html/auswertung.php on line 17

Warning: Division by zero in /home/www/web528/html/auswertung.php on line 18" - durch 0 Teilen kann auch php nicht. Entweder klappt die Werteübergabe nicht und die Variablen stzehen deshalb auf 0 (könnte mit dem Headerproblem zusammenhängen oder damit, dass register_globals auf "Off" steht und die Variablen vom Empfängerscript nicht registriert werden), oder deine Formel ist falsch.

Ohne Quelltext lässt sich nicht mehr dazu sagen ...
HTH, Z.

bei Antwort benachrichtigen
Brigitte Woort Zaphod „... warum postest du dann den Link nicht nochmal? Gut, was ist falsch? Notizen...“
Optionen

Die genaue Adresse ist http://www.woort.de/Notitzen.php
Hoffe, dass der code richtig wiedergegeben wird
eingebaut in Notitzen.php
=========================
..
line128 if (isset($submit)) {
line129 setcookie("abgestimmt","ja");
line130}
line131..

Fehlermeldung bezieht sich auf line 129

Auswertung php
Fehler bezieht sich auf line 16,17,18

line13 fclose($zeiger);
line14 $umfrage=$umfrage[0]+$umfrage[1]+$umfrage[2];
line15 $laenge=400;
line16 $laenge0=$umfrage[0]*$laenge/$gesamt;
line17 $laenge1=$umfrage[1]*$laenge/$gesamt;
line18 $laenge2=$umfrage[2]*$laenge/$gesamt;
line19 $laenge0=round($laenge0);
line20 $laenge1=round($laenge1);
line21 $laenge2=round($laenge2);


bei Antwort benachrichtigen
xafford Brigitte Woort „Die genaue Adresse ist http://www.woort.de/Notitzen.php Hoffe, dass der code...“
Optionen

Um ein Cookie zu erzeugen muß der HTTP_Header manipuliert werden, dies kann er aber nicht mehr, wenn schon eine Ausgabe an den Browser gesendet wurde, da dann der Header schon versandt ist. Also entweder Cookie am Anfang erzeugen, oder output_buffering verwenden.
Zu Problem 2: Ist $gesamt vorher auch deklariert? Undeklarierte variablen werden, wenn sie keinen Scriptfehler verursachen (Einstellungssache) mit 0 initialisiert.

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen
Brigitte Woort xafford „Um ein Cookie zu erzeugen muß der HTTP_Header manipuliert werden, dies kann er...“
Optionen

Das 1. Problem ist gelöst
zu 2 gebe noch mal den wesenlichen Teil des Quelltexts dazu

Auswertung..
$datei="ergebnis.txt";
$zeiger=fopen($datei, "r");
$umfrage=fread($zeiger,filesize($datei));
fclose($zeiger);
$umfrage=explode(",",$umfrage);
$gesamt=$umfrage[0]+$umfrage[1]+$umfrage[2];
$laenge=400;
$laenge0=$umfrage[0]*$laenge/$gesamt;
$laenge1=$umfrage[1]*$laenge/$gesamt;
$laenge2=$umfrage[2]*$laenge/$gesamt;
$laenge0=round($laenge0);
$laenge1=round($laenge1);
$laenge2=round($laenge2);

in der datei ergebnis.txt steht

0,0,0

bei Antwort benachrichtigen
Zaphod Brigitte Woort „Das 1. Problem ist gelöst zu 2 gebe noch mal den wesenlichen Teil des...“
Optionen

.... die Variablen werden nicht übergeben ... Wie ist dein php konfiguriert? Steht "register_globals = Off", dann must du die übergebenen Parameter auf der Empfängerseite initialisieren: $variable = $_POST["variable"] ...
HTH, Z.

bei Antwort benachrichtigen
xafford Brigitte Woort „Das 1. Problem ist gelöst zu 2 gebe noch mal den wesenlichen Teil des...“
Optionen

Also wenn mich meine Kenntnisse der Grundrechenarten nicht täuschen, dann ist 0+0+0 immer noch 0 und x/0 ist nun mal nicht definiert, ergo Fehler ;o)...
Du mußt die Ausnahme $gesamt=0 abfangen, etwa folgendermaßen:
$gesamt=0 ? $gesamt = count($umfrage) : $gesamt;
und dies nach:
$laenge=400;
und vor:
$laenge0=$umfrage[0]*$laenge/$gesamt;
einfügen.
Alternativ kannst Du auch in der Datei ergebnis.txt von Anfang an mit den Werten 1,1,1 starten.

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen
Brigitte Woort Nachtrag zu: „PHP Meinungsumfrage“
Optionen

Habe jetzt die Anweisung eingebaut u.
auch probiert die Werte auf 1 bzw 2 zu setzen
dann ist die Auswertung auch erst korrekt anzusehen
aber nach dem ersten richtigen Vote kommt die gleich Fehlermeldung Melung

0 vote zeror..
hinter dem ersten Vote steht nun Array1
wie auch in der ergebnis.txt

Womit kann das noch zusammenhängen?



bei Antwort benachrichtigen
Zaphod Brigitte Woort „Habe jetzt die Anweisung eingebaut u. auch probiert die Werte auf 1 bzw 2 zu...“
Optionen

.... wenn da Array drin steht, dann musst du die Werte aus dem Array (z. B. mit einer Schleife) auslesen und ausgeben, statt einfach das Array ausgeben zu lassen ...
Ohne Blick auf das Gesamtwerk wird das nix hier :(.
Bringe mal sämtliche zur Umfrage gehörenden Skripte auf deinen Webspace - mit der Endung .txt, damit sie nicht interpretiert werden, und poste den URL. Ich blicke inzwischen nicht mehr durch, was du da treibst :-(
HTH, Z.

bei Antwort benachrichtigen
Brigitte Woort Zaphod „.... wenn da Array drin steht, dann musst du die Werte aus dem Array z. B. mit...“
Optionen

so wie es aussieht funktioniert es jetzt
es war noch ein Tipp bzw. Zuordnungsfehler im Skript

Gruß Gitte

bei Antwort benachrichtigen