[PHP] Weiterleitung mit Parametern

Retep

Well-known member
ID: 102024
L
29 April 2006
378
4
for ($j=0;$j<$i;$j++) {
[...]
A:
<? echo $a[$j]; ?><br><br>
B:
<? echo $b[$j]; ?><br><br>
C:
<? echo $c[$j]; ?><br><br>
D:
<? echo $d[$j]; ?><br><br>
[...]
}
*****
a, b, c und d sind Arrays; das obige Stück wird also mehrfach auf meiner PHP-Seite angezeigt (für $j von 0 bis $i).

Ich möchte jetzt Verweise hinter "A:", "B:", "C:" und "D:" einfügen, so dass ich auf einer PHP-Seite lande, welche die Variablen $a[$j], $b[$j], $c[$j] und
$d[$j] noch kennt und auch weiss, ob ich hinter A, B, C oder D geklickt habe.
Insgesamt also $i*4 Verweise.

Wenn ich so etwas wie Header benutzen würde oder eine einfache HTML-Weiterleitung, wären meine Variablen weg.. wie kann man so etwas realisieren?
 
Zuletzt bearbeitet:
Die Variablen sind dann schon weg, wenn Du die Seite angezeigt bekommst. Es sei denn, Du speicherst die Variablen in der Session.
 
.

Die Variablen sind dann schon weg, wenn Du die Seite angezeigt bekommst. Es sei denn, Du speicherst die Variablen in der Session.

Mein spontaner Gedanke wäre dann vor der Anzeige noch das hier:

for ($j=0;$j<$i;$j++) {
$_SESSION['$j'] = $a[$j];
$_SESSION['$j+$i'] = $b[$j];
$_SESSION['$j+2*$i'] = $c[$j];
$_SESSION['$j+3*$i'] = $d[$j];
}

Möglich dass das vom Syntax her falsch ist, die Idee wäre alle Arrays in $_SESSION einzulesen. Geht das so prinzipiell?

Wenn ja, würde ich so die Variablen nicht mehr verlieren. Aber ich sehe immernoch nicht, wie meine nächste Seite (auf die verwiesen wird) erkennt, wo geklickt wurde, es gibt ja wie gesagt 4*$i Möglichkeiten.
 
Ich würd's folgendermassen in der Session speichern:
PHP:
$_SESSION['a'] = $a;
$_SESSION['b'] = $b;
$_SESSION['c'] = $c;
$_SESSION['d'] = $d;
Und den Link dann wie folgt aufbauen:
HTML:
<a href="script.php?array=a&i=1&j=2">Verweis</a>
Damit dürftest Du alle relevanten Infos weitergeben...
 
Ich würd's folgendermassen in der Session speichern:
PHP:
$_SESSION['a'] = $a;
$_SESSION['b'] = $b;
$_SESSION['c'] = $c;
$_SESSION['d'] = $d;
Und den Link dann wie folgt aufbauen:
HTML:
<a href="script.php?array=a&i=1&j=2">Verweis</a>
Damit dürftest Du alle relevanten Infos weitergeben...

Müsste es nicht eigentlich so aussehen:
A:
<? echo $a[$j]; ?><br><br>
<a href="script.php?array=a&j=$j">
B:
<? echo $b[$j]; ?><br><br>
<a href="script.php?array=b&j=$j">

usw.

Das $i brauche ich nicht..
Fehlen vor den Arrays nicht die Dollarzeichen?
Und wie kann ich danach bei script.php auf $a, $i und $j zugreifen?
Kannst Du mir vielleicht einen Link geben, wo diese Art von Verweisen ausführlich erklärt wird?
 
Ich vermute, diese Links werden nirgends erklärt, da sie kein spezielles Muster sind.

Aber folgendermassen greifst Du auf der folgenden Seite auf die Daten zu:
PHP:
$value = $_SESSION[ $_REQUEST['array'] ][ $_REQUEST['j'] ];
In beiden Dateien natürlich session_start() nicht vergessen.
 
.

ich habe nun:

$_SESSION['a'] = $a;
$_SESSION['b'] = $b;
$_SESSION['c'] = $c;
$_SESSION['d'] = $d;
[...]
A:
<? echo $a[$j]; ?><br><br>
<a href="script.php?array=a&j=$j">
[...]

und in script.php dann:

$value = $_SESSION[ $_REQUEST['array'] ][ $_REQUEST['j'] ];

Aber es funktioniert nicht.. ich glaube dieser Link ist nicht korrekt.. im Browser wurde mir auch j=$j hinten angezeigt anstatt j=3 oder irgendeiner Zahl.. darf man im Query String keine Variable setzen?
 
Du weisst aber schon, wie man in PHP Variablen ausgibt oder? :roll:

PHP:
<a href="script.php?array=a&j=<?php echo $j; ?>">
 
.

Du weisst aber schon, wie man in PHP Variablen ausgibt oder? :roll:

PHP:
<a href="script.php?array=a&j=<?php echo $j; ?>">

Ich habe das Ganze jetzt ohne Session-Variablen hinbekommen, nur mit Query-String hinter der URL und lese diesen danach mit
$_SERVER['QUERY_STRING']; aus. Danach parse ich ihn und habe meine Daten.

Sowas wie das kannte ich bisher nicht, ich danke Dir.