$_POST-Var. weiterverwenden

Merlin732

Erfahrenes Mitglied
Hallo,

ich habe folgende Frage:

Ich führe eine Suche durch und falls ein Suchergebnis in der DB gefunden wird leite ich den Nutzer weiter und er bekommt die Suchresultate angezeigt.
Auf der Seite der Suchresultate habe ich nun einen Link "Suchergebnis verfeinern", welcher zurück zu dem Suchformular führt welches der Nutzer vorher ausgefüllt hat.
Die Haken die er dort gesetzt hat und die Suchwörter die er eingegeben hat sollen erhalten bleiben. Dies ist zur Zeit noch nicht der Fall. Weiß jemand wie ich es anstelle, das die $_POST Variablen, welche mit zu der Suchresultat-Seite übergeben werden dann wieder zu der Seite Suchformular mitgesendet werden, wenn man auf Sucheverfeinern klickt?

MfG Lars
 
hmm,

ich hätte eher an ein hidden-input gedacht und es so versendet. da in der anderen datei bereits auf $_POST geprüft wird, wollte ich es eigentlich behalten und nun weiterhin mit $_POST arbeiten

Gehts auch auf meine Weise?

MfG Lars
 
und bei <input type="hidden" schreib ich bei value einfach value="$_POST" ... ? oder muss ich da noch was ändern?
 
Ich hatte es schonmal so versucht ... mit folgender Zeile

PHP:
$content .= "<td><form><div algin='right'>
<input type='hidden' value='$_POST'>
<input type='submit' value='".$this->pi_getLL('cut down')."'>
<action='index.php?id=478&L=".$this->akt_sprache."'>
</div></form></td>";

Allerdings fällt bei der URI dann alles hinter dem Fragezeichen weg ... d.h. id=478&L=".$this->akt_sprache fehlt komplett und daher komme ich auch nicht auf die Suchseite zurück um zu testen ob es funktioniert.

Leider habe ich keine Ahnung warum er ab id alles weglöscht.
 
Du kannst nicht direkt $_POST dort reinsetzen da dies ja ein Array ist.
Du koenntest $_POST aber serialisieren und dann im anderen Script wieder deserialisieren.
Ansonsten muesstest Du halt fuer jeden Wert in $_POST ein Hidden-Feld machen.
 
Ich habs jetzt mal so versucht
PHP:
$content .= "<td><form align='right'>";
for($i=0;$i<count($_POST);$i++) {
	$content .= "<input type='hidden' value='$_POST[$i]'>";
}
$content .= "<input type='submit' value='".$this->pi_getLL('cut down')."'><action='index.php?id=478&L=".$this->akt_sprache."'></form></td>";

ich lande aber wieder auf meiner Startseite und nicht auf der Suchseite wenn ich auf den Button klicke, da nach dem ? immernoch alles verschwindet
 
PHP:
$content .= "<td><form action='index.php?id=478&L=".$this->akt_sprache."' method='post'>";
for($i=0;$i<count($_POST);$i++) {
	$content .= "<input type='hidden' value='$_POST[$i]'>";
}
$content .= "<input type='submit' value='".$this->pi_getLL('cut down')."'></form></td>";
		$content .= "</tr></table><p><p><p>";

hatte mich verschrieben, die Weiterleitung zur entsprechenden Seite klappt nun.
Ich lass mir mittels print_r(count($_POST)) die Anzahl der übergebenen Variablen anzeigen ... auf der Ergebnisseite ändert sich natürlich die Anzahl, wenn ich dann zur Suchseite zurückmöchte wird die Anzahl wieder 0 ... kann mir jemand sagen wie ich die $_POST-Variablen wieder sicher zum ersten Script zurückbekomme?

MfG Lars
 
Speichere die Daten lieber serverseitig, etwa in einer PHP-Sitzung. Andernfalls solltest du den versteckten Formularelementen auch einen Namen geben. Dabei könnte es übrigens Probeleme geben, falls mehrere Elemente denselben Namen haben.
 
Zurück