lousek
Goto Top

CSS (HTML) in PHP, seite bleibt weiss, welche Zeichen müssen ge-escaped werden?

Hallo.

Also, normalerweise schreibe ich das HTML ins PHP rein (also mit echo ""; ...)

Jetzt wollte ich im Head-Teil (echo "<head>"; ... echo "</head>";)
CSS reinschreiben (echo "<style>"; ... echo "</style>";).

Habe ich auch gemacht:

echo 		"<style type=\"text/css\">";  
echo 			"<!--";  
echo 				"#box {";  
echo 				"}";  
echo 				"#box a {";  
echo 				"color:#ffffff;";  
echo 				"background:#000000;";  
echo 				"font:bold 16px verdana, sans-serif;";  
echo 				"text-decoration:none;";  
echo 				"display:block;";  
echo 				"padding:0px;";  
echo 				"border:1px solid black;}";  
echo 				"";  
echo 				"#box a:hover {";  
echo 				"color:black;";  
echo 				"background:#ffffff;";  
echo 				"width:98px;}";  
echo 				"";  
echo 				"#box a span {display:none;}";  
echo 				"";  
echo 				"#box a:hover span {";  
echo 				"color:#ffffff;";  
echo 				"background:#000000;";  
echo 				"font:normal 16px courier, sans-serif;";  
echo 				"border:0px solid black;";  
echo 				"display:block;";  
echo 				"padding:0px;}";  
echo 				"-->";  
echo 				"</style>";  

-->Das Problem: Die Seite bleibt jetzt weiss, er parst überhaupt nichts mehr (z.B. echo "test"; gibt nichts aus).
Welche Zeichen muss ich alle (wie heisst das schon wieder, also z.B. statt " im HTML heisst es dann \") auskommentieren(?) ?

Oder wo könnte der Fehler sonst liegen (wenn ich diesen Teil herausnehme funktioniert es ohne Probleme)?

Greetz, Lousek

Content-Key: 84077

Url: https://administrator.de/contentid/84077

Printed on: April 25, 2024 at 11:04 o'clock

Member: Coder2007
Coder2007 Mar 27, 2008 at 12:41:47 (UTC)
Goto Top
Warum machst Du dir das so schwer und schreibst in jede Zeile echo???

Mach das doch so:
echo  "<style type=\"text/css\">  
          <!--
          .................CSS...............
          -->
         style>";  
das minimiert Fehler oder:
echo  '<style type="text/css">  
          <!--
          .................CSS...............
          -->
         style>';  

Dann brauchst Du keinen Backslash vor die Anführungszeichen machen.

Gruß
Member: Lousek
Lousek Mar 27, 2008 at 14:55:33 (UTC)
Goto Top
Ähm, weisses eigentlich auch nicht, wieso das ichs mir immer so kompliziert mache :P

Ich habe noch etwas "komisches" festgestellt, wegen dem Problem mit der Weissen Seite:

Ich habe den KOMPLETTEN Inhalt der index.php (die nicht angezeigt hat ...) in eine zweite Datei kopiert (view.php). Dann habe ich view.php aufgerufen, diese konnte er ohne Probleme anzeigen, doch index.php immer noch nicht. Zur Sicherheit habe ich den KOMPLETTEN Inhalt der view.php (bei der es ging) wieder in die index.php (bei der es nicht ging) kopiert. Immer noch das gleiche.

Ist nur um Dinge im Hintergrund auszuprobieren, auf Design habe ich (fast ganz) verzichtet:

Index.php

http://hubusoft.kilu.de/content/index.php?id=1&type=normal_view

View.php

http://hubusoft.kilu.de/content/view.php?id=1&action=normal_view

Diese beiden sollten gleich aussehen!

Greetz, Lousek
Member: Arano
Arano Mar 28, 2008 at 01:54:10 (UTC)
Goto Top
Tag zusammen,

öffne doch mal deine Datei mit einem Hex-Editor und schau ob sich da irgend ein Zeichen das im Text-Editor nicht angezeigt wird vor den Text gemogelt hat.
Um es besser zu erkennen füge als erste Zeichen in der Datei z.B. 10 mal ein "a" ein.

Wenn das auch nicht hilft, benenn doch view.php einfahc in index.php um, scheint ja so zu funktionieren !?


Gruß Arano
Member: Spackenbremse
Spackenbremse Mar 29, 2008 at 18:59:19 (UTC)
Goto Top
Hallo Lukas.

Auch in PHP-Dateien kannst du HTML Code OHNE ein "echo" schreiben. Dazu müsst du einfach dein PHP-Code aushören und auf HTML wechseln...
Hier ein Biespiel:

<?php
/* Irgendein php Code */

?>

/* Hier ist alles schon HTML */

<? 
/* Hier ist wieder alles PHP */
?>

So kannst du deine PHP Dateien übersichtlicher gestalten und Fehler leichter finden, da die viele "echo" nicht da sin.


Ebenso würde ich dir empfehlen CSS-Code in eine style.css zu schreiben und diese dann in deiner PHP-Datei im HTML-Teil (siehe oben) aufrufen:

<link rel="stylesheet" type="text/css" href="style.css">  

So kannst du ein Design auf mehrer Seiten anwenden und musst nur eine Datei ändern um das Gesamte Design zu ändern. Villeicht lieg auch da das Problem das bei dir die Seite weiß bleibt, das PHP->CSS sich nicht verträgt...

mfg
Spackenbremse
Member: Lousek
Lousek Mar 30, 2008 at 20:46:47 (UTC)
Goto Top
Hallo.

@Spackenbremse: Ähm, wie machst du es, wenn du z.B. ein Link, z.B.: view.php?xxx=xID, xID wird aus einer DB geholt?

Müsste das dann so aussehen:


<?php

PHP-Code ...

?>

<a href="view.php?xxx=
<?php SQL-Abfrage etc. ?>
XXX</a>

<?php

PHP-COde

?>

Richtig so?

Greetz, Lousek
Member: Spackenbremse
Spackenbremse Mar 31, 2008 at 14:10:29 (UTC)
Goto Top
Hier ein Beispiel mit ner Tabelle:

<table>
<th>ID</th>
<th>Link</th>
<tr>
<?
$sql = "SELECT * FROM database;";  
$result = mysql_query($sql) OR die (mysql_error());
while($row = mysql_fetch_assoc($result)
{
?>
<td><? echo $row['ID']; ?></td>  
<td><a href=view.php?ID=<? echo $row['ID']; ?>Link</a></td>  
<? } ?>
</table>

So, das bewirkt, das das Script für jeden Eintrag in der Datenbank eine Zeile mit der Zelle ID und ner Zelle mit dem Link erstellt.

mfg
Member: Lousek
Lousek Apr 01, 2008 at 08:44:41 (UTC)
Goto Top
moinmoin.

Dann werde ich das mal so machen :P
Habe so oder so nicht allzuviel Code zum umschreiben, weil der ganze HTML-Rest in der DB ist, und ich immer wieder auf die view.php verweise ...

Trotzdem danke für alle Antworten (aber das Problem mit der index.php ist mir immer noch unklar, also die Ursache ... werde mal die alte löschen, eine neue machen und den ganzen Inhalt der view.php dann reinkopieren ...)

Greetz, Lousek
Member: Spackenbremse
Spackenbremse Apr 03, 2008 at 17:07:22 (UTC)
Goto Top
Alles klar.
Melde dich einfach, wenn das Problem weiterhin besteht, dann schauen wir mal.

mfg
Spackenbremse