Formularproblem

BeaTBoxX

Erfahrenes Mitglied
Hiho zusammen,

ich hab mal wieder ein Problem :(
Folgendes Szenario:
Ich habe eine index.php, in der je nach geklicktem Link im Menue per $_GET ein anderes Stichwort uebergeben, und entsprechend ne andere php Datei ( mit dem ensprechenden Inhalt für diesen Menuepunkt) includiert wird
also
PHP:
 If($_GET['page']=mydata){
require_once("mydata.php");
}

In dieser Subseite mydata.php habe ich ein Formular, welches mit dem Submitbutton namens "detailsubmit" abgeschickt wird und die action="index.php?page=mydata" hat.

Der Auswertungscode fuer das Form ist ebenfalls in dieser mydata.php mit der Bedingung:
PHP:
if(isset($_POST['detailsubmit'])
{
..auswerten...
}


Allerdings ruft er bei mir nach dem abschicken nur die index.php auf den "anhang" ?page=mydata scheint er zu ignorieren.
Ist es denn nicht möglich bei <form action=".."> etwas der form index.php?variable=wert zu übergeben?

Danke schonmal falls jemandem was einfaellt.

Gruß

Frank

PS: Gibt es eine bessere Struktur einer Webseite, als die Link-geklickt-abhängige Includierung von Subseiten wie ich das gemacht habe?
 
Meines Wissens geht das nicht per Action.

Lösungsvorschlag:

Nimm ein 'hidden' Feld und gib diesem den Variabelnnamen 'page' und als inhalt das 'mydata' mit....dann klappts auf alle Fälle.
 
Original geschrieben von RayMatrix
Meines Wissens geht das nicht per Action.

Lösungsvorschlag:

Nimm ein 'hidden' Feld und gib diesem den Variabelnnamen 'page' und als inhalt das 'mydata' mit....dann klappts auf alle Fälle.
Klar kann man an die Action noch einzelne Werte mit dranhängen. Warum sollte das nich gehen?
 
Naja bei mir gehts auf alle Faelle nicht :(

Aber ich frage mich, warum ein $_POST['namevomhiddeninput'] gehen soll waehrend ein $_POST['detailsubmit'] nicht geht

Das Script scheint ja in den Bedingungsrumpf von $_POST['detailsubmit'] garnicht reinzuspringen.. :(
 
Original geschrieben von BeaTBoxX
Naja bei mir gehts auf alle Faelle nicht :(

Aber ich frage mich, warum ein $_POST['namevomhiddeninput'] gehen soll waehrend ein $_POST['detailsubmit'] nicht geht

Das Script scheint ja in den Bedingungsrumpf von $_POST['detailsubmit'] garnicht reinzuspringen.. :(
Poste doch mal bitte die relevanten Stellen aus Deinem Formular.
 
Danke 'Chino' wieder was gelernt.

Nur für mich zum verständnis.....

Wenn ich per 'action' einen wert anhänge ist dieser ja aber nicht per $_POST abfragbar sondern dann nur per $_GET denn es wird ja in der URL weitergegeben.

Habe ich Deinen Wink verstanden ?
 
1.
Laut meines Wissensstandes:

$_GET -> aus URL
$_POST -> aus Formular

2.

Codeausschnitt:

Hier die mydata.php:

PHP:
$sqlqry_user = "SELECT * FROM tabelle  WHERE user='". $_SESSION['user'] ."'";
     $result_user = mysql_query($sqlqry_user);
     echo '<form action="index.php?page=mydata" method="POST">'. "\n";
     echo '<table class="mydatatable">'. "\n"
          .'<tr><td>Hallo ' . $_SESSION['user'] . '</td></tr>'. "\n";
          $zeile_user = mysql_fetch_assoc($result_user);
     echo '<tr><td>Datum1</td>' . '<td><input type="text" name="' . $zeile_user['datum1'] .'" value="' . $zeile_user['datum1'] . '" maxlength="50" size="20"></td></tr>'. "\n";

// [.... nochn paar text forms....]

       echo .'<tr><td><input type="submit" name="detailsubmit" value="abschicken"></td></tr>'
        .'</table>'. "\n"
        .'</form>'. "\n";

// Daten in DB eintragen
         if(isset($_POST['detailsubmit'])) {

   //   [.... Qry für eintraege erstellen  ....]

      if(($aenderung =mysql_query($sqlqry_detailsentry))) {
                   echo 'erfolgreich eingetragen';
              }
              else {
                   echo 'fehler beim eintrag';
              }     
     }


In der index.php steht dazu:

PHP:
<?php
session_start();
require_once("inc/config.php");
require_once("inc/db.php");
require_once("inc/function.php");
require_once("inc/header.php");

// menueabhaengige includes

if(!isset($_GET['page'])) {
require_once("inc/news.php");

[..  weitere optionale includes ... ]

elseif($_GET['page'] == 'mydata') {
require_once("inc/mydata.php");
}
...usw
}
 
Zuletzt bearbeitet:
Zurück