php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.12.2008, 00:12  
Neuer Benutzer
 
Registriert seit: 04.12.2008
Beiträge: 20
Stephan_87 befindet sich auf einem aufstrebenden Ast
Standard Fehler: Unexcepted {

Hi,

Ich bekomme den Fehler:

"Parse error: syntax error, unexpected '{' in /Applications/xampp/xamppfiles/htdocs/notebook/version2/todo.php on line 95"

Der entsprechende Code ist:

PHP-Code:
function __getTodoStatus($progress$id$isParent){
    
    global 
$prio;
    
    if ((!(
__hasChildItems$id )) || ($isParent == )){
        
        
//display Check-Status
        
if ($progress 100)
            return 
'<a href="check.php?id='.$id.'&prio='.$prio.'"><img src="notdone.gif" width="16" height="16" /></a>'
             else
              return 
'<img src="done.gif" width="16" height="16"/>'
    }
    
    return 
"";


Zeile 95 ist die Zeile in der die if-Abfrage kommt.

Ich kann mir den Fehler nicht erklären. Aber ich hatte mal einen ähnlichen Fehler. Da war es irgendwie so, dass ich hinter den Funktions-bezeichner kein Leerzeichen vor der { machen durfte also:

PHP-Code:
function foo() { ... } 
Ergab einen Fehler aber,

PHP-Code:
function foo(){ ... } 
nicht.

Danke.
Stephan_87 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 13.12.2008, 00:19  
Erfahrener Benutzer
 
Registriert seit: 19.03.2007
Beiträge: 176
BlackWolf ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Der Fehler liegt auch direkt in deiner If-Abfrage
5 Klammern gehen auf aber nur 4 zu - kann nicht stimmen
ich denk mal die klammer vor __hasChildItems ist zuviel.

mfg
BlackWolf ist offline  
Alt 13.12.2008, 00:28  
Neuer Benutzer
 
Registriert seit: 04.12.2008
Beiträge: 20
Stephan_87 befindet sich auf einem aufstrebenden Ast
Standard

Tatsächlich..!

Okay muss ich mir merken. Da hab ich mich etwas irritieren lassen von der Fehlermeldung und hab dann nur nach Fehler bei den geschweiften Klammern gesucht.

Danke!
Stephan_87 ist offline  
Alt 13.12.2008, 02:33  
Erfahrener Benutzer
 
Registriert seit: 19.03.2007
Beiträge: 176
BlackWolf ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von Stephan_87 Beitrag anzeigen
Tatsächlich..!

Okay muss ich mir merken. Da hab ich mich etwas irritieren lassen von der Fehlermeldung und hab dann nur nach Fehler bei den geschweiften Klammern gesucht.

Danke!
Naja im Grunde ist die Fehlermeldung auch richtig, es ist halt nur eine Sache ob man sie richtig interpretiert.

Für PHP sieht die Sache so aus: Da eine Klammer noch offen ist, ist die Kondition der if-Abfrage noch nicht beendet. In den Klammern einer If-Abfrage hat ein { aber nichts zu suchen. PHP stößt also auf { und merkt "das darf nicht in einer if-kondition stehen" und meint folgerichtig "unerwartetes {"

Oder anders ausgedrückt: Bei

if ($muh == "muh" { )

wäre die fehlermeldung "unexpected {" ja genau das was man erwarten würde. und genau so ein code ist deiner für PHP
mfg
BlackWolf ist offline  
Alt 13.12.2008, 12:16  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Fehler: Unexcepted {
Deshalb auch unexpected - unerwartet!
Zitat:
Da war es irgendwie so, dass ich hinter den Funktions-bezeichner kein Leerzeichen vor der { machen durfte also:
Das ist definitiv Quatsch.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 13.12.2008, 20:49  
Neuer Benutzer
 
Registriert seit: 04.12.2008
Beiträge: 20
Stephan_87 befindet sich auf einem aufstrebenden Ast
Standard

Dann ist das vielleicht eine macinterne Sache!

Ich hatte sehr ähnliche, nicht reproduzierbare Fehler auch schon bei c :


int sdfsdfdsf() {

}


warf einen nichtssagenden Fehler: (irgendwas mit \stray 1xx )
Eine Googlesuche nach dem Fehler blieb erfolglos. Es wurde nur ein oder zwei Sache gefunden, in denen es aber nicht um dieses stray-dings ging.

Naja, sobald ich die Funktion in

int ssdfsdfsdf(){

umschrieb trat der Fehler nicht mehr auf.

Selbiges hatte ich jetzt auch einmal bei PHP (aber eine andere Fehlermeldung).

Wie gesagt, nicht reproduzierbar. Aber es trat definitiv auf. Vielleicht kann sich da zufällig jemand einen Reim drauf machen ?
Stephan_87 ist offline  
Alt 13.12.2008, 21:04  
Erfahrener Benutzer
 
Registriert seit: 19.03.2007
Beiträge: 176
BlackWolf ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von Stephan_87 Beitrag anzeigen
Dann ist das vielleicht eine macinterne Sache!

Ich hatte sehr ähnliche, nicht reproduzierbare Fehler auch schon bei c :


int sdfsdfdsf() {

}


warf einen nichtssagenden Fehler: (irgendwas mit \stray 1xx )
Eine Googlesuche nach dem Fehler blieb erfolglos. Es wurde nur ein oder zwei Sache gefunden, in denen es aber nicht um dieses stray-dings ging.

Naja, sobald ich die Funktion in

int ssdfsdfsdf(){

umschrieb trat der Fehler nicht mehr auf.

Selbiges hatte ich jetzt auch einmal bei PHP (aber eine andere Fehlermeldung).

Wie gesagt, nicht reproduzierbar. Aber es trat definitiv auf. Vielleicht kann sich da zufällig jemand einen Reim drauf machen ?
Da liegt der Fehler mit 100%iger Sicherheit irgendwo anders im Code, und dein Code wird dann an irgendeinem Punkt auch nicht so funktionieren wie er soll.
Macintern gibts da nix. Zwischen der schließenden Klammer und der sich öffnenden geschweiften Klammer dürfen schlicht soviele leerzeichen, newlines oder sonstiges liegen wie du willst

Zu C kann ich nichts sagen, da das bei mir zu lang her ist

mfg
BlackWolf ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Fehler meines Projektes Darkbone PHP Tipps 2008 48 05.08.2008 16:55
bitte hilfe! mysql fehler meldung: basicx PHP Tipps 2008 2 22.07.2008 16:36
mysql fehler meldung: basicx Datenbanken 1 22.07.2008 09:48
[Erledigt] Mysql Syntax Fehler Datenbanken 3 06.07.2006 09:58
Frage: Suche Fehler in diesem Script... PHP Tipps 2005-2 14 25.10.2005 19:24
[Erledigt] Seite wird nicht angezeigt, untersch. Fehler bei IE/FF/Safar PHP-Fortgeschrittene 19 31.05.2005 14:52
Blöder MySQL Fehler PHP Tipps 2005 3 15.05.2005 03:14
Fehlermeldung - aber kein fehler... Tschuu HTML, Usability und Barrierefreiheit 16 14.03.2005 15:56
Wo liegt der fehler?? PHP-Fortgeschrittene 5 22.12.2004 09:54
[Erledigt] mysql fehler PHP Tipps 2004 2 03.11.2004 00:32
Fehler anders ausdrücken PHP Tipps 2004 4 27.10.2004 15:09
Hilfe ich finde den Fehler nicht! PHP Tipps 2004 2 07.10.2004 17:40
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
mysql_real_escape_string - Fehler Schaelle Datenbanken 0 03.07.2004 23:32
Paradox, Fehler bei Berechnung in MySQL MrNiceGuy Datenbanken 0 23.06.2004 16:09


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:31 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum