Verf...lixtes $HTTP_POST_VARS will net so wie ich gern will

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Verf...lixtes $HTTP_POST_VARS will net so wie ich gern will

    Hallo erstmal und im voraus vielen Dank für die Hilfe die ich schon bekommen habe und hoffentlich noch bekommen werde.

    Also, ich hab das Mailscript von http://www.php-resource.de/forum/sho...ontaktformular benutzt.

    Das ist aber nicht das Hauptproblem - denke ich. Es ist vielmehr so, dass ich nicht an die verschickten Formulardaten rannkomm.
    Nach dem Absenden ruft sich das Dokument selber wieder auf und erkennt mittels einer Parameterübergabe ob Formulardaten versendet wurden und stellt sich per Fallunterscheidung anders dar (if) - geht auch wunderbar.

    Mit
    PHP-Code:
    $var $HTTP_POST_VARS
    foreach (
    $var as $value)
    {
       echo 
    $value;

    versuch ich mal alle POST-Daten auszugeben - weil sonst das weiterverarbeitende PHP-Script immer meckert, dass die POST-Variablen nicht da sind. (Notice: Undefined index: contactname in ...)
    Mit der foreach-Variante KOMMT ABER GAR NIX RAUS !!! - wohl weil nix da ist.

    Der form-Aufruf sieht folgendermassen aus:
    Code:
    <form name='contactform' id='contactform' method='post' enctype='text/plain' action='start.php?seite=...ÜBERGABELISTE ALLER REFERENZEN...>
    .
    .
    <input type='Text' name='contactname' id='contactname' value='' size='63'>
    .
    <input type='Text' name='contactmail' id='contactmail' value='' size='63'>
    .
    <textarea name='contactmessage' id='contactmessage' cols='61' rows='11'
    ></textarea>
    .
    <input type='submit' name='contactsend' id='contactsend' value='SEND'>
    .
    </form>
    Hab ich jetzt irgendwo totalen Bockmist gebaut?
    $_POST hab ich auch probiert - selbes Problem!
    Auf dem späteren Server ist's das gleiche!

    Ich Dank schonmal und entschuldige mich für meine "Dummheit" )

  • #2
    mach mal ein
    print_r($_POST);
    dann siehst du, ob überhaupt was ankommt...

    gruss

    Kommentar


    • #3
      Array ( )
      mehr kommt net ...

      Was bedeutet das jetzt?
      Müssten in Klammern die Array-Felder ausgegeben werden!?

      Kommentar


      • #4
        dann kommen die daten nicht an...

        poste mal den Code des Formulares (ohne kürzungen), die parts for dem <form> und nach dem </form> kannste weglassen!

        gruss

        Kommentar


        • #5
          registerglobal off?

          PHP-Code:
          <form name='contactform' id='contactform' method='post' enctype='text/plain' action='start.php?seite=...ÜBERGABELISTE ALLER REFERENZEN...> 
          pack das mal alles in hiddenfelder was hier steht = ?seite=...ÜBERGABELISTE ALLER REFERENZEN...

          PHP-Code:
          <input type="hidden" name="seite" value="xyz"
          Dann prüfe ob $POST['contactname'] leer ist.
          PHP-Code:
          if (empty($_POST['contactname']))
          {
          $contactname "ist leer";
          }
          else
          {
          $contactname $_POST['contactname'] ;
          }
          echo 
          "$contactname"

          mfg
          marc75

          <Platz für anderes>

          Kommentar


          • #6
            @marc75
            JUP 'register_globals' = Off

            Das mit den HIDDEN-Feldern hab ich probiert - ging nicht, bzw. AUSGABE = ist leer.
            btw: die Seitenreferenzen sollen schon mit GET, die formulardaten aber mit POST übergeben werden.
            Oder hab ich da was falsch verstanden???

            @MoRtAlAn
            PHP-Code:
            <form name='contactform' method='post' enctype='text/plain' action='start.php?seite=".$varhttp_seite."&hp=".$varhttp_hp."&hier1=0&hier2=0&h2ID=0&hier3=0&hpID=".$varhttp_hpid."&h1IDfk=0&name=&send=true'>
                                <
            table width='420' height='420' border='0' cellspacing='0' cellpadding='0' align='left' class='inhaltfliesstext'>
                                    <
            tr align='left' valign='top'>
                                        <
            td width='12' height='33' ><img src='../img/blank.gif' width='12' height='33' alt='' border='0'></td>
                                        <
            td width='78'><img src='../img/blank.gif' width='78' height='1' alt='' border='0'></td>
                                        <
            td width='330'><img src='../img/blank.gif' width='330' height='1' alt='' border='0'></td></tr>
                                    <
            tr align='left' valign='top'>
                                        <
            td height='10'><img src='../img/blank.gif' width='1' height='10' alt='' border='0'></td>
                                        <
            td valign='top'>NAME</td>
                                        <
            td style='background-color:#53524F;'><input type='Text' name='contactname' id='contactname' value='' size='63' class='contactfield'></td></tr>
                                    <
            tr align='left' valign='top'>
                                        <
            td height='10'><img src='../img/blank.gif' width='1' height='10' alt='' border='0'></td>
                                        <
            td valign='top'>E MAIL</td>
                                        <
            td style='background : #53524F;'><input type='Text' name='contactemail' id='contactemail' value='' size='63' class='contactfield'></td></tr>
                                    <
            tr align='left' valign='top'>
                                        <
            td height='136' rowspan='2'><img src='../img/blank.gif' width='1' height='136' alt='' border='0'></td>
                                        <
            td valign='top'>MESSAGE</td>
                                        <
            td rowspan='2'><textarea name='contactmessage' id='contactmessage' cols='61' rows='11' class='contactfield'></textarea></td></tr>
                                    <
            tr align='left' valign='top'>
                                        <
            td valign='bottom'><img src='../img/pfeil.gif' width='4' height='7' alt='' border='0'><img src='../img/blank.gif' width='0' height='7' alt='' border='0'><input type='submit' name='contactsend' id='contactsend' value='SEND' class='button'></form></td>
                                    <
            tr align='left' valign='top'>
                                        <
            td height='181'><img src='../img/blank.gif' width='1' height='181' alt='' border='0'></td>
                                        <
            td><img src='../img/blank.gif' width='1' height='1' alt='' border='0'></td>
                                        <
            td class='normal'><br><br><br>IMPRESSUM:</td>
                                    <
            tr align='left' valign='top'>
                                        <
            td height='50'><img src='../img/blank.gif' width='1' height='50' alt='' border='0'></td>
                                        <
            td><img src='../img/blank.gif' width='1' height='1' alt='' border='0'></td>
                                        <
            td><img src='../img/blank.gif' width='1' height='1' alt='' border='0'></td></tr>
                                </
            table>
            Das ganze steht noch in " "" und wird einer Variablen zugewiesen: $inhalt = " ... " weil das in einem ITX-Template verarbeitet wird. Ich weiss nicht ganz sauber meine Code/Layout-Trennung - aber Schwamm drüber.

            Kommentar


            • #7
              nochmal @marc75:

              ich hab das mit den hiddenfields nochmal probiert.
              Ist natürlich ne Möglichkeit - aber ich will das ja wie gesagt nicht unbedingt als Parameter übergeben. Das ist nur für die aufrufenden Seiten gedacht.
              Ausserdem sind da nicht Probleme mit längeren Eingabetexten zu befürchten?
              Deswegen doch eher als POST. Kann es ein Problem sein, dass ich eine Parameterübergabe (GET) und eine POST zusammen mache?

              Kommentar


              • #8
                das mit den hiddenfelder hat eigentlich nur was mit korrektem html zu tun.

                du musst halt die variablen die hinter start.php stehen mit $_GET ansprechen.

                Aber lass dir doch mal die arrays ausgeben.

                füge mal in start.php

                print_r($_GET); und print_r($_POST) ein und schau mal nach was alles übertragen wird.
                mfg
                marc75

                <Platz für anderes>

                Kommentar


                • #9
                  Also wenn ich
                  print_r($_POST);
                  print_r($_GET);
                  mache, kommt:

                  Array() Array( WAHNSINNIGVIELZEUG)

                  Also wie gesagt, dass mit dem GET funktioniert ja 1a. Bei der GET-Ausgabe seh ich dann den ganzen Rattenschwanz wie in der Adresszeile auch.
                  Das Problem ist der Standardeingabekanal (POST) - und für das form will ich halt lieber den benutzen statt die Parameterliste.

                  Kann es sein dass in meiner PHP.ini was nicht richtig ist - ist aber doch eher nen HTML-Problem, oder??? Stimmt dann was in der http.conf vom Apache nicht? Hab erst kürzlich von IIS auf Apache gewechselt )) und bin deshalb noch net so fitt damit.

                  Kommentar


                  • #10
                    bei $_POST ist der array leer? wenn ja werden keine daten übertragen aus dem formular, würde ich mal sagen.
                    mfg
                    marc75

                    <Platz für anderes>

                    Kommentar


                    • #11
                      PHP-Code:
                      <form name='contactform' method='post' enctype='text/plain' action='start.php?seite=".$varhttp_seite."&hp=".$varhttp_hp."&hier1=0&hier2=0&h2ID=0&hier3=0&hpID=".$varhttp_hpid."&h1IDfk=0&name=&send=true'
                      entferne mal [COLOR=orangered]enctype='text/plain'[/COLOR] , wenn ich mich recht erinnere ist das nur bei Email (mailto erforderlich.
                      mfg
                      marc75

                      <Platz für anderes>

                      Kommentar


                      • #12
                        Also jetzt hab ich die ÜBERKURIOSE Entdeckung gemacht.
                        Ich hab keine Ahnung was das bedeuten soll - aber vlt. hat ja jemand ne Idee.

                        Also wenn ich im <form>-Aufruf <!-- method='post' --> mache. Also das in HTML-Kommentare setze und nicht rauslösche bekomm ich auf einmal als Ausgabe über dem Seitenlayout:
                        Array ( [contactname] => blabla [contactemail] => blabla@irgendwas.de [contactmessage] => blabla [contactsend] => SEND )
                        Das ist das POST-Array von print_r($_POST);
                        Und:
                        Array ( [seite] => contact [hp] => contact [hier1] => 0 [hier2] => 0 [h2ID] => 0 [hier3] => 0 [hpID] => 6 [h1IDfk] => 0 [name] => )
                        Das ist das GET-Array von print_r($_GET);

                        Die Parameter in der Adresszeile sind auch da
                        http://DEVELOPMENTSERVER/start.php?seite=contact&hp=contact&hier1=0&hier2=0&h2ID=0&hier3=0&hpID=6&h1IDfk=0&name=
                        und das obwohl ich die hiddenfields weggemacht habe und er in diesem Fall vorher nur die form-Daten übergeb hat und die alten Parameter natürlich verworfen hat.

                        Zudem bekomm ich im Layout (HTML-Ausgabe)
                        enctype='text/plain' action='start.php?seite=contact&hp=contact&hier1=0&hier2=0&h2ID=0&hier3=0&hpID=6&h1IDfk=0&name=&send =true'>
                        Das ist all das was hinter dem <!-- method='post' --> steht.

                        Deswegen führt er den action im form auch nicht richtig (oder gar nicht aus). Den neuen Parameter 'send=true' übergibt er nämlich nicht. Er scheint nur dieselbe Seite (mit all ihren bestehenden Parametern) nochmal zu laden und übergibt dabei dann nur die neuen GET- und POST-Parameter-
                        Ist das so wenn man keinen action angiebt?

                        Ist das nicht kurios!?? So - jetzt seid ihr dran *g*

                        Kommentar

                        Lädt...
                        X