PHP переменная в CSS: неопределенная переменная - PullRequest
0 голосов
/ 10 июля 2020

Я следую руководству по использованию переменной PHP в файле CSS.

У меня есть следующий "стиль" PHP лист, style_header.php:

    <?php
   header('content-type: text/css');
   ob_start('ob_gzhandler');
   header('Cache-Control: max-age=31536000, must-revalidate');
   // etc. 
?>

#headerwrap {
    background: url(assets/img/<?= $pic_array[0] ?>) no-repeat center top;
    ...
    }

этот файл связан с моей главной страницей (index. php) благодаря:

    <link href="assets/css/style_header.php" rel="stylesheet" type="text/css" media="all" />

, а переменная PHP определена в load_pictures_content. php, который включен в index.php до style_header.php привязано:

    <?php
// requête sur la BDD
$result2 = mysqli_query($connexion, "SELECT img_name FROM pictures");
//$row =  mysqli_fetch_row($result);
$pic_array = array();
$i=0;
//stockage de chaque igne dans array + recupération de l'élément 0 = contenu
while($dpic = mysqli_fetch_array($result2)) {

    $pic_array[$i] = $dpic[0];
    ++$i;

}
?>

Я получаю следующую ошибку:

    url(assets/img/<br />
<b>Notice</b>:  Undefined variable: pic_array in <b>/home/leem4147/emilien-lecoffre.com/assets/css/style_header.php</b> on line <b>9</b><br />
) no-repeat center top

1 Ответ

0 голосов
/ 10 июля 2020

Кажется, вы неправильно понимаете PHP приказы на исполнение. Ваш код выполняется в следующем порядке.

  1. index. php который включает load_pictures_content, style_header
  2. После рендеринга index. php, style_header. php будет выполняться, потому что он указан как URL-адрес для CSS. В это время style_header. php выполняется без load_pictures_content, поэтому вы должны видеть ошибки.

Решение. Вам необходимо включить коды в load_pictures_content. php в style_header. php

Вот код мокапа. Динамика c CSS

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