Seite 1 von 1

Einfach PHP-Code einfügen?

Verfasst: Do 4. Nov 2004, 18:59
von Haue
Hi, ich versuche gerade mir über php & css eine "Druckversion" meiner Seiten zu generieren. Dazu müsste folgender Code im Head der Seite verarbeitet werden. Doch es wird gar keine Seite angezeigt!?!

Code: Alles auswählen

<?php
if($_GET["version"] == "druck") {
echo "
<link rel=\"stylesheet\" href=\"druck.css\" type=\"text/css\">
";
} else {
echo "
<link rel=\"stylesheet\" href=\"normal.css\" type=\"text/css\">
"
}
?>
Warum kann ich diesen Code nicht einfach oben in mein Layout packen?

Verfasst: Do 4. Nov 2004, 19:01
von timo
vermutlich hast du da nen Fehler drin...hinter dem letzten echo fehlt z.b. ein semikolon.

Verfasst: Do 4. Nov 2004, 19:04
von Haue
So funktionierts auf jeden Fall nicht:

Code: Alles auswählen

<?php 
if($_GET["version"] == "druck") { 
echo "<link rel=\"stylesheet\" href=\"druck.css\" type=\"text/css\">"; 
} else { 
echo "<link rel=\"stylesheet\" href=\"normal.css\" type=\"text/css\">";
} 
?>
Aber generell sollte sowas funktionieren???

Verfasst: Do 4. Nov 2004, 19:12
von emergence
ich weiss nicht was du hast,
bei mir wird der code korrekt erzeugt...

Verfasst: Do 4. Nov 2004, 19:17
von Beleuchtfix
Warum willst du den unterschiedliche Seiten ausgeben?. SChau doch mal in den FAQs unter http://www.thilo-sommer.de/PHPMyFAQ/ind ... ight=druck
Dort wird eine gemeinsame Seite für Screen und Print erstellt.
Viel Erfolg
Florian

Verfasst: Do 4. Nov 2004, 20:03
von timo
Haue hat geschrieben:So funktionierts auf jeden Fall nicht:
Wie schaut dein komplettes Layout aus?

Eventuell auch errorlog.txt gegenchecken

Verfasst: Do 4. Nov 2004, 21:36
von Haue
Beleuchtfix hat geschrieben:Warum willst du den unterschiedliche Seiten ausgeben?. SChau doch mal in den FAQs unter http://www.thilo-sommer.de/PHPMyFAQ/ind ... ight=druck
Dort wird eine gemeinsame Seite für Screen und Print erstellt.
Viel Erfolg
Florian
Bei der Lösung von Thilo Sommer steuerst du die css-datei aber nur über das Ausgabemedium, also media="screen" oder media="print". Ich möchte aber eine "Druckvorschau" haben. Also eine Seite, auf der man den Inhalt der Seite für den Druck optimiert betrachten kann.

OK, anscheinend war dort wirklich ein php-Fehler drin. Jetzt funktioniert es so halb --> www.huerkamp-lucas.de/cms1/cms/
Allerdings nur, wenn in der URL, die in der Adresszeile angezeigt wird, schon "?idcat=X" steht. Probiert es mal aus. Dann wisst ihr was ich meine.
Hat dafür jemand ne Idee?

PS:

Verfasst: Fr 5. Nov 2004, 08:06
von oma wetterwax
die fehlermeldung liegt am "ampersand":

wenn du schon eine query in der url hast, ist die schreibweise
front_content.php?idcat=X&version=druck
natürlich richtig, ruftst du aber die front_content.php allein mit der druckversion auf, sieht die url so aus:
front_content.php&version=druck

das kann nicht funktionieren.

gruss
oma

Verfasst: Fr 5. Nov 2004, 08:38
von Dodger77
Mir gefällt das ziemlich gut, damit können sowohl die Leute bedient werden, die die Seite direkt ausdrucken, als auch diejenigen, die erst eine Druckvorschau sehen möchten.

Im Layout habe ich dafür folgendes "eingebaut":

Code: Alles auswählen

<?php
if($_GET["version"] == "druck") {
echo '<link rel="stylesheet" type="text/css" href="css/format_p.css" media="screen">';
} else {
echo '<link rel="stylesheet" type="text/css" href="css/format.css" media="screen">';
}
?>

<link rel="stylesheet" type="text/css" href="css/format_p.css" media="print">
Und den Link zur Druckversion kann man in einem entsprechenden Modul auf folgende Art und Weise erzeugen. Dabei dürfte es auch keine Schwierigkeiten mehr geben, egal ob und wie viele Argumente übergeben werden.

Code: Alles auswählen

<?php
if ($_SERVER["argc"] != 0) {
$printlink = $_SERVER["REQUEST_URI"] . "&version=druck";
}
else {
$printlink = $_SERVER["REQUEST_URI"] . "?version=druck";
}
?>
<a href="<?php echo $printlink; ?>" title="Druckansicht"><img src="images/print.gif" alt="Druckansicht" title="Druckansicht" border="0"></a>
Bei mir funktioniert das ziemlich gut:

http://test.van-peeren.de/poeschel/

Verfasst: Fr 5. Nov 2004, 12:55
von Haue
Ich werds gleich mal ausprobieren!
Besten Dank für die super Unterstützung :D

Verfasst: Fr 5. Nov 2004, 13:02
von Haue
Bei mir funktioniert es noch nicht so ganz: www.huerkamp-lucas.de/cms1/cms/

Verfasst: Fr 5. Nov 2004, 13:29
von Dodger77
Haue hat geschrieben:Bei mir funktioniert es noch nicht so ganz: www.huerkamp-lucas.de/cms1/cms/
Dann versuch mal bitte im Code für der Link zur Druckversion folgendes

Code: Alles auswählen

if ($_SERVER["argc"] != 0) {
mit dem hier

Code: Alles auswählen

if (count($_GET) != 0) {
zu ersetzen.

Verfasst: Fr 5. Nov 2004, 13:55
von Haue
FUNKTIONIERT!!! DANKE!
Super Arbeit!