E-Mail Formular: syntax error, unexpected $end

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • E-Mail Formular: syntax error, unexpected $end

    Hallo zusammen,

    ja, mal wieder nerv ich mit meinen E-Mail-Forumularen, ich weiß^^
    Ich hab ja bisher eins, mit dem ich ganz zufrieden bin, doch jetzt will cih meine seiten umstellen.

    Quellcode

    1. <?php
    2. // *** Einstellungen ***
    3. $mail_to = 'kontakt@fipsii.de'; // Ihre Mailadresse (Empf�ngeradresse)
    4. // #############################################################################
    5. $from_name=GetParam('fromname');
    6. $from_mail=strtolower(GetParam('frommail'));
    7. $mail_subject=GetParam('mailsubject');
    8. $mail_text=GetParam('mailtext');
    9. $send=GetParam('s');
    10. $err_text='';
    11. if(trim($from_name)=='') $err_text.='Bitte geben Sie Ihren Namen an.<br>';
    12. if(trim($from_mail)=='')
    13. $err_text.='Bitte geben Sie Ihre E-Mail-Adresse an.<br>';
    14. else
    15. if(!preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$/i',$from_mail))
    16. $err_text.='Bitte geben Sie eine g�ltige E-Mail-Adresse an.<br>';
    17. if(trim($mail_subject)=='') $err_text.='Bitte geben Sie einen Betreff ein.<br>';
    18. if(trim($mail_text)=='') $err_text.='Bitte geben Sie einen Nachrichtentext ein.<br>';
    19. // *** Zu langen Text abschneiden ***
    20. if(strlen($mail_text)>10000) {
    21. $mail_text=substr($mail_text,0,10000).'... (Text wurde gek�rzt!)';
    22. }
    23. $from_name=str_replace(chr(34),"''",$from_name);
    24. $mail_subject=str_replace(chr(34),"''",$mail_subject);
    25. $from_name=stripslashes($from_name);
    26. $from_mail=stripslashes($from_mail);
    27. $mail_subject=stripslashes($mail_subject);
    28. $mail_text=stripslashes($mail_text);
    29. if (($send == '1') && ($err_text != '')) {
    30. echo '<p><big><b>Fehler:</b></big><br>';
    31. echo $err_text.'</p>';
    32. }
    33. if (($send != '1') || ($err_text != '')) {
    34. ?>
    35. <form action="<?=GetParam('PHP_SELF','S')?>" method="post">
    36. <table border=0 cellspacing=2 cellpadding=0 width=100%>
    37. <tr><td nowrap align=right>Ihr Name:</td><td>&nbsp;</td>
    38. <td width=100%><input type="text" name="fromname" size=50 maxlength=120 value="<?=$from_name?>"></td></tr>
    39. <tr><td nowrap align=right>Ihre E-Mail-Adresse:</td><td></td>
    40. <td width=100%><input type="text" name="frommail" size=50 maxlength=120 value="<?=$from_mail?>"></td></tr>
    41. <tr><td nowrap align=right>Betreff:</td><td></td>
    42. <td width=100%><input type="text" name="mailsubject" size=50 maxlength=120 value="<?=$mail_subject?>"></td></tr>
    43. <tr><td nowrap align=right valign=top>Text:<br><i>(max. 10.000 Zeichen)</i></td><td></td>
    44. <td width=100%><textarea cols=40 rows=10 name="mailtext"><?=$mail_text?></textarea></td></tr>
    45. <tr><td></td><td></td><td>
    46. <input type="hidden" value="1" name="s">
    47. <input type="submit" value="Nachricht versenden" name="submit">
    48. </td></tr>
    49. </table>
    50. </form>
    51. <?php
    52. } else {
    53. $header="From: $from_name <$from_mail>\n";
    54. $header.="Reply-To: $from_mail\n";
    55. $header.="X-Mailer: PHP-ContactForm-Script\n";
    56. $header.="Content-Type: text/plain";
    57. $mail_date=gmdate('D, d M Y H:i:s').' +0000';
    58. $send=0;
    59. if(@mail($mail_to,$mail_subject,$mail_text,$header))
    60. {
    61. echo "<p><b>Die Nachricht wurde erfolgreich abgesendet.</b></p>";
    62. echo "<p><a href=\"".GetParam('PHP_SELF','S')."?from_name=$from_name&from_mail=$from_mail\">Zur&uuml;ck zum Formular</a></p>";
    63. }else{
    64. echo "<p><b>Beim Versenden der Nachricht ist ein Fehler aufgetreten!</b></p>";
    65. echo "<p><a href=\"".GetParam('PHP_SELF','S')."?from_name=$from_name&from_mail=$from_mail&mail_subject=$mail_subject&mail_text=";
    66. echo urlencode($mail_text)."\">Zur&uuml;ck zum Formular</a></p>";
    67. }
    68. }
    69. function GetParam($ParamName, $Method = 'P', $DefaultValue = '') {
    70. if ($Method == 'P') {
    71. if (isset($_POST[$ParamName])) return $_POST[$ParamName]; else return $DefaultValue;
    72. } else if ($Method == 'G') {
    73. if (isset($_GET[$ParamName])) return $_GET[$ParamName]; else return $DefaultValue;
    74. } else if ($Method == 'S') {
    75. if (isset($_SERVER[$ParamName])) return $_SERVER[$ParamName]; else return $DefaultValue;
    76. }
    77. }
    78. ?>
    Alles anzeigen

    den teil hab ich innerhalb einer html-datei.
    Doch jetzt versuch ich z.Z. alles auf php umzustellen. Da will ich auch das und noch andere formulare in eine datei stecken:

    Quellcode

    1. <?php
    2. $ip = $_SERVER['REMOTE_ADDR'];
    3. echo '<title>Kontakt - </title>';
    4. echo '<link href="news/haupt.css" type="text/css" rel="stylesheet" />';
    5. if ($_GET['show'] == "abs_admin")
    6. {
    7. // *** Einstellungen ***
    8. $mail_to = 'abso-admin@fipsii.de'; // Ihre Mailadresse (Empf?ngeradresse)
    9. // #############################################################################
    10. $from_name=GetParam('fromname');
    11. $from_mail=strtolower(GetParam('frommail'));
    12. $mail_subject=GetParam('mailsubject');
    13. $mail_text=GetParam('mailtext');
    14. $send=GetParam('s');
    15. $err_text='';
    16. if(trim($from_name)=='') $err_text.='Bitte geben Sie Ihren Namen an.<br>';
    17. if(trim($from_mail)=='')
    18. $err_text.='Bitte geben Sie Ihre E-Mail-Adresse an.<br>';
    19. else
    20. if(!preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$/i',$from_mail))
    21. $err_text.='Bitte geben Sie eine g?ltige E-Mail-Adresse an.<br>';
    22. if(trim($mail_subject)=='') $err_text.='Bitte geben Sie einen Betreff ein.<br>';
    23. if(trim($mail_text)=='') $err_text.='Bitte geben Sie einen Nachrichtentext ein.<br>';
    24. // *** Zu langen Text abschneiden ***
    25. if(strlen($mail_text)>10000) {
    26. $mail_text=substr($mail_text,0,10000).'... (Text wurde gek?rzt!)';
    27. }
    28. $from_name=str_replace(chr(34),"''",$from_name);
    29. $mail_subject=str_replace(chr(34),"''",$mail_subject);
    30. $from_name=stripslashes($from_name);
    31. $from_mail=stripslashes($from_mail);
    32. $mail_subject=stripslashes($mail_subject);
    33. $mail_text=stripslashes($mail_text);
    34. if (($send == '1') && ($err_text != '')) {
    35. echo '<p><big><b>Fehler:</b></big><br>';
    36. echo $err_text.'</p>';
    37. }
    38. if (($send != '1') || ($err_text != '')) {
    39. ?>
    40. <form action="<?=GetParam('PHP_SELF','S')?>" method="post">
    41. <table border=0 cellspacing=2 cellpadding=0 width=100%>
    42. <tr><td nowrap align=right>Ihr Name:</td><td>&nbsp;</td>
    43. <td width=100%><input type="text" name="fromname" size=50 maxlength=120 value="<?=$from_name?>"></td></tr>
    44. <tr><td nowrap align=right>Ihre E-Mail-Adresse:</td><td></td>
    45. <td width=100%><input type="text" name="frommail" size=50 maxlength=120 value="<?=$from_mail?>"></td></tr>
    46. <tr><td nowrap align=right>Betreff:</td><td></td>
    47. <td width=100%><input type="text" name="mailsubject" size=50 maxlength=120 value="<?=$mail_subject?>"></td></tr>
    48. <tr><td nowrap align=right valign=top>Text:<br><i>(max. 10.000 Zeichen)</i></td><td></td>
    49. <td width=100%><textarea cols=40 rows=10 name="mailtext"><?=$mail_text?>"</textarea></td></tr>
    50. <tr><td></td><td></td><td>
    51. <input type="hidden" value="1" name="s">
    52. <input type="submit" value="Nachricht versenden" name="submit">
    53. </td></tr>
    54. </table>
    55. </form>
    56. <?php
    57. } else {
    58. $header="From: $from_name <$from_mail>\n";
    59. $header.="Reply-To: $from_mail\n";
    60. $header.="X-Mailer: PHP-ContactForm-Script\n";
    61. $header.="Content-Type: text/plain";
    62. $mail_date=gmdate('D, d M Y H:i:s').' +0000';
    63. $send=0;
    64. if(@mail($mail_to,$mail_subject,$mail_text,$header))
    65. {
    66. echo "<p><b>Die Nachricht wurde erfolgreich abgesendet.</b></p>";
    67. echo "<p><a href=\"".GetParam('PHP_SELF','S')."?from_name=$from_name&from_mail=$from_mail\">Zur&uuml;ck zum Formular</a></p>";
    68. }else{
    69. echo "<p><b>Beim Versenden der Nachricht ist ein Fehler aufgetreten!</b></p>";
    70. echo "<p><a href=\"".GetParam('PHP_SELF','S')."?from_name=$from_name&from_mail=$from_mail&mail_subject=$mail_subject&mail_text=";
    71. echo urlencode($mail_text)."\">Zur&uuml;ck zum Formular</a></p>";
    72. }
    73. }
    74. function GetParam($ParamName, $Method = 'P', $DefaultValue = '') {
    75. if ($Method == 'P') {
    76. if (isset($_POST[$ParamName])) return $_POST[$ParamName]; else return $DefaultValue;
    77. } else if ($Method == 'G') {
    78. if (isset($_GET[$ParamName])) return $_GET[$ParamName]; else return $DefaultValue;
    79. } else if ($Method == 'S') {
    80. if (isset($_SERVER[$ParamName])) return $_SERVER[$ParamName]; else return $DefaultValue;
    81. }
    82. }
    83. echo '<br />';
    84. echo 'Vielen Dank für Ihre E-Mail. Wir werden so schnell wie es uns möglich ist, darauf antworten.<br />Fipsi und Team';
    85. echo '<div id="mehr"><a href="kontakt.php">Zurück</a></div>';
    86. }
    87. [...](passt hier sonst nich rein)
    88. else if ($_GET['show'] == "entwickler")
    89. {
    90. // *** Einstellungen ***
    91. $mail_to = 'entwickler@fipsii.de'; // Ihre Mailadresse (Empf?ngeradresse)
    92. // #############################################################################
    93. $from_name=GetParam('fromname');
    94. $from_mail=strtolower(GetParam('frommail'));
    95. $mail_subject=GetParam('mailsubject');
    96. $mail_text=GetParam('mailtext');
    97. $send=GetParam('s');
    98. $err_text='';
    99. if(trim($from_name)=='') $err_text.='Bitte geben Sie Ihren Namen an.<br>';
    100. if(trim($from_mail)=='')
    101. $err_text.='Bitte geben Sie Ihre E-Mail-Adresse an.<br>';
    102. else
    103. if(!preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$/i',$from_mail))
    104. $err_text.='Bitte geben Sie eine g?ltige E-Mail-Adresse an.<br>';
    105. if(trim($mail_subject)=='') $err_text.='Bitte geben Sie einen Betreff ein.<br>';
    106. if(trim($mail_text)=='') $err_text.='Bitte geben Sie einen Nachrichtentext ein.<br>';
    107. // *** Zu langen Text abschneiden ***
    108. if(strlen($mail_text)>10000) {
    109. $mail_text=substr($mail_text,0,10000).'... (Text wurde gek?rzt!)';
    110. }
    111. $from_name=str_replace(chr(34),"''",$from_name);
    112. $mail_subject=str_replace(chr(34),"''",$mail_subject);
    113. $from_name=stripslashes($from_name);
    114. $from_mail=stripslashes($from_mail);
    115. $mail_subject=stripslashes($mail_subject);
    116. $mail_text=stripslashes($mail_text);
    117. if (($send == '1') && ($err_text != '')) {
    118. echo '<p><big><b>Fehler:</b></big><br>';
    119. echo $err_text.'</p>';
    120. }
    121. if (($send != '1') || ($err_text != '')) {
    122. ?>
    123. <form action="<?=GetParam('PHP_SELF','S')?>" method="post">
    124. <table border=0 cellspacing=2 cellpadding=0 width=100%>
    125. <tr><td nowrap align=right>Ihr Name:</td><td>&nbsp;</td>
    126. <td width=100%><input type="text" name="fromname" size=50 maxlength=120 value="<?=$from_name?>"></td></tr>
    127. <tr><td nowrap align=right>Ihre E-Mail-Adresse:</td><td></td>
    128. <td width=100%><input type="text" name="frommail" size=50 maxlength=120 value="<?=$from_mail?>"></td></tr>
    129. <tr><td nowrap align=right>Betreff:</td><td></td>
    130. <td width=100%><input type="text" name="mailsubject" size=50 maxlength=120 value="<?=$mail_subject?>"></td></tr>
    131. <tr><td nowrap align=right valign=top>Text:<br><i>(max. 10.000 Zeichen)</i></td><td></td>
    132. <td width=100%><textarea cols=40 rows=10 name="mailtext"><?=$mail_text?>"</textarea></td></tr>
    133. <tr><td></td><td></td><td>
    134. <input type="hidden" value="1" name="s">
    135. <input type="submit" value="Nachricht versenden" name="submit">
    136. </td></tr>
    137. </table>
    138. </form>
    139. <?php
    140. } else {
    141. $header="From: $from_name <$from_mail>\n";
    142. $header.="Reply-To: $from_mail\n";
    143. $header.="X-Mailer: PHP-ContactForm-Script\n";
    144. $header.="Content-Type: text/plain";
    145. $mail_date=gmdate('D, d M Y H:i:s').' +0000';
    146. $send=0;
    147. if(@mail($mail_to,$mail_subject,$mail_text,$header))
    148. {
    149. echo "<p><b>Die Nachricht wurde erfolgreich abgesendet.</b></p>";
    150. echo "<p><a href=\"".GetParam('PHP_SELF','S')."?from_name=$from_name&from_mail=$from_mail\">Zur&uuml;ck zum Formular</a></p>";
    151. }else{
    152. echo "<p><b>Beim Versenden der Nachricht ist ein Fehler aufgetreten!</b></p>";
    153. echo "<p><a href=\"".GetParam('PHP_SELF','S')."?from_name=$from_name&from_mail=$from_mail&mail_subject=$mail_subject&mail_text=";
    154. echo urlencode($mail_text)."\">Zur&uuml;ck zum Formular</a></p>";
    155. }
    156. }
    157. function GetParam($ParamName, $Method = 'P', $DefaultValue = '') {
    158. if ($Method == 'P') {
    159. if (isset($_POST[$ParamName])) return $_POST[$ParamName]; else return $DefaultValue;
    160. } else if ($Method == 'G') {
    161. if (isset($_GET[$ParamName])) return $_GET[$ParamName]; else return $DefaultValue;
    162. } else if ($Method == 'S') {
    163. if (isset($_SERVER[$ParamName])) return $_SERVER[$ParamName]; else return $DefaultValue;
    164. }
    165. }
    166. echo '<br />';
    167. echo 'Vielen Dank für Ihre E-Mail. Wir werden so schnell wie es uns möglich ist, darauf antworten.<br />Fipsi und Team';
    168. echo '<div id="mehr"><a href="kontakt.php">Zurück</a></div>';
    169. }
    170. else
    171. {
    172. echo '<div id="h1">Kontakt</div>';
    173. echo '<br />';
    174. echo 'Hier sind die verschiedenen Kontaktformulare, für die verschiedenen anlaufstellen';
    175. echo '<br />';
    176. echo 'Im Moment vorhanden:';
    177. echo '<br />';
    178. echo '<ul><li><a href="kontakt.php?show=abs_admin">Absoluter Administrator</a></li><li><a href="kontakt.php?show=forum_admin">Forum Administrator</a></li><li><a href="kontakt.php?show=web_admin">Website Administrator</a></li><li><a href="kontakt.php?show=moderator">Moderatoren</a></li><li><a href="kontakt.php?show=sfguide">S&amp;F-Guide</a></li><li><a href="kontakt.php?show=entwickler">Website-Entwickler</a></li></ul>';
    179. echo '<br />';
    180. echo 'Anfragen, über Inhalte, die bereit gestellt werden sollen, bitte immer an den Absoluten Administrator.<br />Über Fehlerhafte/unvollständige/veraltete Inhalte, im S&amp;F-Guide, bitte eine E-Mail an den S&amp;F-Guide. Seiten, mit sichtbaren codes bitte an Absoluter Administrator, Webadministrator oder Website-Entwickler schicken. Bei Problemem im Forum bitte eine E-Mail an die Moderatoren, an den Foren-Administrator, oder an den Absoluten Administrator.';
    181. echo '<br />';
    182. echo 'Wir werden eure Anfragen möglichst schnell beantworten. <br /> Vielen Dank für ihre Mithilfe!';
    183. echo '<br />';
    184. echo 'Fipsi und Team';
    185. ?>
    Alles anzeigen

    Gut, ehrlich gesagt, auf das, was alles genau gefragt wird, bin ich jez noch gar nich richtig eingegangen, also auf deren angaben, aber auf meinem homeserver wird mir immer dieser fehler angezeigt (auf meinem richtigen gar nix):

    Quellcode

    1. Parse error: syntax error, unexpected $end in C:\xampplite\htdocs\kontakt.php on line 560 (jetzt ist es 201,. da ich hier kürzen musste)

    vorher hat er mir immer diesen teil als fehler angezeigt:

    Quellcode

    1. $from_name=GetParam('fromname');
    2. $from_mail=strtolower(GetParam('frommail'));
    3. $mail_subject=GetParam('mailsubject');
    4. $mail_text=GetParam('mailtext');
    5. $send=GetParam('s');

    (wundert mich jez ehrklich gesagt n bissl, dass er das "?>" als fehler anzeigt *grübel* dachte eigentlich, das andere is der fehler^^
    Na ja, hoffentlich könnt ihr mir helfen.

    LG

    Fipsi
  • hm... ja, das war es wirklich... aber der meckert immer noch an

    Quellcode

    1. $from_name=GetParam('fromname');
    2. $from_mail=strtolower(GetParam('frommail'));
    3. $mail_subject=GetParam('mailsubject');
    4. $mail_text=GetParam('mailtext');
    5. $send=GetParam('s');

    (

    Quellcode

    1. Parse error: syntax error, unexpected $end in C:\xampplite\htdocs\kontakt.php on line 5[..]
    )
    :( weiß jemand, wieso?
  • Quellcode

    1. function GetParam($ParamName, $Method = 'P', $DefaultValue = '') {
    2. if ($Method == 'P') {
    3. if (isset($_POST[$ParamName])){ return $_POST[$ParamName];
    4. }
    5. else { return $DefaultValue;
    6. }
    7. }
    8. elseif ($Method == 'G') {
    9. if (isset($_GET[$ParamName])){ return $_GET[$ParamName];
    10. }
    11. else{ return $DefaultValue;
    12. }
    13. }
    14. elseif ($Method == 'S') {
    15. if (isset($_SERVER[$ParamName])){ return $_SERVER[$ParamName];
    16. }
    17. else{ return $DefaultValue;
    18. }
    19. }
    20. }
    Alles anzeigen


    Hi,

    probier mal die Codezeilen aus :), so sollten die Klammern stimmen.
  • Du definierst die Funktion GetParam() innerhalb eines if-Blocks. Keine Ahnung wie PHP damit umgeht.
    Wenns daran nicht liegt solltest du vielleicht mal sauber einrücken und JEDEN if- und else-Block mit geschweiften Klammern versehen, da findet man den Fehler schneller. Solltest du dir grundsätzlich angewöhnen, dann musst du nicht jedes mal stundenlang nach einer fehlenden Klammer suchen ;)