Anfängerfrage zu $_Post

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

  • Anfängerfrage zu $_Post

    Hallo ich habe folgendes Problem und hoffe hier eine Lösung zu finden:

    Ich habe einen Formmailer, der Eingaben per Mail überträgt
    und dann die Informationen auf einer Druckseite anzeigen soll.

    In der Mail werden alle Eingaben richtig (vollständig) übertragen,
    bei der Ausgabe der Druckseite werden die Eingaben nach dem ersten
    Leerzeichen abgeschnitten. Aus der Eingabe "dies ist ein Test" wir "dies".

    Was habe ich hier wohl falsch gemacht????

    Danke für eure Hilfe.

    Gruß
    Bernd

    PS: Ich habe es auch schon mit $_Post versucht.


    1. Eingabeformular

    PHP-Code:
    $text .="Vorname:            $a_vorname\n";
    $text .="Nachname:           $a_nachname\n";
    $text .="Strasse:            $a_strasse\n";
    $text .="PLZ:                $a_plz\n";
    $text .="Ort:                $a_ort\n";
    ....
    $versand "<listing></form>Nachricht weitergeleitet!

    <br><br>Formular ausdrucken,<br>dazu klicken sie auf \"Druckansicht\".<br>

    <form name=\"form1\" method=\"post\" action=\"druckseite.php\">

    <input type=\"submit\" name=\"Abschicken\" value=\"Druckansicht\">

    <input type=\"hidden\" name=\"a_vorname\" value=" 
    $HTTP_POST_VARS['a_vorname'] . ">

    <input type=\"hidden\" name=\"a_nachname\" value=" 
    $HTTP_POST_VARS['a_nachname'] . "> 
    2. Druckseite

    PHP-Code:
    <listing>
    Vorname:         <? echo $_POST['a_vorname']; ?>

    Nachname:        <? echo $HTTP_POST_VARS['a_nachname']; ?>

    Strasse:         <? echo $HTTP_POST_VARS['a_strasse']; ?>

    PLZ:             <? echo $HTTP_POST_VARS['a_plz']; ?>
    Zuletzt geändert von bernd_nrw; 31.01.2008, 20:35.

  • #2
    Guck dir den generierten HTML-Quelltext an.

    Da steht vermutlich
    Code:
    value=dies ist ein Test
    Woher soll der Browser also wissen, dass erst nach Test das Feld zuende ist und nicht schon nach dies? Genau. Also schnell valides HTML darauf machen (Anführungszeichen) und gut ist.

    Bitte fürs nächste mal noch vorher die Suche verwenden UND unsere Regeln bezüglich dem Posten von Codes lesen. Danke!

    Kommentar


    • #3
      Hallo TobiaZ,

      danke für die schnelle Antwort.

      Der HTML Quelltext sieht wie folgt aus:

      <h2>Auftraggeber</h2>
      <listing>
      Vorname: Test

      Also auch nicht besser.

      Ich habe bereits alle Formen von Anführungsstrichen versucht, 2 PhP Bücher durchforstet .....

      Bernd

      PS:

      1. ich habe die Suche verwendet, aber nichts gefunden. Vielleicht weiss ich nicht wonach ich suchen muss um fündig zu werden

      2. Was habe ich beim Posten falsch gemacht?

      Kommentar


      • #4
        1. du solltest in deinem quellcode von zeit zu zeit einen zeilenumbruch einbauen, damit wir nicht horizontal scrollen müssen.

        2. zum thema zeichenketten empfehle ich dir das hier

        3. was HTTP_POST_VARS angeht, solltest du das hier mal lesen

        4. der fehler steckt hier:
        PHP-Code:
        value=" . $HTTP_POST_VARS['a_vorname'] . "
        weil da die anführungszeichen fehlen. und darum lies das mal, was ich unter 2. verlinkt habe.

        gruß
        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Hallo Peter,

          vielen Dank für die Links, die sind wirklich gut.

          Leider muss ich mich weiter als absoluter dummy outen.

          Nach der Beschreibung müsste doch eigentlich

          echo $_post ['a_vorname']

          klappen, tut es aber nicht!

          Mit den Anführungsstrichen, also

          Vorname: <? echo " . $_POST ['a_vorname'] ." ; ?>

          hat zum Ergebnis die Ausgabe

          Vorname: . Array ['a_vorname'] .

          <? print_r ($_POST ['a_vorname']) ; ?>

          bring wieder nur "test"

          HILFE!!!

          Kommentar


          • #6
            bevor du deinen code oben nicht entsprechend umbrochen hast, so dass man nicht mehr horizontal scrollen muss, werde ich dir nicht helfen. also bitte!

            gruß
            peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              Geschafft - nicht mal das Umbrechen geht so ohne Weiteres...

              Kommentar


              • #8
                Man man, jetzt hab ich es schon ganz lieb erklärt und muss trotzdem wieder mal feststellen, dass es auch so nicht klappt.

                Kropff hat dir doch die Fehlerhafte stelle GANZ DEUTLICH gezeigt. Davor schon habe ich dir sogar gesagt, wie diese Stelle im HTML-Quelltext deiner Seite aussieht. Hiermit ist natürlich die Vorschauseite/Eingabeformular gemeint und NICHT die Druckseite, oder warum erwartest du dort ein Formular-Attribut wie "value"?

                Weiter habe ich erklärt, wieso der Browser damit ein Problem hat und wie du es ganz simpel lösen kannst.

                Sollte das jetzt immer noch nicht hinhauen, verweise ich dich an den Validator des W3C. Wenn du alle dort erscheinenden Fehler beseitigt hast, ist sicher auch dein Problem behoben. Wenn nicht, darfst du gerne noch mal hier fragen, dann werde ich den Fehler auch persönlich beheben. In diesem Sinne, viel Erfolg!

                EDIT:
                Bitte streiche alle freundlichkeit aus diesem Posting, ich habe gerade erfahren, dass du behauptest du beschäftigst dich geschäftlich - Zitat: "mit Softwareentwicklung [...] und mit der Erstellung von Homepages."
                Zuletzt geändert von TobiaZ; 31.01.2008, 21:34.

                Kommentar


                • #9
                  1. das hier ist tinnef:
                  PHP-Code:
                  Vorname: <? echo " . $_POST ['a_vorname'] ." ; ?>
                  2. was ergibt print_r($_POST)?
                  3. der fehler liegt bereits in der erzeugung des formulars, da dort der fehler ist. und bitte auch da mit $_POST arbeiten.
                  PHP-Code:
                  $versand "<listing></form>Nachricht weitergeleitet!
                  <br><br>Formular ausdrucken,<br>dazu klicken sie auf \"Druckansicht\".<br>
                  <form name=\"form1\" method=\"post\" action=\"druckseite.php\">
                  <input type=\"submit\" name=\"Abschicken\" value=\"Druckansicht\">
                  <input type=\"hidden\" name=\"a_vorname\" value=" 
                  $HTTP_POST_VARS['a_vorname'] . ">
                  <input type=\"hidden\" name=\"a_nachname\" value=" 
                  $HTTP_POST_VARS['a_nachname'] . "> 
                  denn da fehlen bei den values die anführungszeichen! ruf die datei im browser auf und schau dir den erzeugten(!) quellcode an. benutze ggf. mal den w3c-validator und beseitige die feherl entsprechend.

                  btw: was soll denn <listing> sein? eine eigenkreation?

                  gruß
                  peter
                  Zuletzt geändert von Kropff; 31.01.2008, 21:12.
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Kommentar


                  • #10
                    Hallo Peter,

                    das 1. Mist ist ist mir klar

                    2. print_r($_Post) ergibt auch nur das erste Wort der Zeichenkette :-(

                    3. Aber da sind doch die Anführungszeichen oder nicht??

                    value=" . $HTTP_POST_VARS['a_vorname'] . ">

                    4. so sieht das als HTML aus:

                    <listing>
                    Vorname* <input type="text" name="a_vorname" size="52" value="">
                    Nachname* <input type="text" name="a_nachname" size="52" value="">
                    Strasse* <input type="text" name="a_strasse" size="52" value="">
                    PLZ* <input type="text" name="a_plz" size="52" value="">
                    Ort* <input type="text" name="a_ort" size="52" value="">
                    Land* <input type="text" name="a_land" size="52" value="">
                    Telefon <input type="text" name="a_telefon1" size="52" value="">
                    Telefon <input type="text" name="a_telefon2" size="52" value="">
                    Email <input type="text" name="a_email" size="52" value="">
                    </listing>

                    Würde die Fehler rausmachen, wenn ich wüsste wie - aber dazu später. Muss erst mal dieses erste Problem lösen.

                    5. Auf Seite des Formulars klappt es doch auch so

                    PHP-Code:
                     Vorname: <input type="text" name="a_vorname" size="52" 
                    PHP-Code:
                    value="<? echo $HTTP_POST_VARS['a_vorname']; ?>">
                    Gruß
                    Bernd
                    Zuletzt geändert von bernd_nrw; 31.01.2008, 21:17.

                    Kommentar


                    • #11
                      ein gültiges input feld sieht so aus:
                      PHP-Code:
                      <input type="text" name="bla" value="bla" /> 
                      bei deinem schreibst du aber beim value zwar " aber damit hört die Zeichenkette auf.Also brauchen wir wohl \"" so wie du es auch schon bei action verwendet hast
                      PHP-Code:
                      $versand "<listing></form>Nachricht weitergeleitet!

                      <br><br>Formular ausdrucken,<br>dazu klicken sie auf \"Druckansicht\".<br>

                      <form name=\"form1\" method=\"post\" action=\"druckseite.php\">

                      <input type=\"submit\" name=\"Abschicken\" value=\"Druckansicht\">

                      <input type=\"hidden\" name=\"a_vorname\" value=\"" 
                      $_POST['a_vorname'] . "\">

                      <input type=\"hidden\" name=\"a_nachname\" value=\"" 
                      $_POST['a_nachname'] . "\"> 
                      oder damit es nicht so häßlich ist macht man auch gerne sowas, wenn man unbedingt HTML Code inne Variable speichern will bzw per echo ausgeben will
                      PHP-Code:
                      echo '<input type="hidden" name="bla" value="bla" />'

                      Kommentar


                      • #12
                        Würde die Fehler rausmachen, wenn ich wüsste wie
                        das sind elementarste grundlagen! wer html nicht richtig kann, sollte mit php erst garnicht anfangen!

                        ich bin mal nicht so:
                        PHP-Code:
                        $versand '<listing></form>Nachricht weitergeleitet!
                        <br><br>Formular ausdrucken,<br>dazu klicken sie auf "Druckansicht".<br>
                        <form name="form1" method="post" action="druckseite.php">
                        <input type="submit" name="Abschicken" value="Druckansicht">
                        <input type="hidden" name="a_vorname" value="'
                        $_POST['a_vorname'].'">
                        <input type="hidden" name="a_nachname" value="'
                        .$_POST['a_nachname'].'">'
                        und wenn jetzt noch fehler auftauchen, die du nicht beseitigen kannst, dann empfehle ich dir, meinen auftritt (siehe signatur) komplett durchzuarbeiten. da werden alle grundlagen genau erklärt.

                        gruß
                        peter
                        Zuletzt geändert von Kropff; 31.01.2008, 21:37.
                        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                        Meine Seite

                        Kommentar


                        • #13
                          Sollte das tatsächlich immer noch nicht hinhauen, dann poste doch bitte mal nen Link zur Seite.

                          Kommentar


                          • #14
                            @krel:

                            Danke, das hat jetzt geklappt. Ich finde diese Anführungsstriche wirklich verwirred.

                            @peter: ebenfalls vielen Dank. Ich gelobe Besserung und werde mich mit dem Thema demnächst in Tiefe beschäftigen.

                            @TobiaZ: doch jetzt hat es geklappt. Ich habe an der vollkommen falschen Stelle gesucht. Sorry.

                            Nochmals Danke für die Hilfe.

                            Gruß
                            Bernd
                            Zuletzt geändert von bernd_nrw; 31.01.2008, 21:45.

                            Kommentar


                            • #15
                              Kropff hat dir doch die Fehlerhafte stelle GANZ DEUTLICH gezeigt. Davor schon habe ich dir sogar gesagt, wie diese Stelle im HTML-Quelltext deiner Seite aussieht. Hiermit ist natürlich die Vorschauseite/Eingabeformular gemeint und NICHT die Druckseite, oder warum erwartest du dort ein Formular-Attribut wie "value"?
                              Gib mir nen Tipp, wie man es dir noch genauer sagen soll?!?

                              Kommentar

                              Lädt...
                              X