CSS en PHP
Maar ik heb een probleem met mijn CSS te koppelen. Als ik
Code (php)
1
<?<link rel="stylesheet" type="text/css" href="<?=$_SERVER['DOCUMENT_ROOT'] . "include/default.css"?>" />?>
zet, past hij de CSS niet toe. Nu gebruik ik
Als verwijzing en ik maak van $css ofwel "include/default.css" ofwel "../include/default.css". (Ik steek sommige files in mappen om het overzichtelijk te houden.)
Het probleem is dat mijn systeem afhankelijk is of je ingelogd bent, dus als je inlogd gebruik ik de ../ en anders niet. Maar nu heb ik een pagina (een lokale inbox) die niet in de map steekt, omdat die niet in de map zit, verlies ik opeens mijn opmaak.
Weet iemand welke standaard string ik kan gebruiken zodat ik altijd mijn opmaak behoud?
Gewijzigd op 01/01/1970 01:00:00 door Armaron
Zou je het iets duidelijker neer kunnen zetten, ik kan hier niet zo veel van maken.
EDIT - Men HTML code staat nu tussen < ? en ? > zodat alles in boxen komt.
Gewijzigd op 01/01/1970 01:00:00 door Armaron
hier je code
Code (php)
1
<link rel="stylesheet" href="<?php echo $_SERVER['DOCUMENT_ROOT']; ?>include/default.css" type="text/css" />
je kunt toch ook met ../../include/default.css werken?
@Erwin: lees topic in zijn geheel door.
Zet je css bestand op een plek die altijd gelijk is, ongeacht of iemand is ingelogd of niet (bijvoorbeeld in je webroot). Anders met mod-rewrite het pad aanpassen.
Waarom niet gewoon absolute verwijzingen gebruiken?
@Djemo: heb ik al geprobeerd, voor de een of andere reden kan hij er dan niet aan. Het rare is, als je van de pagina de broncode opvraagt, staat de verwijzing er goed in. Ik heb ze al eens gecopieerd en dan kom ik op de goede pagina uit als ik het in een nieuw venster in de url balk copieer, maar hij laad ze voor de een of andere reden niet in.
@Twan van der Poel: ik weet niet precies wat de code doet, maar als het afhankelijk in welke map ik zit het pad aanpast, is dat wat ik nodig heb.
@Capono: ja, mijn css bestand staat altijd op dezelfde plek in de map include. Ik zal eens opzoeken wat mod-rewrites zijn.
EDIT - Heb opgezocht wat mod-rewrites zijn en ik weet dat de server waar het uiteindelijk op moet terechtkomen geen apache server is. Dus kan het zijn dat dat niet meer werkt. Ik zal het in men achterhoofd houden wat dit is, als ik het voor een ander project eens nodig mocht hebben.
@Jan Koehoorn: via $_SERVER["DOCUMENT_ROOT"] is het altijd een vast pad, $_SERVER[] geeft het begin pad van de server. Maar dat aanvaard hij niet, als ik ../include/default.css opgeef, doet hij het wel.
Ik gebruik op het moment geen online server, maar een WampServer2.0.
Gewijzigd op 01/01/1970 01:00:00 door Armaron
www.jousite.nl/map/map/style.css? Hier heb je toch alles mee opgelost?
Maar wat is er mis met een absoluut pad als Heb ik net geprobeerd, hij laad de css dan om de een of andere reden niet in. Dus als ik het zo zet, heb ik geen opmaak.
http://www.testurl.nl/nieuws/238/nieuws-kop - en in het document staan verwijzingen in de vorm van: '/css/stylesheet.css'; dan wordt http://www.testurl.nl/css/stylesheet.css gebruikt. Je zou dan een variabele kunnen gebruik dat als prefix functioneerd.
Ik laat de verwijzingen meestal beginnen met '/', zodat de browser automatisch de 'base' pakt. Als je bijv. url's hebt als Code (php)
1
<link rel="stylesheet" href="/<?php echo $css_prefix; ?>include/stylesheet.css" type="text/css"/>
Ik gebruik op het moment WampServer 2.0, en in mijn code komt te staan "c:/wamp/www/include/default.css". Maar om de een of andere reden laad die mijn css niet in. Als ik dat dan copieer (uit de broncode van de weergegeven pagina) en ik surf er naartoe, laat die netjes mijn css code zien.
Gewijzigd op 01/01/1970 01:00:00 door Armaron