为什么不回应css.php中的php不起作用?

时间:2016-12-22 22:49:29

标签: php css echo

我创建了一个带有PHP扩展名的CSS文件,名为all.php。该文件如下所示:

import java.util.Scanner;
 public class PrimeGenerator {
public static void main(String args[]) {
    Scanner k = new Scanner(System.in);
    System.out.println("Enter an integer");
    int number = k.nextInt();
    PrimeGenerator matt = new PrimeGenerator();
    System.out.println(matt.nextPrime(number));
}

private int number;

public PrimeGenerator(int n) {
 number = n;
}

public int nextPrime(int number) {
    for (int i = 1; i <= number; i++) {
        boolean prime = true;
        for (int j = 2; j < i; j++) {
            if (i % j == 0) {
                prime = false;
            }
        }
        if (prime){
            return i;
        }
    }
   }
 }

使用

在每个页面上调用此文件
<?php
header("Content-type: text/css; charset=utf-8");

session_start();

$color = $_SESSION['color']; ?>

.className {
   background-color: <? echo $color; ?>;
}

当我在php文件中回显<link rel="stylesheet" href="css/all.php" media="screen"> 纯文本时,一切正常。因此,SESSION设置正确,不知何故它在css.php文件中起作用。我做错了什么?

3 个答案:

答案 0 :(得分:0)

您可能在php.ini中关闭了短标签(您应该这样做)。

而不是<? echo $color; ?>;

使用<?php echo $color; ?>;

<?= $color; ?>;

答案 1 :(得分:0)

找到解决方案。在原始文档中,我使用标题启动了页面,然后是session_start()。那些应该切换。该页面必须以session_start()开头,否则将被视为CSS。

答案 2 :(得分:-1)

在css.php中,文件本身并不知道您在文件中设置的$ _SESSION变量,其中包含css.php文件,因为它不知道您使用的是哪个会话。

echo session_id();在css.php之外获取您的会话ID。我的意思是你从你提到的Session变量中获取值。

然后在你的css.php

中设置session_id() = (the id here)