Formular validieren

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

  • Formular validieren

    Hallo,

    Also hab hute schonmal gepostet aber find denn beitrag nicht mehr ging wohl irgend wie verloren ;(

    Ich sende die daten von einem formular an dieses(sihe unten) Script. Ich will die daten anzeigen lassen die umbrüche in <BR> umwandeln (\n ; \r ; \r\n).

    Und alle sonderzeichen HTML Komform darstellen.

    Beim bestätigen will ich das ganze an mich per mail geht, soweit sogut nur klappt das irgendwie nur halb ;(

    ".(5+4)."
    da macht er mist wenn das im Nachrichten pfeld drin steht ;(

    danke für die mühe

    PHP-Code:
    <?

    //Wenn das script so aufgerufen wird
    #if (!isset($Action))
    #    header('Location: [url]http://www.gimler.de[/url]');

    //Wenn das script bestätigt wurde
    if ($submit == 1) {

        htmlspecialchars($name);
        htmlspecialchars($thema);
        htmlspecialchars($email);
        htmlspecialchars($nachricht);

        mail("gimler@gmx.de","Kontaktformular","

        Name: $name
        EMail: $email

        Thema: $thema

        Nachricht: $nachricht

        ","From: [email]kontakt@gimler.de[/email]");

        header('Location: [url]http://www.gimler.de[/url]');

    }

    if(empty($name)) $name = 'keine Angaben';
    if(empty($email)) $email = 'keine Angaben';
    if(empty($thema)) $thema = 'keine Angaben';
    if(empty($nachricht)) $nachricht = 'keine Angaben';

    $name = 'klaus&%';
    $email = 'meier@meier.de';
    $thema = '#muster';
    $nachricht = 'Man /*mals schauen*/

    #so das nicht
    //und das auch nicht
    ".(5+5) or die
    ';

    ?>



    <html>
    <head>
    <title>.: Gimler</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link rel="stylesheet" href="style.css">
    </head>
    <body bgcolor="#FFFFFF">
    <table border="0" cellspacing="0" cellpadding="5" width="367" align="center">
      <tr> 
        <td colspan="2" class="ub">Kontaktieren</td>
      </tr>
      <tr class="text" bgcolor="#F0F0F0"> 
        <td colspan="2"> <span class="subub">Alles richtig?</span> <br>
          Bitte kontrolliere nocheinmal alles und dann schick deine Nachricht ab. 
          Bitte gib deine richtige E-Mailadresse an, damit ich dir schnellst m&ouml;glichst 
          antworten kann.<br>
          <form method="get" action="email.php">
            <p>Dein Name<br>
              <INPUT type="hidden" name="name" value="<?= $name ?>"/>
              <span class="news_kontrolle"><?= htmlentities($name?></span>
              <br>
              Deine E-Mailadresse<br>
              <INPUT type="hidden" name="email" value="<?= $email ?>"/>
              <span class="news_kontrolle"><?= htmlentities($email?></span>
            </p>
            <p>Thema<br>
              <INPUT type="hidden" name="thema" value="<?= $thema ?>"/>
              <span class="news_kontrolle"><?= htmlentities($thema?></span>
              <br>
              Was du mir sagen willst<br>
              <INPUT type="hidden" name="nachricht" value="<?= $nachricht ?>"/>
              <span class="news_kontrolle"><?= $nachricht ereg_replace("(\r\n|\n|\r)""<br />"htmlentities($nachricht)); ?></span>
              <br>
              <br>
              <INPUT type="hidden" name="submit" value="1"/>
              <input type="submit" name="Action" value="Abschicken">
            </p>
          </form>
        </td>
      </tr>
    </table>
    </body>
    </html>
    www.gimler.de

  • #2
    ".(5+4)."
    da macht er mist wenn das im Nachrichten pfeld drin steht ;(
    definiere!

    Kommentar


    • #3
      Das Problem ist:

      Eingabe:
      Name [Gimler]
      E-Mailadresse [".$name."bla]

      Thema [Thema]
      Was du mir sagen willst
      [Ich wollt nur mal sagen
      // Kommentar
      # Kommentar

      ".$name.(5+4)."]
      So ankommen tut aber:

      Name: Gimler
      EMail: \\

      Thema: Thema

      Nachricht: Ich wollt nur mal sagen
      // Kommentar
      # Kommentar

      \\
      Ich will aber das es so ankommt wie es eingegeben wurde ;(

      Script wie oben nur hab die Mail action noch minimal verändert
      PHP-Code:
      //Wenn das script bestätigt wurde
      if ($submit == 1) {

          
      htmlentities($name);
          
      htmlentities($thema);
          
      htmlentities($email);
          
      htmlentities($nachricht);

          
      mail("gimler@gmx.de",$thema,"

          Name: 
      $name
          EMail: 
      $email

          Thema: 
      $thema

          Nachricht: 
      $nachricht

          "
      ,"From: [email]kontakt@gimler.de[/email]");

          
      header('Location: [url]http://www.gimler.de[/url]');


      www.gimler.de

      Kommentar


      • #4
        dass es genau an der stelle "abzubrechen" scheint, an der in deinem text ein anführungszeichen vorkommt, sollte dich eigentlich schon stutzig machen ...
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          ja schon klar nur wie entwerte ich jetzt das teil so das es dann aber in der mail wieder anständig aussieht?
          www.gimler.de

          Kommentar


          • #6
            mit musst du wohl \es vorsetzen...

            Kommentar


            • #7
              ja

              quotemeta

              wäre eine funktion die dies machen würde nur hab ich die dann auch in meiner mail ;( und genau das will ich nicht.

              Also müste ich die in ein anderen zeichencode machen? Aber wie und welcher?
              www.gimler.de

              Kommentar


              • #8
                nimm einfach addslashes und das gegenteil (poste ich hier nicht, weil du es selber finden wirst )

                Kommentar


                • #9
                  ja aber geht doch nicht?


                  ich kann die variable zwar mit addslashes entwerten aber das problem ist doch wann ich das gegenteil anwenden soll?

                  Weil ich müste ihn ja nachversend der mail machen ;(
                  www.gimler.de

                  Kommentar


                  • #10
                    wieso datt denn???

                    Kommentar


                    • #11
                      Re: Formular validieren

                      PHP-Code:
                      htmlspecialchars($name); 
                      Das Ergebnis der Funktion wird keiner Variablen zugewiesen und so bewirkt das überhaupt nichts. Die Umwandlung wird zwar durchgeführt, aber das zurückgelieferte Ergebnis verpufft...

                      Mach mal:
                      PHP-Code:
                      $name=htmlspecialchars($name); 

                      Kommentar


                      • #12
                        in der variable sind zeichen wie " enthalten

                        wenn ich sie mit addslashes entwerte kommt \" das raus der mail versandt geht aber nun staht auch inder mail \" wie bekomm ich aber " in die mail?
                        www.gimler.de

                        Kommentar


                        • #13
                          ich glaub ich hatte erwähnt, dass du ganz schnell an die gegenfkt kommst, wenn du mal im manual nachsiehst.

                          Kommentar


                          • #14
                            @tobiaz
                            stripslashes ja ich weis

                            @DSB
                            danke ist mir garnicht aufgefallen das ich das vergessen hab ;(


                            @all
                            Das problem ist das die daten richtig vorliegen, aber an der stelle wo die mail() funktion ausgeführt wird da ist schlecht.

                            Wenn ich mit addslashes das " entwerte kommt später in meiner mail aus \" das an. Ich will aber das " ankommt. Ich müste also wissen wie mail codiert werden?

                            und dann denn string codieren
                            www.gimler.de

                            Kommentar


                            • #15
                              Ich müste also wissen wie mail codiert werden?
                              kannst du doch selbst bestimmen: quoted, 7bit, ...

                              Kommentar

                              Lädt...
                              X