Include met css

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ger Eielts

Ger Eielts

15/08/2013 13:22:12
Quote Anchor link
Hoi, een vraagje. Ik heb

Map1
a.php
..Map2
..b.php
..Map3
..c.css

in b.php wordt a.php ge-included. In a.php zit opmaak via Map3/c.css.

Als ik rechtstreeks a.php oproep volgt een keurige opmaak.
Als ik b.php oproep krijg ik a.php onopgemaakt.

In mijn onschuld dacht ik, dat de include als eerste verwerkt zou worden in b.php.
Dus als include a.php uitgevoerd wordt zit het script een nivootje hoger (Map 1) en
gebruikt dan gewoon c.css vanuit Map3 en het script keert terug naar b.php en vervolgt
de verwerking, uiteindelijk b.php presenterend met opgemaakte a.php.

Niet dus; wat is de denkfout ?
 
PHP hulp

PHP hulp

26/12/2024 02:37:55
 
Ramon van Dongen

Ramon van Dongen

15/08/2013 13:26:01
Quote Anchor link
Hoe roep je het css bestand aan? Met een relatief path waarschijnlijk?
 
Ger Eielts

Ger Eielts

15/08/2013 13:30:10
Quote Anchor link
Ramon van Dongen op 15/08/2013 13:26:01:
Hoe roep je het css bestand aan? Met een relatief path waarschijnlijk?


Vanuit a.php als volgt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<head>

    <link href="./Styles/Site.css" rel="stylesheet" type="text/css" />


</head>
 
Ramon van Dongen

Ramon van Dongen

15/08/2013 13:31:39
Quote Anchor link
Probeer het eens met een absoluut path.

Nu kijk je namelijk steeds een map hoger dan waar het bestand zich bevindt, terwijl dat niet steeds het geval is door het includen.
 
Chris PHP

Chris PHP

15/08/2013 13:51:54
Quote Anchor link
@Ger,

Misschien is het makkelijker om met defines te werken, stel je gaat in de toekomst je mappenstructuur wijzigen moet je alle includes met de hand aanpassen.

Als je nu zoiets als dit doet.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
define ('ROOT_PATH', 'http://localhost/website/');
define ('CSS_PATH', 'Styles/');

// Dan kun je deze bijvoorbeeld zo aanroepen.
include (ROOT_PATH . CSS_PATH . 'Site.css');
?>
Gewijzigd op 15/08/2013 13:54:15 door Chris PHP
 
Ger Eielts

Ger Eielts

15/08/2013 13:56:57
Quote Anchor link
Met een absoluut path krijg ik meer problemen.<link href="C:/wamp/www/Styles/Site.css" etc.> oftewel volgens het voorbeeld
<link href="C:/wamp/www/Map3/c.css" etc.>
a. ik krijg nog steeds geen opgemaakte a.php als ik b.php aanroep
b. als ik andere scripts aanroep, die ook a.php includen, maar die ook in Map1(=www) zitten:
met het relatieve path: goede opmaak
met het absolute path: ook geen opmaak

Van de regen in de drup ?





Toevoeging op 15/08/2013 13:59:11:

Chris NVT op 15/08/2013 13:51:54:
@Ger,

Misschien is het makkelijker om met defines te werken, stel je gaat in de toekomst je mappenstructuur wijzigen moet je alle includes met de hand aanpassen.

Als je nu zoiets als dit doet.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
define ('ROOT_PATH', 'http://localhost/website/');
define ('CSS_PATH', 'Styles/');

// Dan kun je deze bijvoorbeeld zo aanroepen.
include (ROOT_PATH . CSS_PATH . 'Site.css');
?>


Hey interessant, ga er direct mee experimenteren. Bedankt voor de tip Chris !

Toevoeging op 15/08/2013 15:01:32:

@Chris, nogmaals bedankt voor die tip. Zal het principe zeker gebruiken, maar het lost mijn probleem (nog) niet op.
Kan volgens mij geen css-file includen, want dan geeft de pagina de hele code van de css-file weer.

Misschien moet ik de vraag anders stellen: is het wel mogelijk een php-file te includen, die verwijzingen heeft naar
andere files in andere mappen? Zo nee, dan moet ik ermee leren leven. Zo ja, hoe dan ?
 
Erwin H

Erwin H

15/08/2013 15:01:33
Quote Anchor link
Ger Eielts op 15/08/2013 13:56:57:
Met een absoluut path krijg ik meer problemen.<link href="C:/wamp/www/Styles/Site.css" etc.> oftewel volgens het voorbeeld
<link href="C:/wamp/www/Map3/c.css" etc.>

Je moet natuurlijk ook geen locatie op je c schijf meegeven. De browser probeert dat bestand op te halen via een http request, oftewel, het moet een url zijn.
 
Chris PHP

Chris PHP

15/08/2013 15:11:13
Quote Anchor link
@Ger,

Je moet een css file ook niet includen met include rechtstreeks, deze drukt het gewoon als tekst af.

Probeer het eens zo
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<link href="<?php echo ROOT_PATH . CSS_PATH . 'Site.css'; ?>" rel="stylesheet" type="text/css" />
 



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.