Marco: Formularwerte übergeben

Sali Forum

Ich möchte ein Formular auswerten. Also wenn ein User das Formular ausgefüllt hat, sollte eine Bestätigungsseite erscheinen, in welcher nochmals alle Angaben aufgelistet sind, die er ausgefüllt hat. Laut diversen Büchern ginge das ganz einfach... der Inhalt des Inputfeldes wird auf der Bestätigungsseite automatisch in eine Variable übgeben. Leider geschieht das in der PHP Version 4.2.2 nicht mehr...
Jetzt meine Frage: Wie kann ich das trotzdem übergeben?
Bin für jede Hilfe dankbar...

Gruess Marco

  1. Hi Marco,

    Ich möchte ein Formular auswerten. Also wenn ein User das Formular ausgefüllt hat, sollte eine Bestätigungsseite erscheinen, in welcher nochmals alle Angaben aufgelistet sind, die er ausgefüllt hat. Laut diversen Büchern ginge das ganz einfach... der Inhalt des Inputfeldes wird auf der Bestätigungsseite automatisch in eine Variable übgeben. Leider geschieht das in der PHP Version 4.2.2 nicht mehr...

    ?

    die Formulardaten sind entweder in $HTTP_POST[GET]_VARS (1) bzw. in $_POSTGET zu finden
    Oder stolperst Du gerade über register_globals=off?

    (1) man setze je nach der Methode in der Form Post oder Get ein.

    ciao
    romy

    1. Sali Romy

      Oder stolperst Du gerade über register_globals=off?

      Das wäre gut möglich?!? Laut phpinfo sind register_globals=off...
      Ist das nun gut oder schlecht :-)
      Wie kann man die auf on stellen?
      Fragen über Fragen...

      Gruss Marco

      1. Hi Marco,

        Oder stolperst Du gerade über register_globals=off?
        Das wäre gut möglich?!? Laut phpinfo sind register_globals=off...
        Ist das nun gut oder schlecht :-)
        Wie kann man die auf on stellen?
        Fragen über Fragen...

        on bedeutet, dass Du direkt auf die übergebenen Variablen zugreifen kannst, dass ist allerdings ein Zustand den man vermeiden sollte, denn wie willst Du sonst wissen, ob $var eine Formularvarioable ist, oder eine Sessionvariable oder eine Servervariable.

        Deswegen greift man auf diese Variablen über das jeweilige globale Array zu. Also $_POST, $_GET, $_SESSION usw.

        Soweit ich weiss ist das auch wesentlich sicherer.

        Wenn Dir das egal ist, kannst Du entweder direkt in der php.ini register_globals auf on setzen oder ich glaube es geht auch über ini_set()

        ciao
        romy

        1. Ok, danke für dein Hilfe Romy. Ich glaube ich werde die register_global auf on stellen. Anders bekomme ich das vorerst irgendwie nicht gebacken :-)

          Gruss Marco

          1. Hi,

            Ok, danke für dein Hilfe Romy. Ich glaube ich werde die register_global auf on stellen. Anders bekomme ich das vorerst irgendwie nicht gebacken :-)

            bitte, aber was ist dein Problem eine Variable nicht über ihren Namen sonder über ihren Eintrag in einem globalen Array abzufragen. Ob Du nun echo $var schreibst oder echo $_POST["var"] ist doch egal oder? (ob es post oder get ist, weisst DU wenn Du guckst, ob du dein Formular mit method="post" oder method="get" ausstattest)

            Warum sollte man es erst falsch lernen? ;)

            ciao
            romy

            1. Sali

              bitte, aber was ist dein Problem eine Variable nicht über ihren Namen sonder über ihren Eintrag in einem globalen Array abzufragen. Ob Du nun echo $var schreibst oder echo $_POST["var"] ist doch egal oder? (ob es post oder get ist, weisst DU wenn Du guckst, ob du dein Formular mit method="post" oder method="get" ausstattest)

              Mein Problem damit ist, dass ich es die ganze Zeit schon so versucht habe, es aber irgendwie einfach nicht klappen will...
              Aber ok, du hast es nicht anders gewollt :-)
              Hier ist mal der Link zum Formular:
              <link>http://www.zti.ch/db/angebot_infostest.php?id=113<link>
              Wie ich vorhin im php info von der Bestätigungseite entnehmen konnte, werden die Variablen übergeben. Nur das aufrufen auf der Bestätigungsseite (auswahl.php) funzt nicht...
              Naja, wenn du lust und zeit, tu dir keinen Zwang an, mal nachzuschauen... Ich bin mit meinen Nerven am Ende :-)

              Gruss Marco

              1. ich bins nochmal

                Ein Wunder ist geschehen. Es geht! Habe nur von Get auf Post gewechselt... Und vorhin oft die Falsche Datei upgeloadet, ich depp :-)
                Danke für die Hilfe und dem ganzen Forum noch einen schönen Abend :-)

                Gruss Marco

  2. Das ist abhängig von den php.ini Einstellungen und der track_vars Einstellung . Auf die Post Variablen kannst du aber immer über $_POST oder $HTTP_POST_VARS zugreifen (und solltest das aus Portierunggründen auch tun, wobei $_POST ab PHP 4.1 vorhanden ist und bevorzugt verwendet werden sollte). Der Unterschied zwischen beiden ist, daß $_POST stets global ist, in einer Funktion also nicht als global definiert werden muß, um darauf zuzugreifen. $HTTP_POST_VARS dagegen verhält sich wie eine normale globale Variable.
    Mehr findest Du im PHP Handbuch unter "Vordefinierte Variablen" herunterladbar von http://www.php.net/docs.php

    MfG
    GK

    1. sendefile

      form ... method="post" ....
      ....
      <input type="text" name="furz" ... >
      ...

      .-.-.-.-.-.-.-.-.-.-.

      empfangsskript
      <?
       $furz_1 = $_POST['furz'];
       echo "$furz - heureka";
      ?>

      mfg

      Ansgar

      1. Ja ist schon gut ist ein Fehler im CODE. bevor ihr mich hier zerreißt. aber so funtzts.

        empfangsskript
        <?
         $furz_1 = $_POST['furz'];
         echo "$furz - heureka";

        heisst $furz nicht $furz_1.