我创建了一个带有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文件中起作用。我做错了什么?
答案 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)