• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Parse error: syntax error, unexpected $end in

vitus37

Senior HTML'ler
Hallo!
ich weiss diese Fehlermeldung hatten schon viele..
allerdings kann ich bei dem script keine fehler finden wie fehlende klammern etc.
die ganze fehlermeldung ist:
Parse error: syntax error, unexpected $end in /mnt/web2/41/73/5906873/htdocs/blog/send.php on line 84

zu dieser datei:
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta name="author" content="name">
<link rel="stylesheet" type="text/css" href="stylesheet.css">
</head>
<body>
<?php

$von = $_POST['von'];
$email = $_POST['email'];
$betreff = $_POST['betreff'];
$nachricht = $_POST['nachricht'];
$fertig = $_POST['fertig'];

function checkEmail( $email )
{
    $nonascii      = "\x80-\xff";
    $nqtext        = "[^\\\\$nonascii\015\012\"]";
    $qchar         = "\\\\[^$nonascii]";
    $normuser      = '[a-zA-Z0-9][a-zA-Z0-9_.-]*';
    $quotedstring  = "\"(?:$nqtext|$qchar)+\"";
    $user_part     = "(?:$normuser|$quotedstring)";
    $dom_mainpart  = '[a-zA-Z0-9][a-zA-Z0-9._-]*\\.';
    $dom_subpart   = '(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*';
    $dom_tldpart   = '[a-zA-Z]{2,5}';
    $domain_part   = "$dom_subpart$dom_mainpart$dom_tldpart";
    $pattern       = "$user_part\@$domain_part";

    if (!preg_match( "/$pattern$/", $email ))
    {
        return FALSE;
    }
    else
    {
        return TRUE;
    }
}

if(isset($fertig)){

  if ($von == "") {
   echo"<script type=\"text/javascript\"> alert(\"Bitte Namen angeben!\");</script>";
  } elseif ($email == "") {
    echo"<script type=\"text/javascript\"> alert(\"Bitte Email-Adresse angeben!\");</script>";
  } elseif ($betreff == "") {
    echo"<script type=\"text/javascript\"> alert(\"Bitte Betreff angeben!\");</script>";
  } elseif ($nachricht == "") {
    echo"<script type=\"text/javascript\"> alert(\"Bitte Nachricht angeben!!\");</script>";
  } elseif (!checkEmail( $_REQUEST['email'] )) {
    echo"<script type=\"text/javascript\"> alert(\"Email-Adresse ungültig!\");</script>";
  } else {




$datum = date("d.m.Y");
  $uhrzeit = date("H:i");
  $datum=$datum ."-". $uhrzeit ."Uhr";



    $ich = "mailadresse";
  $betreffemail = "Nachricht von $von auf website";
  $text = "Sie haben eine neue Nachricht von ".$von."
  Email: ".$email."
  Betreff: ".$betreff."
  Sendedatum: ".$datum."
  Nachricht: ".$nachricht."";


  mail($ich, $betreffemail, $text,
  "From: $von <emailadresse>");

echo"<script type=\"text/javascript\"> alert(\"Nachricht wurde erfolgreich verschickt!\");

}
}
?>
</body>
</html>
zeile 84 ist in diesem fall die letzte, also der html end-tag
kann mit bitte jdn helfen!
lg vitus
 
Zuletzt bearbeitet:
der block hier benötigt semikola:

PHP:
<?php
  $text = "Sie haben eine neue Nachricht von ".$von."
  Email: ".$email."
  Betreff: ".$betreff."
  Sendedatum: ".$datum."
?>

verwend' das nächste mal PHP-code-tags. der syntax-highlighter wird dir dann einiges an arbeit abnehmen.

Nils aka XraYSoLo
 
danke für die schnelle antwort!

der block hier benötigt semikola:

PHP-Code:
<?php
$text = "Sie haben eine neue Nachricht von ".$von."
Email: ".$email."
Betreff: ".$betreff."
Sendedatum: ".$datum."
?>

aber tut mir leid aber ich verstehe nicht ganz was du damit meinst, dass ein semikolon fehlt.. an welcher stelle dieses blocks? :?
 
Ich sehe da ein fehlendes Anführungszeichen sowie unbeendetes HTML-Script-Tag. Das fällt hier im Forum dank des Syntax-Highlighting eigentlich sofort auf:

Vorher:
Code:
echo"<script type=\"text/javascript\"> alert(\"Nachricht wurde erfolgreich verschickt!\");

Nachher:
Code:
echo"<script type=\"text/javascript\"> alert(\"Nachricht wurde erfolgreich verschickt!\");</script>";
 
danke für die vielen tipps :)
es funktioniert jetzt
jedoch ist mir aufgefallen, dass der fehler nicht an
PHP:
<?php
  $text = "Sie haben eine neue Nachricht von ".$von."
  Email: ".$email."
  Betreff: ".$betreff."
  Sendedatum: ".$datum."
?>
gelegen haben kann, da die ";" nun in der versendeten mail zu sehen sind..
trotzdem danke :D
 
Zurück
Oben