Test Fragebogen zu komplex?

Quests Sohn

Mitglied
Hallo Forum,

ich möchte einen Test auf meines Seite anbieten. Es sollen Fragen mit jeweils drei oder mehr Antwortmöglichkeiten gestellt werden (Multiple Choice), z. B. "Zu welcher Klasse gehört Dein Auto?" mit den Antworten "Kompaktwagen", "Mittelklasse", ""Luxusklasse".

Normalerweise würde man jetzt einfach ein Formular mit Radiobuttons anlegen, die z. B. "Auto" heißen und dann die Werte "1", "2" und "3" enthalten. In meinem Fall werden durch eine bestimmte Antwort allerdings gleich für mehrere Eigenschaften Punkte vergeben, nähmlich für "Geld" und "Geschmack". Wer also einen Luxuswagen fährt bekommt zwei Punkte für "Geschmack" und drei für "Geld".

Am Ende werden die Punkte für "Geschmack" und "Geld" zusammengerechnet und ergeben ein Bild des Antwortenden.


Meine Frage also:

1. Wie kann ich mit einer Antwort mehrere Punkte für verschiedene Bereiche vergeben?

2. Wie kann ich diese Werte ohne Cookies transportieren?

3. Wie kann ich die Werte anschließend jeweils pro Bereich addieren?



Das Ergebnis soll dann z. B. folgendes sein:
(Werte: 5 Punkte Geschmack, 30 Punkte Geld) "Sie haben leider einen schlechten Geschmack, warum gehen Sie nicht mit Ihrem vielen Geld etwas sinnvoller um?"

Mein Ansatz war der, eine Session zu starten und die Variablen "geld" und "geschmack" zu registrieren. Aber wie addiere ich verschiedene Werte pro Antwort zu beiden Variablen hinzu?


Ich hoffe, dass ihr cleverer seid, als ich und mir helfen könnt!?
 
Erstmal, eine Session erstellt in der Regel auch einen Cookie. Einen sogenannten Session-Cookie.
Wenn Du z.B. den Wert fuer Geld in $_SESSION["geld"] speicherst, kannst Du diesen mit
PHP:
$_SESSION["geld"]+=5;
um 5 erhoehen.
 
Ich stand mal vor dem selben Problem

Ich hab das so gelöst das ich jeder Antwort einen Wert einer Potenz von 2 zugeteilt habe.

Also z.b.:

Antwort1: 1
Antwort2: 2
Antwort3: 4
Antwort4: 8

Dadurch hast du für jede Kombination von Anworten einen Wert den du dann auswerten kannst
 
Danke reptiler!

Das ist schon mal der eine Teil, den Du beantwortet hast. Jetzt kann ich theoretisch die Session-Variablen um beliebige Werte erhöhen. Funktioniert das eigentlich auch mit einem Minuszeichen (wenn ich etwas abziehen möchte)?

Aber wie kann EINE Antwort beide Variablen um beliebige Werte hochsetzen?

Jede Antwort soll sowohl die Variable "Geld" als auch gleichzeitig die Variable "Geschmack" ändern.
 
Du kannst auch
PHP:
$_SESSION["geld"]-=5;
Du wirst anhand der gegebenen Antwort ja entscheiden wieviele Punkte jeweils vergeben werden sollen, dann machst Du einfach sowas:
PHP:
if ($antwort==1)
 {
  $_SESSION["geld"]+=5;
  $_SESSION["geschmack"]+=2;
 }
if ($antwort==2)
 {
  $_SESSION["geld"]+=2;
  $_SESSION["geschmack"]-=1;
 }
Mal so als Beispiel. ;)
 
Danke Skinner,

aber ich habe nicht so ganz verstanden, wie mir dieses System mehrere Variablen parallel ändern kann. Muß ich da noch etwas umrechnen, um aus den Punkten (Potenzwerten) dann wieder Einzelwerte zu machen? Ich blicks nicht so ganz ...
 
Zurück