[CSS] Een variabele vanuit php invoerenin een stylesheet

Pagina: 1
Acties:
  • 151 views sinds 30-01-2008
  • Reageer

  • Arcane Apex
  • Registratie: Juni 2003
  • Laatst online: 30-01-2025
Hallo,

Ik heb een vraagje wat betreft het invoeren van een (php)variabele in een CSS-stylesheet die vanuit een stuk php-script berekend is en moet worden ingevoerd als een waarde in een stylsheet.
Dus bijvoorbeeld ipv left:300; left:$variabele; .
Ik weet hoe dit moet wanneer je de de CSS-code binnen de .php file houdt, maar niet wanneer de CSS-code allemaal in een CSS file zit.

Weet iemand hoe men dit in het algemeen aanpakt en zo ja, werkt die methode dan ook voor variabelen die vanuit javascript komen?

[ Voor 12% gewijzigd door Arcane Apex op 25-02-2005 00:43 ]


Verwijderd

Waarom zet je het style sheet niet gewoon in een php bestand. Je include deze dan binnen de <head></head> tages van je php pagina. Dan heb je het als je gewoon de <style></style> tages zou gebruiken. Je kun binnen <style></style> gewoon de 'taal' van je css gebruiken.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

PHP:
1
2
3
4
5
6
7
8
9
<?php

header('Content-Type: text/css');

$left = 300;

echo '#element { left: ' . $left . 'px; }';

?>

HTML:
1
<link rel="stylesheet" type="text/css" href="stylesheet.php">


en dat kan inderdaad ook met javascript. Houd er rekening mee dat css en js files doorgaans gecached worden; als je variabelen elke keer anders moeten zijn zal je daar rekening mee moeten houden.
Als het slechts om een paar variabelen gaat dan zou ik die gewoon inline in het document plaatsen.

[ Voor 11% gewijzigd door crisp op 25-02-2005 00:51 ]

Intentionally left blank


  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 08:44

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

crisp schreef op vrijdag 25 februari 2005 @ 00:50:
PHP:
1
2
3
4
5
6
7
8
9
<?php

header('Content-Type: text/css');

$left = 300;

echo '#element { left: ' . $left . 'px; }';

?>
PHP:
1
2
3
<?php header('Content-type: text/css'); ?>

#element { left: <?=$left?>px; }


Maar dat is heel persoonlijk natuurlijk O+

Als left niet variabel is, kun je natuurlijk ook door php een .css-bestand op de server aanmaken. On the other hand, als left niet variabel is, _hoef_ je ook geen php te gebruiken 8)7

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • Arcane Apex
  • Registratie: Juni 2003
  • Laatst online: 30-01-2025
Ok het werkt...op 1 ding na.
De variabele die ik heb gebruikt is een variabele uit een cookie en het vreemde is dat deze variabele in de stylesheet.php altijd op 0 staat ipv de juiste waarde die in de cookie staat.
Maar de variabele heeft/toont wel altijd de juiste waarde in een andere .php file, terwijl exact dezelfde code wordt gebruikt in de stylesheet file om de variabele aan de cookie te ontrekken als in de main file waarnaartoe de stylesheet wordt geimporteerd.
In de main .php werkt de variabele dus correct, maar in de stylesheet niet.

[ Voor 15% gewijzigd door Arcane Apex op 25-02-2005 01:52 ]


  • JHS
  • Registratie: Augustus 2003
  • Laatst online: 04-01 15:49

JHS

Splitting the thaum.

Arcane schreef op vrijdag 25 februari 2005 @ 00:42:
Weet iemand hoe men dit in het algemeen aanpakt en zo ja, werkt die methode dan ook voor variabelen die vanuit javascript komen?
PHP kan niet communiceren met door js gegenereerde waarden, althans niet direct, js is clientside, php is serverside, dus behalve als je de door js gegenereerde waarde naar de server stuurt, kan dat niet lijkt me, of bedoelde je dat ook?
crisp schreef op vrijdag 25 februari 2005 @ 00:50:
HTML:
1
<link rel="stylesheet" type="text/css" href="stylesheet.php">
Was het niet zo dat sommige (oudere) browsers alleen stylesheets met .css laden, en je dus beter
HTML:
1
<link rel="stylesheet" type="text/css" href="stylesheet.css.php">
kan doen, of apache vertellen dat .css geparsed moet worden als php, en dan in het bestand zelf idd een css header verzenden?
Arcane schreef op vrijdag 25 februari 2005 @ 01:46:
Ok het werkt...op 1 ding na.(...cookie...)In de main .php werkt de variabele dus correct, maar in de stylesheet niet.
Is het zo dat main.php of de stylesheet in een andere map staat? Geef je in je cookie het path "/" en het juiste domain op, zodat het cookie binnen het hele domein beschikbaar is? zie ook hier

DM!


  • Arcane Apex
  • Registratie: Juni 2003
  • Laatst online: 30-01-2025
JHS schreef op vrijdag 25 februari 2005 @ 09:39:
zo dat main.php of de stylesheet in een andere map staat? Geef je in je cookie het path "/" en het juiste domain op, zodat het cookie binnen het hele domein beschikbaar is? zie ook hier
De cookie wordt aangemaakt doormiddel van javascript en heb dus de range vanwaar de cookie ge-accessed kan worden niet gezet, maar de main .php file en de stylsheet bevinden zich in dezelfde directory, dus dat zou geen probleem moeten opleveren.

[ Voor 5% gewijzigd door Arcane Apex op 25-02-2005 20:13 ]


  • Morrar
  • Registratie: Juni 2002
  • Laatst online: 13-05 18:40
Het gaat er vooral om of het bestand met de javascript-code die het cookie zet ook in dezelfde map / domein staat als de main.php. Dat zou ook kunnen verklaren waarom de PHP code in een ander bestand (als die wel in dezelfde map staat) wel werkt, maar main.php niet. Je kan natuurlijk ook gewoon het path in het cookie zetten, dan ben je van het gezeur af. Overigens kun je het cachen van stylesheets volgens mij tegen gaan door een random variabele (of de datum + tijd) als query meegeven.

Verwijderd

Was het niet zo dat sommige (oudere) browsers alleen stylesheets met .css laden
En HTML documenten alleen als .htm of .html? Dat hoop ik toch niet.

  • simon
  • Registratie: Maart 2002
  • Laatst online: 13-05 17:26
JHS schreef op vrijdag 25 februari 2005 @ 09:39:
[...]
PHP kan niet communiceren met door js gegenereerde waarden, althans niet direct, js is clientside, php is serverside, dus behalve als je de door js gegenereerde waarde naar de server stuurt, kan dat niet lijkt me, of bedoelde je dat ook?

[...]
Was het niet zo dat sommige (oudere) browsers alleen stylesheets met .css laden
eh, daar geloof ik dus geen drol van :P Ze kijken naar de mime type hoor..

|>


  • JHS
  • Registratie: Augustus 2003
  • Laatst online: 04-01 15:49

JHS

Splitting the thaum.

Simon schreef op vrijdag 25 februari 2005 @ 22:04:
[...]eh, daar geloof ik dus geen drol van :P Ze kijken naar de mime type hoor..
Ja dat dacht en hoopte ik ook :) . Maar ik dacht óók ergens gelezen te hebben ..., maargoed, gelukkig niet dus :) .

DM!

Pagina: 1