我创建了一个页面,用户可以在其页面上输入要更改的不同颜色的十六进制代码。这一切都很好,但我想这样做,如果用户输入的框是空的,然后显示默认的CSS。否则,显示自定义的。
我将使用一个例子:
用户选择被发送到表单验证:
$this->form_validation->set_rules('channelNameColor',
lang('user_themes_channel_name_color'),
'trim|strip_tags|xss_clean|min_length[6]|max_length[6]');
然后它最终被传递到一个可以在CSS中使用的文件:
在此声明:
$channelNameColor = $theme['channelNameColor'];
然后在所有这些声明下面以CSS形式输入:
.channelNameBar h1{
font-size:20px;
color:#<?=$channelNameColor?>;
float: left;
}
我想做这样的事情:
<?php
if (empty($channelNameColor)){
echo ".channelNameBar h1{";
echo "font-size:20px;";
echo "color:#FFFFFF;";
echo "float: left;";
echo "}";
}
else
{
echo ".channelNameBar h1{";
echo "font-size:20px;";
echo "color:#$channelNameColor;";
echo "float: left;";
echo "}";
}
?>
但它无法识别$channelNameColor
if (empty($channelNameColor)){
为什么它没有在那里识别它,但是当我在css中使用它时它认出它很好? 很抱歉,如果这是一个非常简单的问题,我是PHP的新手
答案 0 :(得分:1)
通常,如果用户输入为空,则根本不声明channelNameColor
会更有意义。您可以在验证中执行此操作!
稍后您可以使用isset()
代替empty()
,这在您进行验证后更加可靠!
还要确保将else语句包含在大括号中,否则无论如何都会输出它!