Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: Formmailer - Parse Fehler !?

  1. #1
    Azubi(ne)
    Registriert seit
    23.10.2006
    Beiträge
    59
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Formmailer - Parse Fehler !?

    Was ist hier falsch:

    Parse error: syntax error, unexpected '?' in /usr/export/www/vhosts/funnetwork/hosting/beuschlein/formmailer_cb.php on line 32

    Schonmal vielen Dank.

    Gruß
    Chris

    PS: Kann man auch einen Schutz einbauen, dass hierüber kein spam-versand gemacht werden kann?

    ---------------------<schnipp>------------------

    Code:
    <?
    
    /* -= Copyright &#40;c&#41; by
    
    */
    
    // Config
    $titel = "Kontaktformular";		// Titel der Seite
    $empfaenger = "meine@email.de";		// E-Mail-Adresse des Empfängers
    $verschickt = "<font face=Verdana, Arial, Helvetica, sans-serif>Vielen Dank für Ihre E-Mail!</font>";	// Meldung wenn E-Mail verschickt wurde
    $fehler = "<font face=Verdana, Arial, Helvetica, sans-serif>Bitte alle Felder ausfüllen!</font>";		// Meldung wenn nicht alle Felder ausgefüllt sind
    $mailtosender = "ja";	// E-Mail an den Versender &#40;ja / nein&#41;
    $absendername = "mein absender";	// Absender der E-Mail an den Versender
    $absendermail = "meine@email.de";	// E-Mail-Adresse des Absenders
    $subject = "Vielen Dank für Ihre E-Mail";	// Betreff der E-Mail
    $mailtext = "Sehr geehrte/r $titel $name, \nvielen Dank für Ihre E-Mail. \nWir werden uns bemühen, Ihre E-Mail so schnell als möglich zu beantworten. Bitte haben Sie ein wenig gedulg. \n\nMit freundlichen Grüßen \n;
    
    ?>
    <html>
    <head>
    <title><? echo $titel; ?></title>
    </head>
    <body>
    
    <?
    // Design des Formulars - Bitte ab hier nichts mehr verändern !!!
    echo $ueberschrift; ?>
    
    
    
    
    <form action="<? $PHP_SELF ?>?action=send" method="post">
    
    <table border="0" width="300">
    
    <tr>
    	<td><p class="text">Anrede&#58;</p></td>
    	<td><select name="anrede&#91;&#93;" id="anrede">
                  <option value="Herr" SELECTED>Herr</option>
                  <option value="Frau">Frau</option>
                </select>     </td>
    </tr>
    
    <tr>
    	<td><p class="text">Name&#58;</p></td>
    	<td><input type="Text" name="name" size="30" maxlength="30" value="<? echo $name; ?>"></td>
    </tr>
    
    <tr>
    	<td><p class="text">Straße&#58;</p></td>
    	<td><input type="Text" name="straße" size="30" maxlength="45" value="<? echo $name; ?>"></td>
    </tr>
    
    <tr>
    	<td><p class="text">Ort&#58;</p></td>
    	<td><input type="Text" name="ort" size="30" maxlength="45" value="<? echo $name; ?>"></td>
    </tr>
    
    <tr>
    	<td><p class="text">PLZ&#58;</p></td>
    	<td><input type="Text" name="plz" size="30" maxlength="45" value="<? echo $name; ?>"></td>
    </tr>
    
    <tr>
    	<td><p class="text">E-Mail&#58;</p></td>
    	<td><input type="Text" name="email" size="30" maxlength="45" value="<? echo $name; ?>"></td>
    </tr>
    
    <tr>
    	<td><p class="text">Telefon&#58;</p></td>
    	<td><input type="Text" name="telefon" size="30" maxlength="45" value="<? echo $name; ?>"></td>
    </tr>
    
             <tr>
              <td><p class="text">gefunden durch</p></td>
              <td><select name="gefunden&#91;&#93;" >
                  <option value="Visitenkarte">Visitenkarte</option>
                  <option value="Werbung">Werbung</option>
                  <option value="Internet">Internet</option>
                  <option value="Suchmaschine" selected>Suchmaschine</option>
                  <option value="Telefonbuch">Telefonbuch</option>
                  <option value="Bekannte">Bekannte</option>
                  <option value="sonstiges">sonstiges</option>
                </select>          </td>
            </tr>
    
             <tr>
              <td><p class="text">Antwort</p></td>
              <td><select name="antwort&#91;&#93;">
                  <option value="per E-Mail" selected>per E-Mail</option>
                  <option value="per Telefon">per Telefon</option>
                </select>          </td>
            </tr>
    
            <tr>
              <td><p class="text">Thema</p></td>
              <td><select name="thema&#91;&#93;" >
                <option value="Hard- und Software" selected>Hard- und Software</option>
                <option value="Systemberatung">Systemberatung</option>
                <option value="Webdesign">Webdesign</option>
                <option value="Angebot">Angebot</option>
                <option value="Auftrag">Auftrag</option>
                <option value="DSL/VoIP">DSL/VoIP</option>
                <option value="Preise">Preise</option>
                <option value="andere">andere</option>
              </select></td>
            </tr>
    
    <tr>
     <td valign="top"><p class="text">Text&#58;</p></font></td>
     <td><textarea name="text" cols="35" rows="10"><? echo $text; ?></textarea></td>
    </tr>
    
    <tr>
     <td></td>
     <td><input type="Submit" name="Submit" value="Abschicken"></td>
    </tr>
    </table>
    </form>
    
    <table border="0" width="270">
    <tr>
    <td>
    <center>
    <?
    if&#40;$action == "send"&#41;
    &#123;
    if&#40;!empty&#40;$name&#41; && !empty&#40;$email&#41; && !empty&#40;$straße&#41; && !empty&#40;$text&#41;&#41;
    &#123;
    $text = str_replace&#40;"\r", "", $text&#41;;
    mail&#40;$empf, $thema, $text, "From&#58; $name <$mail>"&#41;;
    echo $verschickt;
    
    // Mail zum Absender
    if&#40;$mailtosender == "ja"&#41;&#123;
    mail&#40;$mail, $subject, $mailtext, "From&#58; $absendername <$absendermail>"&#41;;
    &#125;
    &#125;
    elseif&#40;empty&#40;$name&#41; || empty&#40;$mail&#41; || empty&#40;$straße&#41; || empty&#40;$text&#41;&#41;
    &#123;
    echo "<font face=Tahoma size=2pt color=ff0000>Fehler&#58;</font> $fehler";
    &#125;
    &#125;
    ?>
    </center>
    </td>
    </tr>
    </table>
    
    </html>
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Shogun Avatar von DarkSyranus
    Registriert seit
    28.03.2006
    Ort
    ::1/128
    Alter
    25
    Beiträge
    3.446
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    Code:
    ?action=send
    Ich würd auf das tippen
    Probier mal das als hidden feld über die post methode zu übergeben

  3. #3
    Forum Guru
    Registriert seit
    14.06.2004
    Ort
    Schleswig-Holstein
    Beiträge
    5.439
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Moin!

    Der Fehler liegt hier
    Code:
    <form action="<? $PHP_SELF ?>?action=send" method="post">
    "$PHP_SELF" ist eine Variable und keine PHP-Funktion, du mußt ein 'echo' mit einsetzen:
    Code:
    <form action="<? echo $PHP_SELF ?>?action=send" method="post">
    G.a.d.M.

    Ronald

  4. #4
    Azubi(ne)
    Themenstarter

    Registriert seit
    23.10.2006
    Beiträge
    59
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Danke erstmal.
    Aber funzt trotzdem net.
    habe nochmal was umgeschrieben und bekomme nun:

    Warning: mail() expects at most 5 parameters, 6 given in /usr/export/www/***/phpmailer.php on line 87

    Ich lese überall, dass man nur 4 Parameter mit angeben kann, ich habe in meinem Formular aber vielleicht 10 Felder, die ich auch in der E-Mail benötige, ist es echt nicht möglich, alle Felder verschicken zu lassen?


    Hier mal das Script zum Versenden:

    Code:
    <?
    
    echo 'Mail Beispiel mit PHP
    ';
    
    //überprüfung der eingabe
    //name??
    if &#40;empty&#40;$HTTP_POST_VARS&#91;'name'&#93;&#41;&#41; &#123;
    echo 'Geben Sie Ihren Namen an!
    ';
    $error = 'on';
    &#125;
    //vorname??
    if &#40;empty&#40;$HTTP_POST_VARS&#91;'vorname'&#93;&#41;&#41; &#123;
    echo 'Geben Sie Ihren Vornamen an!
    ';
    $error = 'on';
    &#125;
    
    //straße??
    if &#40;empty&#40;$HTTP_POST_VARS&#91;'straße'&#93;&#41;&#41; &#123;
    echo 'Geben Sie Ihre Straße an!
    ';
    $error = 'on';
    &#125;
    
    //Ort??
    if &#40;empty&#40;$HTTP_POST_VARS&#91;'ort'&#93;&#41;&#41; &#123;
    echo 'Geben Sie Ihren Ort an!
    ';
    $error = 'on';
    &#125;
    
    //PLZ??
    if &#40;empty&#40;$HTTP_POST_VARS&#91;'plz'&#93;&#41;&#41; &#123;
    echo 'Geben Sie Ihre Postleitzahl an!
    ';
    $error = 'on';
    &#125;
    
    //absender-email-adresse??
    if &#40;empty&#40;$HTTP_POST_VARS&#91;'email'&#93;&#41;&#41; &#123;
    echo 'Geben Sie Ihre E-Mail-Adresse an!
    ';
    $error = 'on';
    &#125;
    
    //telefon??
    if &#40;empty&#40;$HTTP_POST_VARS&#91;'telefon'&#93;&#41;&#41; &#123;
    echo 'Geben Sie Ihre Telefonnummer an!
    ';
    $error = 'on';
    &#125;
    //betreff??
    if &#40;empty&#40;$HTTP_POST_VARS&#91;'thema'&#93;&#41;&#41; &#123;
    echo 'Kein Thema angegeben!
    ';
    $error = 'on';
    &#125;
    //email &#40;text&#41;??
    if &#40;empty&#40;$HTTP_POST_VARS&#91;'nachricht'&#93;&#41;&#41; &#123;
    echo 'Leere E-Mails werden nicht versendet!
    ';
    $error = 'on';
    &#125;
    
    //falls die überprüfung in ordnung ist, email senden
    if&#40;!isset&#40;$error&#41;&#41; &#123;
    //vereinfachung der variablen
    $name	   	= $HTTP_POST_VARS&#91;'name'&#93;;
    $mailfrom        = $HTTP_POST_VARS&#91;'email'&#93;;
    $text            = $HTTP_POST_VARS&#91;'nachricht'&#93;;
    $thema		= $HTTP_POST_VARS&#91;'thema'&#93;;
    $antwort		= $HTTP_POST_VARS&#91;'antwort'&#93;;
    $gefunden	= $HTTP_POST_VARS&#91;'gefunden'&#93;;
    
    //header-definition
    $headers .= 'From&#58; '.$name.' <'.$mailfrom.'>'."\n";
    $headers .= 'X-Sender&#58; <'.$mailfrom.'>'."\n";
    $headers .= "Reply-To&#58; ".$name." <$mailfrom>\r\n";
    
    //anpassung der zeilenumbrüche des textes für email
    $text = ereg_replace&#40;'
    ',"\n",$text&#41;;
    
    //anpassung der umlaute
    $text = ereg_replace&#40;'&auml;',"ä",$text&#41;;
    $text = ereg_replace&#40;'&ouml;',"ö",$text&#41;;
    $text = ereg_replace&#40;'&uuml;',"ü",$text&#41;;
    $text = ereg_replace&#40;'&Auml;',"Ä",$text&#41;;
    $text = ereg_replace&#40;'&Uuml;',"Ü",$text&#41;;
    $text = ereg_replace&#40;'&Ouml;',"Ö",$text&#41;;
    
    //emailempfänger definieren
    $mailto = "meine_email.de";
    
    //mail senden
    mail &#40;$mailto,$thema,$antwort,$gefunden,$text,$headers&#41;;
    
    //bestätigung
    echo 'E-Mail wurde erfolgreich versendet!';
    &#125;
    
    ?>

    Die "angefochtene" Zeile ist diese:
    mail ($mailto,$thema,$antwort,$gefunden,$text,$headers) ;

    Danke und Gruß
    Chris

  5. #5
    Shogun Avatar von DarkSyranus
    Registriert seit
    28.03.2006
    Ort
    ::1/128
    Alter
    25
    Beiträge
    3.446
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings
    Blog-Einträge
    1

    Standard

    mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]] )
    Diese Sachen musst/darfst du in der Funktion einbauen.
    Aller Texte müssen im string message enthalten sein.

  6. #6
    Azubi(ne)
    Themenstarter

    Registriert seit
    23.10.2006
    Beiträge
    59
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Uih, das jetzt noch jmd wach ist (außer mir)
    Ok, verstehe, muss des also in des header-zeugs mit reinpacken.
    Habe ich gemacht, des seltsame ist, dass der Header (trotz angabe) nicht mit in der E-Mail steht. Die beiden Felder "antwort durch" und "gefunden durch" kommen aber trotzdem, aber die ersten drei Teile mit Name und E-Mail-Addi und so fehlen

  7. #7
    Forum Guru
    Registriert seit
    14.06.2004
    Ort
    Schleswig-Holstein
    Beiträge
    5.439
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ich bin auch noch wach!

    Der Mailheader steht normalerweise nur im Quelltext der Mail. Alle Informationen die du brauchst kommen in den 3. String von links, der entspricht dem normalen Textfeld eines üblichen Emailprogramm, wie z.B. Outlook, Thunderbird.

    Sinn ist, daß das empfangende Emailprogramm genau weiß, welche Daten wohin gehören. Was nützt dir der Emailtext im ausgeblendeten Header und dafür alle Head-Informationen (das sind normalerweise Anweisungen an den Mailbrowser) im Textfeld.

    Jetzt klar ?

    G.a.d.M.

    Ronald

  8. #8
    Azubi(ne)
    Themenstarter

    Registriert seit
    23.10.2006
    Beiträge
    59
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hi,

    sorry, dachte nicht, das noch jemand wach ist/war
    Naja, wenn der Header nicht in den Text der Mail übernommen werden kann, dann ist es klar, das bekomme ich ja hin, aber dachte ich könnte diese Informationen auch mit übertragen (außer im Quelltext) !?

    Na gut, dann muss ich wohl oder übel damit leben

    Vielen Dank an Alle.

  9. #9
    Azubi(ne)
    Themenstarter

    Registriert seit
    23.10.2006
    Beiträge
    59
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Ahh ok, ich habs hinbekommen.
    Musste die ganzen Definitionen nur von "$headers" ind "$text" ändern, nun kommt alles was ich will rüber

  10. #10
    Azubi(ne)
    Themenstarter

    Registriert seit
    23.10.2006
    Beiträge
    59
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hat jemand Tips, wie man nen php-script fürn Formmailer vor Spam/Missbrauch schützt?

    Da gibt es doch sicherlich Überprüfungen, welche man in das Script einbauen kann, oder?

    Gruß
    Chris

Ähnliche Themen

  1. Formmailer
    Von Fozzy im Forum HTML & CSS Forum
    Antworten: 6
    Letzter Beitrag: 06.06.2008, 14:49
  2. PARSE Error
    Von arminb im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 8
    Letzter Beitrag: 20.10.2007, 19:36
  3. Template Parse Error!
    Von Moellemann im Forum Webanwendungen - Webapplikationen
    Antworten: 5
    Letzter Beitrag: 20.12.2006, 11:21
  4. formmailer
    Von davidos_no.1 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 11
    Letzter Beitrag: 20.05.2005, 19:13
  5. parse error!hilfe!
    Von sleddi im Forum HTML & CSS Forum
    Antworten: 6
    Letzter Beitrag: 02.06.2004, 14:27

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •