phpbar.de logo

Mailinglisten-Archive

[php] submit auf unterschiedliche urls?
Archiv Mailingliste php_(at)_infosoc.uni-koeln.de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[php] submit auf unterschiedliche urls?



Hallo,

ich weiss nicht ob ich einfach nur ein Brett vorm Kopf habe,
oder ob das wirklich nicht "sauber" geht:

Ich habe ein Formular-Objekt, darin koennen Datensaetze fuer
eine Datenbank eingegeben werden. Gleichzeitig soll
es eine Such- bzw. Listenfunktion geben. Im Formular habe
ich dazu z.B. 3 submit Buttons (naja, es sind noch mehr, aber
um das Problem zu beschreiben, sollen diese mal reichen):

- Datensatz einfuegen
- Daten suchen
- Komplettliste ausgeben

Eigentlich wird als action immer wieder diese php3 Seite
aufgerufen. Fuer "Einfuegen" ist das auch sinnvoll.
Fuer "Komplettliste ausgeben" soll aber eine andere Seite
aufgerufen werden, die dann eine Liste ausgibt (auf der
sich die einzelnen Datensaetze dann aufrufen lassen)

Die Frage ist nun, wie kann ich am elegantesten dafuer
sorgen, dass beim "einfuegen" als action die gleiche
Seite nochmal aufgerufen wird, fuer die "Liste" aber
zu einer anderen verzweigt wird?
(Eine FORM erlaubt ja nur EINE action und JavaScript
erlaubt bei den 4'er Browsern nicht mehr ein "programmiertes
submit" auf Browserseiten)

Und um das Chaos komplett zu machen, soll bei "Daten suchen"
im php entschieden werden, obs nur ein Datensatz ist, dann
auf dieser Seite bleiben und anzeigen, wenn es mehrere sind,
dann auf die Liste verzweigen. (Was JavaScript entgueltig
disqualifiziert, bzw. zur totalen quick&dirty Loesung macht)

Gibt es in php3 die Moeglichkeit die komplette Datei durch
eine andere zu ersetzen? (also ein replace zur laufzeit, 
nicht include)

Faellt sonst jemand etwas sinnvolles dazu ein?

Momentan mache ich es, in dem ich mit php3 im <header> einfach 
ein meta-tag erzeuge, dass dann bei Bedarf auf eine andere
Seite verweist und setze dabei die GET informationen
fuer diese Seite manuell. So etwa in der Art:

<?php
if ($submit=="Liste anzeigen") 
  echo "<meta http-equiv=\"refresh\" content=\"0; URL=list.php3?foobar=$foobar\">";
?>

Das Funktioniert zwar, aber ich finde es unschoen.

Danke,
wilfried



Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive