html unexpected - Parse-Fehler:Syntaxfehler, unerwartetes Ende der Datei in meinem PHP-Code




of file (9)

Suchen Sie auch nach einem // Kommentar, der die schließende geschweifte Klammer bricht

if (1==1) { //echo "it is true"; }

Die schließende geschweifte Klammer schließt den bedingten Abschnitt nicht richtig und php verarbeitet den Rest des Codes nicht ordnungsgemäß.

Ich habe einen Fehler erhalten:

Parse error: syntax error, unexpected end of file in the line

Mit diesem Code:

<html>
    <?php
        function login()
        {
            // Login function code
        }
        if (login())
    {?>

    <h2>Welcome Administrator</h2>
    <a href=\"upload.php\">Upload Files</a>
    <br />
    <a href=\"points.php\">Edit Points Tally</a>

    <?php}
        else
        {
            echo "Incorrect login details. Please login";
        }
    ?>
    Some more HTML code
</html>

Was ist das Problem?


Sie sollten dies vermeiden (am Ende Ihres Codes):

{?>

und das:

<?php}

Sie sollten Klammern nicht direkt in der Nähe des open / close php Tags platzieren, sondern mit einem Leerzeichen trennen:

{ ?>
<?php {

vermeide auch <? und benutze <?php


Ich hatte den gleichen Fehler, aber ich hatte es durch Ändern der php.ini Datei php.ini .

Finde deine php.ini Datei, siehe Dude, wo ist meine php.ini?

dann öffne es mit deinem Lieblingsredakteur.

Suchen Sie nach einer short_open_tag Eigenschaft, und wenden Sie die folgende Änderung an:

; short_open_tag = Off ; previous value
short_open_tag = On ; new value

Meide dies auch <? } ?> <? } ?> stellen Sie sicher, dass Sie <?php } ?>


Überprüfen Sie, ob Sie Ihre Klasse geschlossen haben.

Zum Beispiel, wenn Sie Controller-Klasse mit Methoden haben, und versehentlich löschen Sie die letzte Klammer, die ganze Klasse schließen, erhalten Sie diesen Fehler.

class someControler{
private $varr;
public $varu;
..
public function method {
..
} 
..
}// if you forget to close the controller, you will get the error

Ein weiterer Fall, in dem es schwer zu erkennen ist, ist, wenn Sie eine Datei mit nur einer Funktion haben, ich weiß, dass es kein gewöhnlicher Anwendungsfall ist, aber es ist ärgerlich und musste den Fehler erkennen.

<?php
function () {

}

Die obige Datei gibt den Fehler " Parse error: syntax error, unexpected end of file in während dies nicht der Fall ist.

<?php
function () {

};

Gehe einfach zu php.ini und finde short_open_tag= Off auf short_open_tag= On


Ich habe einige Fehler gesehen, die ich unten behoben habe.

Das habe ich als falsch erkannt:

if (login())
{?>
<h2>Welcome Administrator</h2>
<a href=\"upload.php\">Upload Files</a>
<br />
<a href=\"points.php\">Edit Points Tally</a>
<?php}
else
{
echo "Incorrect login details. Please login";
}

So hätte ich es gemacht:

<html>
    some code
<?php
function login()
{
    if (empty ($_POST['username']))
    {
        return false;
    }
    if (empty ($_POST['password']))
    {
        return false;
    }
    $username = trim ($_POST['username']);
    $password = trim ($_POST['password']);
    $scrambled = md5 ($password . 'foo');
    $link = mysqli_connect('localhost', 'root', 'password');
    if (!$link)
    {
        $error = "Unable to connect to the database server";
        include 'error.html.php';
        exit ();
    }
    if (!mysqli_set_charset ($link, 'utf8'))
    {
        $error = "Unable to set database connection encoding";
        include 'error.html.php';
        exit ();
    }
    if (!mysqli_select_db ($link, 'foo'))
    {
        $error = "Unable to locate the foo database";
        include 'error.html.php';
        exit ();
    }
    $sql = "SELECT COUNT(*) FROM admin WHERE username = '$username' AND password = '$scrambled'";
    $result = mysqli_query ($link, $sql);
    if (!$result)
    {
        return false;
        exit ();
    }
    $row = mysqli_fetch_array ($result);
    if ($row[0] > 0)
    {
        return true;
    }
    else
    {
        return false;
    }
}
if (login())
{
echo '<h2>Welcome Administrator</h2>
<a href=\"upload.php\">Upload Files</a>
<br />
<a href=\"points.php\">Edit Points Tally</a>';
}
else
{
    echo "Incorrect login details. Please login";
}
?>
some more html code
</html>

Unexpected T_LNUMBER

In PHP und den meisten anderen Programmiersprachen können Variablen nicht mit einer Zahl beginnen. Das erste Zeichen muss alphabetisch oder ein Unterstrich sein.

$1   // Bad
$_1  // Good




php html parse-error