Настройка свойств CSS с помощью PHP-сессий? - PullRequest
1 голос
/ 17 декабря 2011

Я довольно новичок в PHP, сейчас я учусь на нем в техникуме. С учетом сказанного, одно из наших заданий требует, чтобы мы использовали сеансы для изменения 4-х CSS-свойств. цвет фона тела, a: цвет ссылки, a: цвет при наведении и h1 цвет. Идея состоит в том, чтобы в основном иметь 3 страницы -1, являющиеся формой, с 4 раскрывающимися списками, заполненными цветами, один из которых устанавливает фактические сеансы с данными $ _POST, а последний - страницу, которая фактически использует CSS.

У меня это работает с куки, но в назначении явно сказано использовать сессии, как вы можете видеть:

Текущий код, который у меня есть, устанавливает сессии:

session_start();
$_SESSION['bgColor']= $_POST['bgColor'];
$_SESSION['lColor']=$_POST['lColor'];
$_SESSION['hoverColor']=$_POST['hoverColor'];
$_SESSION['h1Color']=$_POST['h1Color'];

На той же странице есть код, который выводит значения переменных сеанса ... Я вижу цвета, которые сохраняются. Но когда я пытаюсь повторить CSS, как это:

 echo "a:link {color: ".$_SESSION['lColor'].";}";
 echo "a:hover {color: ".$_SESSION['hoverColor'].";}";
 echo "body {background-color: ".$_SESSION['bgColor'].";}";
 echo "h1 {color: ".$_SESSION['h1Color']."; text-align:center;}";

Не работает, когда я проверяю источник страницы через мой веб-браузер, он показывает пустые свойства:

 a:link {color: ;}a:hover {color: ;}body {background-color: ;}h1 {color: ; text-align:center;}     

Буду очень признателен за любую помощь, которую вы, ребята, готовы оказать, и имейте в виду, что это мой первый урок по PHP.

Ответы [ 2 ]

1 голос
/ 17 декабря 2011

Добавьте session_start() в File3.

Убедитесь, что PHPSESSID (или как называется ваша переменная сеанса) передается из File2 в File3 через GET в случае, если пользователь отключил куки.

1 голос
/ 17 декабря 2011

Обязательно ли запускать каждую страницу, которая использует сеанс, с помощью session_start ();

Он должен быть объявлен перед попыткой вызова любых сеансовых переменных.

Ваша форма использует method = "post", а не get?

Кроме того, многие сотрудники SO, скорее всего, будут предупреждать вас о необходимости очистки всего, что вы получаете от $ _POST. В этом случае вы, вероятно, в безопасности, поскольку это просто задание, а не живой сайт - я полагаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...