Carsten: php3Seite mit ?parameter1=...&parameter2=... in Ahängigkeit von Listenfeld

Beitrag lesen

Hi Carsten,

»»  <HTML><HEAD><TITLE></TITLE></HEAD><BODY></BODY>

<?php
    $elemente=explode(";",$parameter);
    $para1=$elemente[0];
    $para2=$elemente[1];
    echo"<a href='mainframe.php3?para1=$para1&para2=$para2'>
Hier gehts zur Seite, und genau diesen klick will sparen!</a>";
?>

1.Möglichlkeit:
  ergänze mainframe.php3 um folgende Zeilen:

<?php
  if($parameter)
  {
    $elemente=explode(";",$parameter);
    $para1=$elemente[0];
    $para2=$elemente[1];
  }
?>

und statt wieder das Formular aufzrufen

<form action=auswahl.php3 target='_self' method=POST>

rufst du mainframe.php3 direkt auf:
   <form action=mainframe.php3 target='_self' method=POST>

-------------------------------------------------------------------------
ODER

_UNMITTELBAR_ am Dateianfang:

<?php

id($Submit=="Go")
     {

$elemente=explode(";",$parameter);
    $para1=$elemente[0];
    $para2=$elemente[1];

header ("Location: http://deinedomain.de/mainframe.php3?para1=$para1&para2=$para2");
       // auf mainframe redirecten (ACHTUNG: Doku zu header() lesen (Functions->HTTP-Functions)!)
     }

?>

und später dann erst:

»»  <HTML><HEAD><TITLE></TITLE></HEAD><BODY></BODY>

Geschäft wählen:

<select name='parameter' size='1'>
<option value='leer'>keine wahl
<option value='19;1'>wahl1
<option value='19;2'>wahl2
</select>
  <input type='submit' name='Submit' value='Go'>
</form>
</HTML>

Die zweite Methode hat einen Riesenvorteil: Wenn dir die Parameter nicht passen
(ungültiger Werte, nicht alle Felder vorhanden) machst du keinen Redirekt
(einfach ein if() vor den header() Aufruf) und bleibst dann im Formular.
Ausserdem vermeidest du die blöde Netscape-Fehlermeldung beim Reload/Resize
ge'post'eter Formulare.

Gruss,
Carsten