Ankündigung

Einklappen
Keine Ankündigung bisher.

php-formular problem beim absenden

Einklappen

Neue Werbung 2019

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

  • php-formular problem beim absenden

    ich habe ein php-kontaktformular programmiert. wenn ich es auf den strato-server lade, funktioniert das absenden jedoch nicht. folgende fehlermeldung erscheint:

    Parse error: parse error, unexpected T_STRING in /mnt/am2/01/287/00000024/htdocs/kontakt/mailer.php on line 46

    wie kann ich dieses problem lösen?

    hier die beiden codes:
    ----------------------------------------------------------------------------------
    mailer.php:

    <?php
    $form_name = "kontakt.html";

    //stammen die daten vom formular?

    if (isset($_POST["senden"]))
    {
    // Textfeldeingaben filtern
    function daten_reiniger($inhalt)
    {
    if (!empty($inhalt))

    {
    // html und php-code entfernen
    $inhalt = strip_tags($inhalt);
    // umlaute und sonderzeichen
    $inhalt = htmlspecialchars($inhalt);
    //überflüssige Zeichen
    $inhalt = trim($inhalt);
    //backslashes entfernen
    $inhalt = stripsplashes ($inhalt);
    }
    }

    return ($inhalt);
    }

    // schreibart durch umwandlung ersparen

    foreach ($_POST as $key=>$element)
    {
    if ($key != "senden")
    {
    //eingaben filtern
    $daten = daten_reiniger($element);
    // dynamische variablen erzeugen, wie mailer_name
    ${"mailer_".$key} = $daten;
    $maildaten .="$key: $daten\n";
    }
    }

    //mailadresse korrekt angegeben

    if (!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$","mailer_email))
    {
    $error_msg. = "Fehlerhafte E-Mail Adresse!
    ";
    }

    //prüfen ob felder vorgekommen sind

    if($error_msg)
    {
    echo "
    <html>
    <head>
    <title>
    Formular - Fehler
    </title>
    <link rel="stylesheet" href="css/formate.css" type="text/css">
    </head>
    <body>
    Ihre Anfrage konnte nicht übermittelt werden. Bitte versuchen Sie es erneut!
    </body>
    </html>
    ";
    }

    else
    {
    $mailer_datum = date("Y-m-d H:i:s");

    echo "
    <html>
    <head>
    <title>
    Formular - Versand
    </title>
    <link rel="stylesheet" href="css/formate.css" type="text/css">
    </head>
    <body>
    Ihre Anfrage wurder erfolgreich versendet! Vielen Dank!
    </body>
    </html>
    ";
    include ("autorespond.php");
    }

    }

    else
    {
    echo "
    <html>
    <head>
    <title>
    Formular - Fehler
    </title>
    <link rel="stylesheet" href="css/formate.css" type="text/css">
    </head>
    <body>
    Ihre Anfrage konnte nicht übermittelt werden. Bitte versuchen Sie es erneut!
    </body>
    </html>
    ";
    }
    ?>




    -----------------------------------------------------------------------------------

    und die respond.php:


    <?php

    if (isset($_POST["senden"]))
    {
    //mail an webmaster
    $webmaster="info@berlisystems.de";

    $mailinhalt = "
    Anfrage\n
    E-Mail: $mailer_email\n
    $maildaten\n
    Zeit: $mailer_datum\n
    ";

    @mail($webmaster, "Anfrage", $mailinhalt, "From:$mailer_email");

    //autoresponder
    $datei = text/automail.txt";
    $fp = fopen($datei, "r");
    $inhalt = fread($fp, filesize($datei));
    fclose ($fp);

    @email ("$mailer_email", "Dank für Ihre Anfrage", "$inhalt\n\n", "From:$webmaster");

    }

    else
    {
    echo "
    <html>
    <head>
    <title>
    Formular
    </title>
    <link rel="stylesheet" href="css/formate.css" type="css/text">
    </head>
    <body>
    Die Anfrage konnte nich übermittelt werden. Bitte versuchen Sie es erneut!
    </body>
    </html>
    ";
    }

    ?>


    -------------------------------------------------------------------------------
    vielen dank für eure hilfe!

  • #2
    Fehler:

    Zeile 46:
    PHP-Code:
    <?php
      
    if  (!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$","mailer_email))
    ?>
    hinten bei mailer_email das " durch ein $ ersetzen.

    Hinweis:
    Zeile 47: $err_msg .= "..."
    Du solltest sicherstellen das $err_msg vorher initialisiert wird, da du sonst eine Warnung bekommst.

    Gruß BlackHawkDC
    --
    kostenlose geschenklisten unter www.wunli.de

    Kommentar


    • #3
      @tobias82

      Bitte [PHP]-Tag benutzen um PHP-Code zu posten

      if (!ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$","mailer_email))
      ereg() ist zwar veraltet, aber bei deinen regulären Ausdruck kannste auch eregi() benutzen:

      eregi("^[_a-z0-9\-]+(\.[_a-z0-9\-]+)*@([a-z0-9\-]+\.)+([a-z]{2,4})$

      Kommt letztlich auf das selbe raus, nur dass die Zeile kleiner ist
      Und bei einen - Zeichen muss auch ein \ davor, sonst wird das falsch interpretiert.
      Ansonsten würde ich preg_match() vorziehen, siehe PHP-Handbuch.

      Kommentar


      • #4
        neue fehlermeldung

        so nun habe ich dank eurer hilfe den obigen fehler behoben. leider gibts jetzt ein neues problem, was ich überhaupt nicht verstehe:

        Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in /mnt/am2/01/287/00000024/htdocs/kontakt/mailer.php on line 59


        in zeile 59 ist doch html-code und der ist absolut korrekt. was ist an </title> so falsch, dass angeblich ein komma oder semikolon fehlt???

        kann das mit der evtl. nicht initialisierten variablen error message zusammenhängen? wenn ja, wie und wo sollte ich diese initialisieren?

        danke nochmals!!!!

        Kommentar


        • #5
          wie wärs wenn du mal den betreffenden code +/- 2 zeilen posten würdest? ich such mir das doch jetz nicht raus -.-

          PHP-Code:
          <?php
           
          echo "
          <html>
          <head>
          <title>
          Formular - Versand
          </title>
          <link rel="
          stylesheet" href="css/formate.css" type="text/css">
          </head>
          <body>
          Ihre Anfrage wurder erfolgreich versendet! Vielen Dank!
          </body>
          </html>
          "

          ?>
          jetzt denk mal haarscharf nach warum eine fehlermeldung kommt <.< .. lern php

          entwerder du escapest die " mit \ oder du setzt nach deinem echo ein ' statt einem "


          //edit: btw. warum fügst du jedes mal ein stylesheet ein und benutzt es nicht?! .. 1 mal würde auch genügen rofl

          Kommentar


          • #6
            neues problem:

            jetzt geht der php-code zwar in ordnung aber er erkennt die formulareingabe nicht als solche. die beiden betreffenden zeilen sind warscheinlich einmal die im mailer.php und dann noch die formulardeklaration in der kontakt.hml.

            hier kommen sie:
            PHP-Code:
            <?php
            <?php
            $form_name 
            "kontakt.html";

            //stammen die daten vom formular?

            if (isset($_POST["Absenden"]))
                    {
            ?>
            und hier die kontakt.html:

            <form action="mailer.php" method="POST" enctype="text/plain" name="kontakt">

            die kontakt.html heisst selbstverständlich auch kontakt.html, also an der überprüfung des formularnamens kanns schonma nicht liegen.

            danke für die hilfe!

            Kommentar


            • #7
              ja zeig halt mal dein ganzes formular

              Kommentar


              • #8
                formular code

                und hier der code vom formular kontakt.html

                <html>
                <head>
                <title>
                Willkommen
                </title>

                <link rel="stylesheet" type="text/css" href="..\css\formate.css">


                </head>


                <body>


                <table cellpadding="25" class="ueberschrift" id="tabledesign">
                <tr>
                <td width="120">
                </td>
                <td align="middle" width="680" colspan="2">
                <font color="CCFF00">Berli</font>Systems - Kontakt
                </td>
                </tr>
                <tr>
                <td>
                </td>
                <td width="315" valign="top">


                <table border="0" class="normal">
                <tr>
                <td colspan="2">

                Kontaktformular





                </td>
                </tr>
                <tr>
                <td>
                <form action="mailer.php" method="POST" enctype="text/plain" name="kontakt">
                Anrede
                </td>
                <td>
                <select name="anrede" size="1">
                <option>Herr</option>
                <option>Frau</option>
                </td>
                </tr>
                <tr>
                <td>
                Vorname
                </td>
                <td>
                <input name="vorname" type="text" size="31">
                </td>
                </tr>
                <tr>
                <td>
                Name
                </td>
                <td>
                <input name="name" type="text" size="31">
                </td>
                </tr>
                <tr>
                <td>
                Straße, Nr.
                </td>
                <td>
                <input size="24" name="strasse" type="text">
                <input size="2" name="nr" type="text">
                </td>
                </tr>
                <tr>
                <td>
                PLZ, Ort
                </td>
                <td>
                <input size="3" name="plz" type="text">
                <input size="23" name="ort" type="text">
                </td>
                </tr>
                <tr>
                <td>
                Telefon/Mobil
                </td>
                <td>
                <input size="31" type="text" name="telefon">
                </td>
                </tr>
                <tr>
                <td>
                E-Mail
                </td>
                <td>
                <input name="mailer_email" type="text" size="31">
                </td>
                </tr>
                <tr>
                <td valign="top">
                Anfrage
                </td>
                <td>
                <textarea name="anfrage" cols="24" rows="5" wrap="physical"></textarea>
                </td>
                </tr>
                <tr>
                <td>
                </td>
                <td>
                <input type="submit" value="Absenden">


                <input type="reset" value="Löschen"
                </form>
                </table>


                </td>
                <td width="315" valign="top">
                <font face="Arial">
                <table border="0" cellpadding="5" class="normal">
                <tr>
                <td valign="top">
                Anschrift
                </td>
                <td>
                Berli


                Tobias


                C


                10 Berlin
                </td>
                </tr>
                <tr>
                <td>
                Telefon
                </td>
                <td>
                (+49 30) 705
                </td>
                </tr>
                <tr>
                <td>
                Mobil
                </td>
                <td>
                (+49 176) 23
                </td>
                </tr>
                <tr>
                <td>
                Fax
                </td>
                <td>
                (+49 30) 9788
                </td>
                </tr>
                <tr>
                <td>
                Email
                </td>
                <td>
                info@berlisystems.de
                </td>
                </tr>
                </table>
                </body>
                </html>

                Kommentar

                Lädt...
                X