CSS en PHP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Armaron

Armaron

24/03/2008 19:35:00
Quote Anchor link
Ik heb een functie geschreven om de header van mijn pagina's te standardiseren. Nu moet ik enkel header->writeHeader(titel) meegeven in plaats van alles telkens te copieren.

Maar ik heb een probleem met mijn CSS te koppelen. Als ik
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?<link rel="stylesheet" type="text/css" href="<?=$_SERVER['DOCUMENT_ROOT'] . "include/default.css"?>" />?>

zet, past hij de CSS niet toe. Nu gebruik ik
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?<link rel="stylesheet" type="text/css" href="<?=$css?>" />?>

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
 
PHP hulp

PHP hulp

27/12/2024 18:26:58
 
Steen

steen

24/03/2008 19:38:00
Quote Anchor link
Zou je het iets duidelijker neer kunnen zetten, ik kan hier niet zo veel van maken.
 
Armaron

Armaron

24/03/2008 19:44:00
Quote Anchor link
Had ik gedaan, maar de stukken PHP code worden uit de html code gehaald en in apparte boxen gezet. Ik zal zien of ik de originele post kan aanpassen.

EDIT - Men HTML code staat nu tussen < ? en ? > zodat alles in boxen komt.
Gewijzigd op 01/01/1970 01:00:00 door Armaron
 
PHP Newbie

PHP Newbie

24/03/2008 19:47:00
Quote Anchor link
doe het zo:



hier je code

 
Jesper Diovo

Jesper Diovo

24/03/2008 19:48:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<link rel="stylesheet" href="<?php echo $_SERVER['DOCUMENT_ROOT']; ?>include/default.css" type="text/css" />
 
Erwin Nieuwenhuis

Erwin Nieuwenhuis

24/03/2008 20:29:00
Quote Anchor link
je kunt toch ook met ../../include/default.css werken?
 
Jesper Diovo

Jesper Diovo

24/03/2008 20:41:00
Quote Anchor link
@Erwin: lees topic in zijn geheel door.
 
Toine vd P

Toine vd P

24/03/2008 21:05:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?

if ( $_SESSION["ingelogdofzow"] ) {
  define('CSS_BASE_PATH','../../../../bla/bla'_;
}
else {
  define('CSS_BASE_PATH','/bla/bla');
}


?>

verder in je HEAD
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<link rel="stylesheet" type="text/css" href="<?=CSS_BASE_PATH?>/default.css" />

Bedoel je zoiets ?
Gewijzigd op 01/01/1970 01:00:00 door Toine vd P
 
Hans Kuiters

Hans Kuiters

24/03/2008 21:07:00
Quote Anchor link
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.
 
Jan Koehoorn

Jan Koehoorn

24/03/2008 21:12:00
Quote Anchor link
Waarom niet gewoon absolute verwijzingen gebruiken?
 
Armaron

Armaron

25/03/2008 11:40:00
Quote Anchor link
Bedankt voor alle tips, ik zal degene die ik nog niet heb geprobeerd eens uitproberen.

@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
 
Crispijn -

Crispijn -

25/03/2008 11:54:00
Quote Anchor link
Maar wat is er mis met een absoluut pad als www.jousite.nl/map/map/style.css? Hier heb je toch alles mee opgelost?
 
Armaron

Armaron

25/03/2008 12:02:00
Quote Anchor link
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.
 
Patrick Niezen

Patrick Niezen

25/03/2008 12:30:00
Quote Anchor link
Ik laat de verwijzingen meestal beginnen met '/', zodat de browser automatisch de 'base' pakt. Als je bijv. url's hebt als 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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<link rel="stylesheet" href="/<?php echo $css_prefix; ?>include/stylesheet.css" type="text/css"/>
 
Armaron

Armaron

25/03/2008 12:40:00
Quote Anchor link
Patrick, die $_SERVER["DOCUMENT_ROOT"] is hetzelfde als jouw $css_prefix. Het enige verschil is dat $_SERVER[] automatisch de prefix gaat zoeken.

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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.