PHP: syntax error, unexpected T_STRING
Ich bin immer ein syntax Fehler, für die dieser PHP-code
syntax error, unexpected T_STRING
Er sagt, die Linie 2, die die include-Zeile:
<?php
include 'config.inc.php';
//initialization
$photo_upload_fields = '';
$counter = 1;
//If we want more fields, then use, preupload.php?number_of_fields=20
$number_of_fields = (isset($_GET['number_of_fields'])) ?
(int)($_GET['number_of_fields']) : 5;
//Firstly Lets build the Category List
$result = mysql_query('SELECT category_id,category_name FROM gallery_category');
while($row = mysql_fetch_array($result)) {
$photo_category_list .= <<<__HTML_END
<option value="$row[0]">$row[1]</option>\n
__HTML_END;
}
mysql_free_result( $result );
//Lets build the Image Uploading fields
while($counter <= $number_of_fields) {
$photo_upload_fields .= <<<__HTML_END
<tr><td>
Photo {$counter}:
<input name="photo_filename[]"
type="file" />
</td></tr>
<tr><td>
Caption:
<textarea name="photo_caption[]" cols="30"
rows="1"></textarea>
</td></tr>
__HTML_END;
$counter++;
}
//Final Output
echo <<<__HTML_END
<html>
<head>
<title>Lets upload Photos</title>
</head>
<body>
<form enctype="multipart/form-data"
action="upload.php" method="post"
name="upload_form">
<table width="90%" border="0"
align="center" style="width: 90%;">
<tr><td>
Select Category
<select name="category">
$photo_category_list
</select>
</td></tr>
<! - Insert the image fields here -->
$photo_upload_fields
<tr><td>
<input type="submit" name="submit"
value="Add Photos" />
</td></tr>
</table>
</form>
</body>
</html>
__HTML_END;
?>
Meine include-Datei sieht wie folgt aus:
<?php
$mysql_link = mysql_connect("localhost","user","password");
mysql_select_db("db_name") or die("Could not select database");
$images_dir = "photos";
?>
Lösung:
Hatte ich unsichtbare unicode-Zeichen versteckt im code was verursacht den PHP-parser zu beschweren, der über syntax-Fehler.
"mehr oder weniger"? Der Fehler scheint zu sein, in Bezug auf die Datei enthalten, so würde es besser sein, um mehr darüber zu wissen als weniger.
Entfernen (auskommentieren) die include-Zeile um zu sehen, ob diese Zeile trigs der Fehler ist oder nicht.
Haben Sie vielleicht eine unsichtbare Charakter (einen speziellen Raum oder ähnlich) irgendwo gibt. Sie könnten versuchen, entfernen Sie die betreffende Zeile und schreiben Sie es.
Prüfen Sie, ob u vergessen hat, " irgendwo in deine config-Datei
Versuchen (gehören 'config.inc.php');
Entfernen (auskommentieren) die include-Zeile um zu sehen, ob diese Zeile trigs der Fehler ist oder nicht.
Haben Sie vielleicht eine unsichtbare Charakter (einen speziellen Raum oder ähnlich) irgendwo gibt. Sie könnten versuchen, entfernen Sie die betreffende Zeile und schreiben Sie es.
Prüfen Sie, ob u vergessen hat, " irgendwo in deine config-Datei
Versuchen (gehören 'config.inc.php');
InformationsquelleAutor cassmoney | 2012-05-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mehrere Leerzeichen am Anfang und Ende des HEREDOC-syntax-Variablen; dies führt zu Problemen. Entfernen Sie das Leerzeichen nach
und nach
und dein code sollte funktionieren.
Siehe auch diesen thread gefunden, wo ich die Antwort: http://board.phpbuilder.com/board/showthread.php?t=10333424
InformationsquelleAutor user2428118
Löschen, die ersten paar Zeilen und schreiben Sie. Manchmal, wenn Sie kopieren und einfügen von code einfügen unsichtbare unicode-Zeichen, die nicht korrekt analysiert, die von PHP. So wirft er diesen Fehler. Es ist mir mehrmals passiert.
InformationsquelleAutor Darren Craig
nur sicherstellen, dass Sie geschlossen haben alle Sie " und " in die Datei, die Sie einschließlich. in der Regel wird dieser Fehler zeigte auf die erste Zeile in der Datei.
InformationsquelleAutor WebsiteDesignAndSupport
Verwenden Sie die inclue:
include("config.inc.php");
für die richtige syntax.InformationsquelleAutor Harshal