Problem: parse error, unexpected $
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
arve
besagte zeile
chaos
datei
eingebundenen datei
error
fehler
fram
gerade mal
gesamten quelltext
geschwungene klammer
kontrollstruktur
lesen
los
nulpe
paradoxe fehlermeldung
parsen
selten vorkommen
tag
textdatei
-
Hi!
Ich habe folgendes Problem:
Ich bastle mir Momentan eine Seite, die eigentlich wenig mit PHP arbeitet, allerdings PHP statt tag/fram">Frames einsetzt. Mit GET-Variablen wird die Seite bestimmt. Aber das ist glaube ich nebens?chlich. Jedenfalls habe ich pl?tzlich eine mir paradoxe Fehlermeldung erhalten:
Parse error: parse error, unexpected $ in /home/webpages/lima-city/zualio/html/sites/home on line 42
Ich dachte, gut, du hast dich vertippt, gucken wir mal in die datei "home", in der der Text f?r die Startseite liegt - ABER DA IST KEIN EINZIGES "$" DRIN!
home:
?>
<!-- -->
<center>
<br><img border="0" src="images/Logo_schwarz.jpg" width="162" height="199">
<br>
</center>
<div align="center">
<center>
<table border="0" width="85%">
<tr>
<td class="textgray" width="100%">
<br>
(HIER IST HOMEPAGETEXT)
</td>
</tr>
</table>
</center>
</div>
<br>
<div align="center">
<center>
</center>
</div>
<!-- -->
<?php
Ich habe den Text der Homepage gerade mal entfernt, das w?re hier zu gro?. Ucg sage nur mal, dass "Zeile 42" die Letzte ist, also "<?php".
WO IST DA DER FEHLER? SPINNT DER LIMA_SERVER ODER WAS IST LOS?
Bitte um Hilfe.
mfg
Zualio -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
K?nntest du bitte den gesamten Quelltext posten/als Textdatei hochladen und die besagte Zeile farblich markieren?
MfG Lucas -
Parse error: parse error, unexpected $ in ***** on line [LAST LINE]
Das deutet immer darauf hin, dass eine geschwungene Klammer { oder was auch immer nicht geschlossen wurde.
In deinem Fall w?rde ich mal ein ?> an das Ende setzen. Es kann auch sein, dass du bei einer Kontrollstruktur (if/switch/...) die Klammer zu } vergessen hast.
Um den Fehler genau zu lokalisieren tu das, was lucas schrieb.
mfg
Arve -
Hi!
Ich habe mich schlie?lich entschlossen, nicht den ganzen Code zu senden. Ich beschr?nke mich nur auf den PHP Code, da der HTML Code Seiten f?llt.
index.php:
(Ausschnitt, ansonsten HTML)
<!-- Insert Site -->
<?php
include "includes.php";
?>
includes.php
(Wurde zur ?bersichtlichkeit seperat angelegt):
<?php
If ($GET['site'] <> "") {
include "sites/" . $GET['site'];
} else {
include "sites/home";
}
?>
Anmerkung: Die gespeicherten Seiten haben keine Dateierweiterung und hei?en so, wie der GET-Code f?r die jeweilige Seite ist.
Beispielseite:
(sites/home)
?>
<!-- -->
<center>
<br><img border="0" src="images/Logo_schwarz.jpg" width="162" height="199">
<br>
</center>
<div align="center">
<center>
<table border="0" width="85%">
<tr>
<td class="textgray" width="100%">
<br>
hier ist der herausgeschnittene Homepagetext
<br>
</td>
</tr>
</table>
</center>
</div>
<br>
<div align="center">
<center>
</center>
</div>
<!-- -->
<?php
Vielleeeicht ist es ein Fehler, mitten in einer If-Abfrage den PHP-Code zu schlie?en und dann wie der aufzumachen und danach den Code wieder zu schlie?en...
Ich wollte dies so machen, damit ich f?r den "echo"-Tag nicht das ganze HTML bearbeiten muss (Z.B " zu \" usw.). Gibt es dazu einen anderen Weg?
mfg
Zualio
PS: Der enthaltene HTML-Teil ist noch Roh, er muss in Formatierung, ?bersichtlichkeit usw. noch beartbeitet werden, nicht dass ihr denkt ich w?re ein Chaos-Programmierer :-)
Beitrag ge?ndert am 1.02.2006 18:22 von zualio -
Die Datei, die du einbindest f?ngt mit "?>" an und endet mit "<?php". Anscheinend bist du dem Irtum auferlegen, dass bei der Eibindung eine Textersetzung stattfindet und hast deine PHP-Tags den einbindenden Quelltexten angepasst. Der PHP-Parser f?ngt bei jeder per inlcude eingebundenen PHP-Datei an, neu zu parsen, d.h. wenn du erst HTML nutzt, brauchst du keinen schliessenden PHP-Tag davor zu setzen. Anderseits musst du dann f?r PHP-Code in der eingebundenen Datei trotzdem erstmal den ?ffnenden PHP-Tag nutzen. Bei dir geht der Parser im Moment davon aus, das am Ende der eingebundenen Datei PHP-Code kommt, aber dann ist die Datei pl?tzlich zu Ende.
@lucas9991:
Wie konntest du das ?bersehen du Nulpe? -
Ich wollte dies so machen, damit ich f?r den "echo"-Tag nicht das ganze HTML bearbeiten muss (Z.B " zu \" usw.). Gibt es dazu einen anderen Weg?
ja, du musst daf?r statt:
echo " [...] ";
einfach
echo ' [...] ';
verwenden, so musst du nicht die ganzen " escapen, sondern nur die ', welche eigentlich nur selten vorkommen! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage