Avatar billede krk Nybegynder
11. juli 2006 - 13:43 Der er 12 kommentarer og
1 løsning

php i css

Hej
Kan nogen se hvad der er galt.
Jeg vil gerne kunne ændre ex. baggrundsfarven i mit css via links på sitet.
Ind til videre har jeg følgende.
cms_css.php:
body{
  background-color:<?php print $color;?>;
  }

variabel.php: (Som jeg includer i min head i index.php)
$color        =$_REQUEST['color'];

index.php:
<head>..
  <?php require("req/variabler.php");  ?>
  <link href="cms_css.php" rel="stylesheet" type="text/css">
..
</head>
<body>
bla. bla...
<?php print"<a href='?page=cms&color=blue'>blå</a>";
</body>

variablen $color kommer jo ikke frem til cms_css.php, men jeg kan se at variablen bliver sendt til variabl.php. Hvorfor bliver den så ikke fanget af cms_css.php
Avatar billede trophymanager Nybegynder
11. juli 2006 - 13:47 #1
<link href="cms_css.php" rel="stylesheet" type="text/css">

jeg ved ikke om det har noget at gøre med den type du har lavet. Umiddelbart ville jeg bare bruge en include "cms_css.php" i stedet.
Avatar billede jakobdo Ekspert
11. juli 2006 - 13:52 #2
Prøv at smid dette i toppen af cms_css.php: <?php header("Content-type: text/css"); ?>
Avatar billede zynzz Praktikant
11. juli 2006 - 14:00 #3
Jeg ville nok bruge sessions til den slags ting... og include din styre fil i toppen
Avatar billede jakobdo Ekspert
11. juli 2006 - 14:03 #4
Når du bruger:
<link href="cms_css.php" rel="stylesheet" type="text/css">

skal du lave tricket:
<?php header("Content-type: text/css"); ?>
i toppen af cms_css.php
Avatar billede krk Nybegynder
11. juli 2006 - 15:43 #5
nu har jeg prøvet at sætte <?php header("Content-type: text/css"); ?> ind i toppen af cms_css.php, men det virker stadig ikke
Avatar billede jakobdo Ekspert
11. juli 2006 - 16:03 #6
$color; skal du huske at sætte.
Avatar billede krk Nybegynder
11. juli 2006 - 17:17 #7
Jeg forstår ikke det sidste du skrev.
Jeg har lavet et mini eksempel på www.kryt.dk/test
Index.php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<?php require("variabler.php");  ?>
<link href="css.php" rel="stylesheet" type="text/css">
</head>

<body>
<?php
    $page = $_REQUEST['page'];
    if(!$page){
        require("content/cms.php");   
        }
    else{
        require("content/$page.php");
          }
?>
<br><br><bR><?php print"<a href='?page=cms&color=blue'>blå</a>";
print"<br>Variablen er: $color";
?>
</body>
</html>

css.php:
<?php header("Content-type: text/css"); ?>
body{
    background-color:<?php print $color;?>;
    }

variabler.php:
<?php
$color        =$_REQUEST['color'];
?>

Det er den kode der er tilbage nu, så der skulle ikke være noget andet kode der kan "forstyrre"
Avatar billede jakobdo Ekspert
11. juli 2006 - 18:36 #8
Avatar billede krk Nybegynder
11. juli 2006 - 18:54 #9
Det er præcis det jeg gerne vil have
Hvad skriver du i 720128css.php?

Skal linien hvor du linker til 720128css.php skrives som følgende ?
<link href="720128css.php?color=$color" rel="stylesheet" type="text/css">
Avatar billede jakobdo Ekspert
11. juli 2006 - 19:05 #10
720128css.php
<?php
//http://www.eksperten.dk/spm/720128
header("Content-type: text/css");
echo 'body    {' . "\n";
echo 'background-color: ' . $_GET['color'] . "\n";
echo '}' . "\n";
?>

a {
    color: black;
}

og hovedfilen:

<?php
//http://www.eksperten.dk/spm/720128

echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">' . "\n";
echo '<html>' . "\n";
echo '<head>' . "\n";
echo '<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">' . "\n";
echo '<title>Untitled Document</title>' . "\n";
$color = (isset($_GET['color']))?$_GET['color']:'blue';
echo '<link href="720128css.php?color='.$color.'" rel="stylesheet" type="text/css">' . "\n";
echo '</head>' . "\n";
echo '<body>' . "\n";
echo '<a href="'.$_SERVER['PHP_SELF'].'">Blue</a><br />' . "\n";
echo '<a href="'.$_SERVER['PHP_SELF'].'?color=red">Red</a><br />' . "\n";
echo '<a href="'.$_SERVER['PHP_SELF'].'?color=green">Green</a><br />' . "\n";
echo '<a href="'.$_SERVER['PHP_SELF'].'?color=yellow">Yellow</a><br />' . "\n";
echo 'Variablen er: ' . $color . "\n";
echo '</body>' . "\n";
echo '</html>' . "\n";
?>
Avatar billede krk Nybegynder
11. juli 2006 - 19:09 #11
nu har jeg fået det til at virke.
Tak for din tålmodighed.
Du henter bare point
Avatar billede jakobdo Ekspert
11. juli 2006 - 19:10 #12
Svar!
Avatar billede jakobdo Ekspert
11. juli 2006 - 20:03 #13
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester