mysql - Dynamic CSS with PHP based on database -
found couple answers here on stackoverflow , used them models, must missing something. i'm trying set couple of background colors dynamically in css based on in database, it's not working - when check inspect element in chrome, background-color has line through , warning mark 'invalid property value'.
here's code; it's in 2 separate files - first in header include file, , second in linked .php / css-esque file.
header include: [edited 4/29 include session code]
session_start(); // check if $_session set before if (!isset($_session['email'])) { header("location: bad_login.php"); exit(); } $_session['companyid'] = $_post['companyid']; $companyid = $_session['companyid']; $email = $_session['email']; require_once('../includes/_connection.inc.php'); $connect = dbconnect('read'); $sql = 'select colorone, colortwo, logo companies companyid = ' . $companyid; $result = $connect->query($sql) or die(mysqli_error()); $row = $result->fetch_assoc(); $colorone = '#' . $row['colorone']; $colortwo = '#' . $row['colortwo']; $carrierlogo = '/companylogos/' . $row['logo']; php/css file:
<?php header("content-type: text/css"); ?> #main { width: 85%; margin: 0 auto; padding: 0.75em 0; } #colorone { width: 100%; height: 12px; background-color: <?php echo $colorone; ?>; } #colortwo { width: 100%; height: 7px; background-color: <?php echo $colortwo; ?>; } edit 4/29:
this css generated:
#main { width: 85%; margin: 0 auto; padding: 0.75em 0; } #colorone { width: 100%; height: 12px; background-color: ; } #colortwo { width: 100%; height: 7px; background-color: ; } i echoed variable in html know there should in variable. should opening database , assigning variable inside css.php file?
css/php linked way in header:
<link type="text/css" rel="stylesheet" href="../css/carrier.php">
instead of using .css file extension, use .php
in html file: linked .php?
<link rel='stylesheet' type='text/css' href='css/style.php' /> in style.php add
<?php header("content-type: text/css; charset: utf-8"); ?> now can set variables whatever like:
edit:
don't forget session_start(); since you're using sessions (i don't understand how, since nothing gets posted css/carrier.php should rather have in session different file & use $companyid = $_session['companyid']; $email = $_session['email'];).
is way code looks?
<?php session_start(); header("content-type: text/css; charset: utf-8"); $_session['companyid'] = $_post['companyid']; $companyid = $_session['companyid']; $email = $_session['email']; require_once('../includes/_connection.inc.php'); $connect = dbconnect('read'); $sql = 'select colorone, colortwo, logo companies companyid = ' . $companyid; $result = $connect->query($sql) or die(mysqli_error()); $row = $result->fetch_assoc(); $colorone = '#' . $row['colorone']; $colortwo = '#' . $row['colortwo']; $carrierlogo = '/companylogos/' . $row['logo']; ?> #main { width: 85%; margin: 0 auto; padding: 0.75em 0; } #colorone { width: 100%; height: 12px; background-color: <?php echo $colorone; ?>; } #colortwo { width: 100%; height: 7px; background-color: <?php echo $colortwo; ?>; }
Comments
Post a Comment