Variablen weiterleiten

Krendipont

Grünschnabel
Hallo,
ich habe einen IQ-Test erstellt. Von der Seite test1.php muss ich die Antworten auf meine Fragen auf test2.php und von dort aus auf test3.php weiterleiten.
Die Fragen sehen z.b so aus:
Code:
Frage8: 5 Pfund und 28 Gramm sind wieviel Gramm?<br>

<input name="F8" type="radio" value="2" >528<br>
<input name="F8" type="radio" value="5" >252,8<br>
<input name="F8" type="radio" value="3" >5028<br>
<input name="F8" type="radio" value="1" >2528<br>
<input name="F8" type="radio" value="4" >52,8<br><br>



Auf der Seite test2.php mache ich dann folgendes:
PHP-Code:
$F8 = $HTTP_POST_VARS['F8'];
session_register('F8');


Um die Ergebnisse in eine Statistik, werte ich sie bei test3.php aus:
PHP-Code:

if($F8=="1"){ $ergebnis=$ergebnis+1; echo'Antwort 8: 2528, ist richtig!<br>';}else{echo"Antwort 8 ist falsch! Richtige Antwort: 2528 <br>";};


Leider funktioniert das nicht und langsam bin ich am Verzweifeln.
Hoffe mir kann jemand helfen,
danke Filip
 
Was genau funktioniert denn nicht?
Mein Tipp: Alles wird überschrieben und nur der letzte Wert bleibt drin.

Die Lösung:
HTML:
<input name="F8[]" type="radio" value="2" >528<br>
<input name="F8[]" type="radio" value="5" >252,8<br>
<input name="F8[]" type="radio" value="3" >5028<br>
<input name="F8[]" type="radio" value="1" >2528<br>
<input name="F8[]" type="radio" value="4" >52,8<br><br>

Dadurch wird F8 zu einem numerischen Array, den du ganz normal ansprechen kannst.
Übrigens benutzt man mittlerweile $_POST statt $HTTP_POST_VARS
 
Hi,
das mit dem Array wird nich funktionieren, denn in HTML gibt es keine Arrays in der Form.
Mein Problem ist, dass die Daten zwar von test1.php nach test2.php geschickt werden. Von test2.php aus kommen sie aber bei test3.php nicht an. Das habe ich mit
echo $_POST['F1'];
überprüft.
 
Das funktioniert dann mit Session oder Hidden Feldern

Bsp.:
HTML:
<input type="hidden" name="F1" value="xyz" />

PHP:
session_start(); // Muss bei test2.php und test3.php ganz oben stehen noch vor html

$_SESSION['F1'] = $_POST['F1'];

// in der test3.php  kann du auch auf $_SESSION['F1'] zugreifen
 
Hi,
das mit dem Array wird nich funktionieren, denn in HTML gibt es keine Arrays in der Form.
Mein Problem ist, dass die Daten zwar von test1.php nach test2.php geschickt werden. Von test2.php aus kommen sie aber bei test3.php nicht an. Das habe ich mit
echo $_POST['F1'];
überprüft.

Stimmt, in HTML gibt es keine Arrays, aber PHP interpretiert sie automatisch in dieser Form.

[phpf]session_register[/phpf] gilt übrigens auch als "deprecated", also veraltet. Dafür gibt es das neuere $_SESSION Array, siehe auch hier:
Sessions
 
Das mit den Sessions so wie du es geschrieben hast, habe ich schon probiert.
Es funktioniert leider nicht.
Ich bin gerade bei der Umsetzung der Idee mit den hidden-Feldern.
Frage: Wie übermittle ich den Wert von F1, usw. von test1.php zu test2 und dann 3?
request.form funktioniert irgendwie nicht.
 
Oops, ich sehe grad ich habe mich falsch ausgedrückt.
Das mit dem Hidden feld mit request.form funktioniert schon, aber eben auch nur von test1.php nach test2.
 
Zurück