2009-03-28 3 views
2

wann hat:Warum verursacht mein Kommentar mit <BR>, dass mein Code im Browser seltsamerweise mit PHP angezeigt wird? Da

//echo "[$sql][$result][$rows][$e]<BR>"; 

Ursache ein Fehler? Der Code nach diesem Kommentar wird als Quelle im Browser ausgegeben! Bedenke ich benutze PHP täglich, ich habe das noch nie zuvor gesehen! Ich portiere eine alte php-App von einer alten Win2k-Box auf einen neuen Windoze 2003-Server - Apache 2.2, MySQL 5.1.32, PHP 5.2.9, und die App bombardiert überall, weil überall Code auskommentiert ist. Irgendwelche Schalter um zu verhindern, dass es so empfindlich auf Kommentare reagiert? Ich weiß // gefolgt von ?> dann wird Code brechen, wie ?> beendet die PHP, aber BR-Tags? Sicher nicht.

Weitere Details: Der Code Chunk

if ($condition){ 
    // do stuff 
} else { 
    $sql="select * from person where percode='$person'"; 
    $result=mysql_db_query($db,$sql,$conn); 
    @$rows=mysql_num_rows($result); 
    $e=mysql_errno()." ".mysql_error(); 
    //echo "[$sql][$result][$rows][$e]<br>"; 
    $perfname=mysql_result($result,0,"perfname"); 
    $persname=mysql_result($result,0,"persname"); 
    $peraddr1=mysql_result($result,0,"peraddr1"); 
} 
?> 

Der Code bis zum Kommentar läuft gut. Der Code nach dem Kommentar bis zum?> Wird in den Browser ausgegeben. Danach ist die HTML-Anzeige in Ordnung. Remove comment (oder auch nur die < und> rund um die BR macht Code funktioniert gut.

+0

Nein, das scheint seltsam. Es ist wahrscheinlich etwas falsch mit der obigen Zeile. Bitte zeigen Sie mehr Codezeilen an. –

+0

Ist das vielleicht verschachtelt ein bereits kommentierter/* ... */Block? –

+0

Ich stimme Bjorn zu ... wir brauchen mehr Code. – Narcissus

Antwort

3

Sie könnten die short open tag Einstellung in der Datei php.ini des neuen Servers ausgeschaltet haben, die Sie verschieben. Wenn diese Einstellung ist Siehe ausgeschaltet, sind alle Ihre <? Tags ignoriert und nur Code zwischen den voll

<?php und ?>-Tags wird als PHP-Code analysiert. wenn diese Einstellung deaktiviert ist, und wenn es auf Korrekturen Drehen.

Wenn nicht, überprüfe, ob du irrtümlich '?> irgendwo vor den Kommentaren tust Der vollständige Codeblock hilft Ihnen dabei.

+0

short_open_tag = Aus in php.ini, aber ich * immer * verwenden

+0

Aaaargh - Seppuku Zeit! Habe gerade ein

+0

Ok, schlaue Leute - was regexp zu finden ist

Verwandte Themen