Formulareingaben in PHP includierten Dateien

Christof Kruse

Grünschnabel
Ich habe ein Formular in dem ich mehrere Eingaben tätigen kann.

Diese sollen an ein php-script weitergereicht werden:
PHP:
echo "<form action=\"admin.php?action=ShowUserAtt\" method=post>";
  echo "Wählen Sie den User: (".mysql_num_rows($rs).")<select size=\"1\" name=\"User\" onchange=\"this.form.submit()\">)\n";

  while ($row=mysql_fetch_array($rs))  {
       $Benutzername=addslashes($row['Benutzername']);
       if ($Benutzername==$nickname) {
           echo "\n<option selected>".$Benutzername."</option>";
       } else {
           echo "\n<option>".$Benutzername."</option>";
       }
  }
  echo "</select><input type=\"image\" value=\"submit\" src=\"".$hsk_image."/ok.gif\">";
  echo "</form>";

in der admin.php soll jetzt ein php script includiert werden:
PHP:
$get_action = $_GET["action"];

if ($get_action <> "") {

	$mach  = "inc/action.";
	$mach .= $get_action;
	$mach .= ".php";
	

}else{                   
	
	$mach  = "inc/action.";
	$mach .= "main";
	$mach .= ".php";

}
	include($mach);

Bis hierin alles OK.

Die Eingaben des Formulares lassen sich jedoch in der includierten Datei nicht abfragen.

Meine Frage was mach ich falsch.

Im Vorfeld Danke für die Mühen.
 
Was haben den diese beiden Scripts miteinandern zu tun? Ich verstehe deine Frage nicht ganz...Was passiert wenn du $get_action ausgibst?
 
Zusammenhang und $get_action

Zunächst einmal Danke für die schnell Antwort.

1. Was haben die scripts miteinander zu tun.

Es soltle eine (elegante) Lösung gschaffen werden, aus unterschiedlichen Formularen immer das admin.php mit unterschiedlichen Aktionen aufzurufen, bzw. diese dann auch dann entspechend zu verarbeiten.
Dies hatte ich zunächst mit einer switch - case Anweisung gelöst, welche auch funktioniert. Hierbei wurde das script sehr unübersichtlich (und lang).
Aus diesem Grund wollte ich das script in mehere kleinere Packet zerlegen und für jeden Wert von $get_aciton ein anderes script includieren.


2. Was passiert wenn du $get_action ausgibst?

Gebe ich $get_action via echo aus, wird der gepostete Wert angezeigt.
Das zu includierende Script wird auch angespochen und ausgeführt. Aber die geposteten Eingaben des Formulares sind nicht abfragbar.

Auszug aus der inc/action.ShowUserAtt.php
PHP:
<?
//======================================================
//
//    Hier werden die User angaben angezeigt
//
//======================================================
   include("include.inc");
   require("inc/inc.function.php");

//  case "ShowUserAtt":
    $nickname=$_POST['User'] ;
    echo $nickname;    //Liefert nichts
 
Ich wiess nicht aber was passiert wenn du in das <form>-Tag das method="post" in Anführungszeichen schreibst?
 
Zurück