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

Ausgedruckt am: 29.03.2024 um 07:03 Uhr

Mitglied: Coder2007
Coder2007 27.03.2008 um 13:41:47 Uhr
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ß
Mitglied: Lousek
Lousek 27.03.2008 um 15:55:33 Uhr
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
Mitglied: Arano
Arano 28.03.2008 um 02:54:10 Uhr
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
Mitglied: Spackenbremse
Spackenbremse 29.03.2008 um 19:59:19 Uhr
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
Mitglied: Lousek
Lousek 30.03.2008 um 22:46:47 Uhr
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
Mitglied: Spackenbremse
Spackenbremse 31.03.2008 um 16:10:29 Uhr
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
Mitglied: Lousek
Lousek 01.04.2008 um 10:44:41 Uhr
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
Mitglied: Spackenbremse
Spackenbremse 03.04.2008 um 19:07:22 Uhr
Goto Top
Alles klar.
Melde dich einfach, wenn das Problem weiterhin besteht, dann schauen wir mal.

mfg
Spackenbremse