URL Problem...

DaveThuet

Erfahrenes Mitglied
Hey Folks,

habe wiedermal ein kleines Problem und hoffe einmal mehr auf Eure Hilfe. :)

Es geht um folgendes:
Ich habe nun eine "print.css" mit angepassten Stylesheet für besseres Drucken erstellt.
Natürlich besteht auch ein normale "style.css" für die normale Anzeige der Homepage.

Soweit noch kein Problem...
Nun möchte ich aber auch die Funktion aufrufen lassen respektive via Link eine Art Druckvorschauseite anzeigen lassen mit dem gemachten "print.css" Stylesheet.

Dafür habe ich nun ein Bild in meinem Sidemenü eingebunden das dann folgendermassen aufgerufen wird:
HTML:
<a href="?d=druckvorschau" title="Druckvorschau ansehen..." target="_blank"><img src="images/layout/print-preview.png" width="16" height="16" border="0" alt="Druckvorschau ansehen..." /></a>

Hier noch das passende im Header-Bereich damit Ihr seht wie es läuft:
PHP:
<?php if (isset($_GET['d']) && $_GET['d'] == 'druckvorschau') { ?>
<link rel="stylesheet" type="text/css" media="screen" href="print.css" />
<?php } else { ?>
<link rel="stylesheet" type="text/css" media="screen" href="style.css" />
<?php } ?>
<link rel="stylesheet" type="text/css" media="print" href="print.css" />


Nun zum eigentlichen Problem

Meine Homepage wird dynamisch Generiert und natürlich sind die Links (URI's) bereits mit "?" und zum Teil auch mit "&" gefüllt.
Wenn man nun auf das Symbol "Druckvorschau" klickt auf der Index-Seite wallpaper-area.ch/index.php funktioniert der Trick mit der übergabe des "d" um das print.css anzusprechen, bis da noch kein Problem...
Nun wenn man aber zum Beispiel die Seite "News" aufruft geht es nicht mehr, da der Link der Seite News folgendermassen aussieht wallpaper-area.ch/index.php?page=news
Wenn man nun hier auf das Symbol "Druckvorschau" klickt geht es nicht, denn der Link wird folgendermassen umgewandelt: wallpaper-area.ch/index.php?d=druckvorschau also er lässt das wichtigste weg nähmlich nach dem index.php der url das ganze "?page=news" einfach weg?

Ich hoffe Ihr versteht was ich zu erklären versuche... :confused:
Wie kann ich das Problem auf einfache Weise lösen?

Die Links oben sind gewollt nicht verlinkt, wenn Ihr das Problem Live betrachten wollt, klickt in meiner Signatur auf den Wallpaper Area Link. Ich wollte hier nicht unsinnige viele Links in meinen Post haben.:)
 
Nun möchte ich aber auch die Funktion aufrufen lassen respektive via Link eine Art Druckvorschauseite anzeigen lassen mit dem gemachten "print.css" Stylesheet.

[...]

Wenn man nun auf das Symbol "Druckvorschau" klickt auf der Index-Seite wallpaper-area.ch/index.php funktioniert der Trick mit der übergabe des "d" um das print.css anzusprechen, bis da noch kein Problem...
Tatsächlich?

Der URL http://www.wallpaper-area.ch/index.php?d=druckvorschau generiert bei mir überhaupt keine Druckvorschau :suspekt:

mfg Maik
 
Hallo,
und ob sie das tut, es ist ne stark abgemagerte Version der Seite index.php wenn du sie genau vergleichen würdest...

Es wird kein Header angezeigt sowie alle unnötigen Werbungen wurden ausgeblenbet via id-Tags in der "print.css"... ;)

Natürlich ist es nicht die Druckvorschau die man per Browser-Menü aufrufen kann, dass lässt sich ja bekanntlich nicht Realisieren.
Was du dort zu sehen bekommst ist eigentlich die Darstellung der "print.css" und somit wird es auch so gedruckt.

Hast du aber evtl. ne Idee für mein Problem? ;)
 
Zuletzt bearbeitet:
Hey kuddeldaddeldu,

kannst du mir bitte Zeigen wie ich das machen muss...?
Wäre dir sehr sehr dankbar dafür. ;)
Bin nach wie vor ein Greenhorn in PHP als solches... :(
 
Hi,

mit [phpf]echo[/phpf]?

suche im Quelltext, wo der GET-Parameter "page" geprüft wird, vielleicht wird der bereinigte Parameter ja in eine Variable geschrieben, dann gibst Du den Link ungefähr so aus:

PHP:
echo '<a href="?page=' . $aktuelle_seite . '&amp;d=druckvorschau" title="Druckvorschau ansehen..." target="_blank"><img src="images/layout/print-preview.png" width="16" height="16" border="0" alt="Druckvorschau ansehen..." /></a>';

LG
 
PERFEKT

Danke Dir vielmals kuddeldaddeldu... ;)

Ja, es war tatsächlich bereits ein Get_Parameter vorhanden musste den nur noch einbauen in deinem Code.

Hier dann der passende Code für meine Seiten:
PHP:
<?php echo '<a href="?page=' . $_GET['page'] . '&amp;d=druckvorschau" title="Druckvorschau ansehen..." target="_blank"><img src="images/layout/print-preview.png" width="16" height="16" border="0" alt="Druckvorschau ansehen..." /></a>'; ?>

Bye and thanks!
 
Hi,

Du solltest auf keinen Fall $_GET['page'] direkt einbauen!
Dort könnte schließlich wer weiss was drinstehen. Daten, die vom User kommen, müssen immer geprüft werden.

LG
 
Habe ich mich wiedermal zu früh Gefreut... :(
Schade den es klappt sehr gut so.
Was sollte ich den dort Reinschreiben?
Möchtest du den gesamten Code der index mal sehen?
Wäre es zusätzlich auch möglich das dann als Popup zu öffnen, ich bringe das im Moment nicht hin, aber ich denke dein letzter Kommentar hat eindeutig mehr priorität...
 
Zurück