Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 25

Thema: Probleme bei Wertübetragung mit Sessions und formularen

  1. #1
    Teeny
    Registriert seit
    29.01.2008
    Beiträge
    24
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Probleme bei Wertübetragung mit Sessions und formularen

    Hi,
    ich programmiere einen IQ-test. Dafür habe ich eine Datenbank mit Fragen und Antworten erstellt. Die Fragen werden bei jedem Seitenaufruf zufällig aus der DB ausgewählt. Ich habe nun für den Admin eine Seite programmiert, mit der er neue Fragen in die DB hinzufügen kann. Damit meine Auswertung dynamisch auf die Fragen reagieren kann musste ich folgendes machen:
    Code:
    while ($row = mysql_fetch_assoc($result)){
    				$id1[] = $row["id"];
    				$F1[] = $row["Frage"];
    				$A1[] = $row["Antwort"];
    							}
    
    <tr><td>Frage1&#58;</td></tr>
    				<tr><td><?php echo&#40;$F1&#91;0&#93;&#41;; ?></td> 
    				<td> <input name="F<?php echo&#40;$id1&#91;0&#93;&#41;; ?>" type="text" size="4" ></td></tr>
    				<?php $q0=$id1&#91;0&#93;; $_SESSION&#91;'q0'&#93;=$q0;?>
    In die Auswertung werden die Eingaben nun mit hidden-Feldern übertragen:
    Code:
    $q0=$_SESSION&#91;'q0'&#93;;
    
    <input type="hidden" name="Frage1" value="<?php $_POST&#91;"F$q0"&#93;; ?>">
    Jetzt will ich den übertragenen Wert in einer Variable speichern, damit ich ihn dann mit der Lösung abgleichen kann:
    Code:
    $Fr&#40;$q0&#41;= $_POST&#91;"F$q0"&#93;;
    Für diese Zeile kriege ich jedoch die Fehlermeldung:
    Fatal error: Can't use function return value in write context...
    Kann mir jemand sagen warum das nicht funktioniert?
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Azubi(ne)
    Registriert seit
    20.06.2008
    Ort
    Paderborn
    Beiträge
    81
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    $Fr($q0)= $_POST["F$q0"];

    vielleicht bin ich grad doof, aber was machen die runden klammern da bei $Fr? die deuten doch eigentlich auf einen funktionsaufruf hin, dem kann aber glaub ich kein wert zugewiesen werden? ^^

  3. #3
    Teeny
    Themenstarter

    Registriert seit
    29.01.2008
    Beiträge
    24
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ja, danke. $Fr muss ein Array sein -> deswegen $Fr[$q0]

    Ich habe jetzt noch ein Problem. Das hat mit dem vorangegengenen zwar nix zu tun, aber ich will jetzt nicht extra ein neues Thema aufmachen.
    Bei der Auswertung der Antworten der Fragen des Iq-tests sieht der Benutzer als Ausgabe folgenden Text:
    Frage1: 15, 25, 37, 51, 67, ihre Antwort 85 ist richtig! bzw.
    Frage3: 30, 29, 27, 26, 24, ihre Antwort: 45 Richtige Antwort: 23
    Nun habe ich auch Fragen, die mithilfe von Radiocheckbuttons beantwortet werden müssen. In meiner DB habe ich eine Tabelle mit den Fragen samt Antwortoptionen.Wenn nun eine Testperson eine der Checkboxen anklickt wird der Wert(1 oder 2 oder ...) der markierten Box auf die Auswertungsseite in das Array z.B. $Fr[$q9] geschrieben. Wenn die Testperson die Frage falsch beantwortet will ich eben die falsche Antwort nochmal anzeigen lassen. Die auswerung geschieht folgendermaßen:
    Code:
    $query= "SELECT * FROM `Maße und Gewichte` WHERE id ='$q9'";
    			$result = mysql_query&#40;$query, $db&#41;;
    			while &#40;$row = mysql_fetch_assoc&#40;$result&#41;&#41;&#123;
    				$F2&#91;1&#93; = $row&#91;"Frage"&#93;;
    				$A12&#91;1&#93; = $row&#91;"Antwort1"&#93;;
    				$A22&#91;1&#93; = $row&#91;"Antwort2"&#93;;
    				$A32&#91;1&#93; = $row&#91;"Antwort3"&#93;;
    				$A42&#91;1&#93; = $row&#91;"Antwort4"&#93;;
    				$A52&#91;1&#93; = $row&#91;"Antwort5"&#93;;
    Um die falsche Antwort anzuzeigen muss ich z.B. dastehen haben:
    Code:
     echo $A22&#91;1&#93;
    Welche Antwort jetzt gewählt wurde ist ja im oben genannten Array $Fr[$q9] gespeichert. Das Problem ist:
    Ich muss es irgendwie hinkriegen mit $A ???? $Fr[$q9] ??? 2 ???? [1] als $A22[1] dastehen zu haben.

  4. #4
    Teeny
    Themenstarter

    Registriert seit
    29.01.2008
    Beiträge
    24
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ist das überhaupt möglich es so hinzukriegen?

  5. #5
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    Code:
    $zwi = 'A'.$Fr&#91;$q9&#93;.'2';
    $$zwi = array&#40;1 => 'Dein Eintrag'&#41;;
    Dann kannst du auf $A ???? $Fr[$q9] ??? 2 ???? [1] als $A22[1] zugreifen.

    Falls ich dich richtig verstanden habe.
    Something big is coming. And there will be pirates and ninjas and unicorns...

  6. #6
    Bandit
    Gast

    Standard

    Um das mal klar zu sagen, deine datenbankstruktur ist nicht zu gebrauchen! Eine möglichkeit:

    Tabellen Fragen
    ID - Frage - Typ

    Tabelle Antworten
    ID - ID_von_Frage - Antwort - Richtig

    In der spalte typ der fragen definiertst du z.B. mit 1 = Checkboxen, mit 2 = Radio-Button mit 3 = Eingabefeld, etc.

    In der spalte Richtig definierst du mit 0=falsch, 1=richtig

    Was du da bastelst, führt unweigerlich zum chaos

  7. #7
    Teeny
    Themenstarter

    Registriert seit
    29.01.2008
    Beiträge
    24
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ich will das $A irgendwas $Fr[$q9] irg. 2 irg. [1] , $A22[1] ist. Ich muss also das Array (welches eine Zahl ist, hier soll es 2 sein) als Teil meiner Vraiablen verwenden.

  8. #8
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    was ist irg.?
    ein Computer kann nur auf bestimmte dinge reagieren und nicht auf irgendwas
    Something big is coming. And there will be pirates and ninjas and unicorns...

  9. #9
    Teeny
    Themenstarter

    Registriert seit
    29.01.2008
    Beiträge
    24
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Das genau ist ja mein Problem. Wie kann ich das Array so in die Variable einbauen, dass $Fr[$q9] die erste Zahl bei $A22[1] darstellt. Die zweite Zahl und der Array-Index müssen auch damit verknüpft werden, damit eben die Variable $A22[1] entsteht.

  10. #10
    Jedi Ritter Avatar von Dodo
    Registriert seit
    26.04.2008
    Ort
    Wien
    Alter
    27
    Beiträge
    3.774
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    häääääh?
    Something big is coming. And there will be pirates and ninjas and unicorns...

Ähnliche Themen

  1. PHP-Sessions
    Von mtoncheva im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 31.05.2007, 19:28
  2. Probleme mit einem Abstand nach Formularen
    Von Gast im Forum HTML & CSS Forum
    Antworten: 0
    Letzter Beitrag: 12.04.2007, 18:58
  3. Sessions
    Von HefA im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 08.12.2006, 16:44
  4. PHP: Sessions
    Von Beatz im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 05.10.2005, 12:44
  5. Sessions
    Von Rocco im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 13.09.2004, 16:44

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •