PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Variable per If-Schleife ändern


lila_launebär
20.05.2006, 13:29:59
Hallo,

ich habe folgendes Problem:
Ich habe mit HTML ein Quiz erstellt, das Optionsschaltflächen mit dem Code-Schema
NAME="frage1" VALUE="loesung1" besitzt. Die Formulardaten werden dann per form action an ein PHP-Skript gesendet, das die Daten nun auswerten soll.
Und zwar sollte in einer If-Schleife nach dem Schema
if($frage1=="loesung1") (wobei man davon ausgeht, dass loesung1 die jeweils richtige ist) abgefragt werden, ob die korrekte Option gewählt wurde und in dem Falle die Variable $richtig, die am Anfang 0 beträgt, um 1 erhöht werden.
Leider kenne ich mich nicht sehr gut mit PHP aus - weder der If-Schleifen-Ansatz funktioniert noch finde ich eine Lösung für die Erhöhung der $richtig-Variable!

Kann mir da jemand helfen?
Vielen Dank im Voraus!

lila launebär

Giz
20.05.2006, 16:35:03
Hallo,

ich habe folgendes Problem:
Ich habe mit HTML ein Quiz erstellt, das Optionsschaltflächen mit dem Code-Schema
NAME="frage1" VALUE="loesung1" besitzt. Die Formulardaten werden dann per form action an ein PHP-Skript gesendet, das die Daten nun auswerten soll.
Und zwar sollte in einer If-Schleife nach dem Schema
if($frage1=="loesung1") (wobei man davon ausgeht, dass loesung1 die jeweils richtige ist) abgefragt werden, ob die korrekte Option gewählt wurde und in dem Falle die Variable $richtig, die am Anfang 0 beträgt, um 1 erhöht werden.
Leider kenne ich mich nicht sehr gut mit PHP aus - weder der If-Schleifen-Ansatz funktioniert noch finde ich eine Lösung für die Erhöhung der $richtig-Variable!

Kann mir da jemand helfen?
Vielen Dank im Voraus!

lila launebär
Verstehe nicht. <input type=text name=frage1> steht z.B. in Deinem Formular. Wenn der nun "loesung1" eingibt und absendet, dann wird Deine IF Abfrage funktionieren und Du kannst da z.B. $richtig++; hinter setzen. Aber das bringt alles nicht weiter. Du solltest mal etwas mehr von dem Zeigen, was Du da hast.

lila_launebär
20.05.2006, 20:56:50
Hallo Giz,

erstmal danke für deine Antwort!
Es handelt sich bei dem Quiz nicht um Textfelder, in die die Lösung eingegeben wird, sondern um Optionsschaltflächen mit mehreren Antwortmöglichkeiten. Die haben dann das HTML-Codeschema
<INPUT ID="Optionsschaltfläche1" TYPE=RADIO NAME="frage1" VALUE="loesung1" >
<INPUT ID="Optionsschaltfläche2" TYPE=RADIO NAME="frage1" VALUE="loesung2" >
<INPUT ID="Optionsschaltfläche3" TYPE=RADIO NAME="frage1" VALUE="loesung3" >

Bei der form action müsste ja dann eigentlich übermittelt werden, dass $frage1 (Name der Gruppe) gleich "loesung1" (den Wert von dem, was man angeklickt hat) ist.
Wenn man nun annimmt, dass z.B. loesung3 die richtige ist, dann soll mit der If-Schleife mit dem Schema Wenn frage1 = loesung3 Dann richtig=richtig+1 überprüft werden, ob der User loesung3 angeklickt hat, und wenn ja, soll $richtig um eins erhöht werden.

Ich hoffe man versteht so was ich meine^^

lila launebär

Serp
21.05.2006, 17:21:31
Einfach statt $frage1 $_POST['frage1'] verwenden...

Giz
21.05.2006, 23:05:51
if ($frage1==$loesung3) $richtig++; könnte das sein?! Ich weiß noch nicht wirklich, wo Dein Problem ist.

lila_launebär
22.05.2006, 20:48:52
Ja vielen dank, jetzt funktioniert es soweit! :)
Seltsam ist nur, dass teilweise dann als richtig beantwortete Fragen eine weniger angezeigt wird (also z.b. 8 statt 9). das problem tritt komischerweise nur bei ein paar zahlen auf, also wenn ich noch ein
$richtig++;
hinter die if-Abfragen hinzufüge, dann passt es zwar an stellen wie 8 und 9, aber dann wiederum nicht bei 0, 1 etc.^^
weiß jemand woran das liegen könnte?

greetz
lila launebär

Serp
23.05.2006, 00:43:47
Das kann ich so nicht beantworten, da müsst ich den ganzen Code sehen...

KTB
23.05.2006, 08:45:20
Tut mir leid, bis hier hin konnte ich dich noch verstehen, jetzt steige ich aus ^^

Giz
23.05.2006, 12:44:34
Tut mir leid, bis hier hin konnte ich dich noch verstehen, jetzt steige ich aus ^^Ich habe von Anfang an nicht so ganz verstanden und nun ist bei mir auch vorbei...
Also, wie sieht denn nu der Quelltext aus?

lila_launebär
26.05.2006, 23:36:23
sorry dass ich erst jetzt antworte
@ktb und giz: ich verstehs ja selber nicht ...^^

hier der betreffende code-abschnitt: (loesung ist jeweils die variable der richtigen antwort)
if($frage1=="loesung")
$richtig++;

if($frage2=="loesung2")
$richtig++;

if($frage3=="loesung3")
$richtig++;

if($frage4=="loesung4")
$richtig++;

if($frage5=="loesung5")
$richtig++;

if($frage6=="loesung6")
$richtig++;

if($frage7=="loesung7")
$richtig++;

if($frage8=="loesung8")
$richtig++;

if($frage9=="loesung9")
$richtig++;

echo "Du hast $richtig Fragen richtig beantwortet!";

und da kommt dann teilweise mist raus

Serp
27.05.2006, 11:16:47
Dann poste doch mal den Teil, in dem $frage$i mit Inhalten gefüllt wird. Denn da kann ich keine Fehler finden.