IF-Abfrage erhöht alle Werte
Sascha
- perl
Hallo,
habe ein Problem mit einem Voting-Script. Und zwar werden die einzelnen Klicks fehlerhaft interpretiert. Bei meinem Script wird die Anzahl aller 3 Antwortmöglichkeiten um eins erhöht, jedoch soll ja nur die Stimme für die eine abgebene Antwort gezählt werden. Habe die IF-Abfragen schon verschieden verschachtelt, komme zu aber zu keiner Lösung :-( Es wird stets $anzahl_a, $anzahl_b und $anzahl_c erhöht.
--- schnipp ---
if ($ip_vorhanden==0 and $ende>$jahrtag)
{
if ($wahl == 'a')
{
$anzahl_a++;
}
if ($wahl == 'b')
{
$anzahl_b++;
}
if ($wahl == 'c')
{
$anzahl_c++;
}
}
--- schnapp ---
Hi,
--- schnipp ---
if ($ip_vorhanden==0 and $ende>$jahrtag)
{
if ($wahl == 'a')
{
$anzahl_a++;
}
if ($wahl == 'b')
{
$anzahl_b++;
}
if ($wahl == 'c')
{
$anzahl_c++;
}
}
--- schnapp ---
was steht in $wahl ?
ansonsten wäre entweder eine case-Abfrage oder ein if-elseif sinnvoller
ciao
romy
was steht in $wahl ?
ansonsten wäre entweder eine case-Abfrage oder ein if-elseif sinnvoller
In $wahl steht die Antwort, welche angeklickt wurde. Entweder a,b oder c... Diese lese ich aus den Formulardaten aus.
Hi,
In $wahl steht die Antwort, welche angeklickt wurde. Entweder a,b oder c... Diese lese ich aus den Formulardaten aus.
siehe Siechfried,
kenne mich nicht wirklich mit Perl aus, aber mir schien dies nützlich um den Fehler zu finden.
1.Varaiblen ausgeben und sehen ob das drinsteht, was soll
2.Ausdrücke ausgeben und sehen ob sie true oder false ergeben
3.4.5. ausgeben anderer relevanter Dinge, die generiert werden, bzw. übergeben werden
ciao
romy
Hi,
In $wahl steht die Antwort, welche angeklickt wurde. Entweder a,b oder c... Diese lese ich aus den Formulardaten aus.
siehe Siechfried,
exakt, alles weitere kann sich an dieser Stelle gespart werden.
kenne mich nicht wirklich mit Perl aus, aber mir schien dies nützlich um den Fehler zu finden.
1.Varaiblen ausgeben und sehen ob das drinsteht, was soll
2.Ausdrücke ausgeben und sehen ob sie true oder false ergeben
3.4.5. ausgeben anderer relevanter Dinge, die generiert werden, bzw. übergeben werden
gute Schritte, ich empfehle folgende:
1. strict und warnings einschalten (diese konkrete Problem wäre jetzt schon gelöst)
2. diagnostics hinzunehmen
3. debugger verwenden (perl -d) (macht deine Schritte überflüssig)
Am allerwichtigsten ist aber Regel 0: RTFM ;)
Hallöle,
habe ein Problem mit einem Voting-Script. [...]
if ($wahl == 'a')
Du benutzt einen Vergleichsoperator für Zahlen, willst aber zwei Zeichenketten miteinander vergleichen. Hier solltest du "eq" statt "==" verwenden.
Viele Grüße
Torsten