我正在尝试根据文本值将值归因于var。 我不能直接(通过我的表单)归因数值,因为我也在我的数据库中保存文本值。
$section = $_POST['section']; // required
$page = $_POST['page']; // required
if ($_POST['page'] == 'Template') { $Code == '00'; }
elseif ($_POST['page'] == 'Menu') { $Code == '01'; }
elseif ($_POST['page'] == 'Home Page') { $Code == '02'; }
elseif ($_POST['page'] == 'About Us') { $Code == '03'; }
elseif ($_POST['page'] == 'Contact Us') { $Code == '04'; }
$Code_Page = $Code.''.$section;
例如,主页的第18节的代码是0218。
我不明白为什么它不起作用? 仅保存第二部分($ section),而不保存前两个数字。
提前致谢
答案 0 :(得分:0)
要在PHP中定义变量,请使用单个等号(=)。在定义 $ Code 时,您使用了两个等号(==),这是comparison operator。
原始回答:
我假设您希望优化此代码。如果是这样,我觉得最好的方法是创建一个数组,或从你提到的数据库中提取。在数组中包含数据集后,您可以进行一些简单的检查:
静态数组方法:
$pages = array('Template' => '00', 'Menu' => '01', 'Home Page' => '02', 'About Us' => '03', 'Contact' => '04');
if (in_array($_POST['Page'], $pages))
{
//We have a match, deal with output here
$Code_Page = $pages[$_POST['Page']].$section
}
else
{
//Output an error message here, the page isn't in the array
}
答案 1 :(得分:0)
首先添加$Code
声明
$section = $_POST['section']; // required
$page = $_POST['page']; // required
$Code = ''; // This was missing
if ($_POST['page'] == 'Template') { $Code == '00'; }
elseif ($_POST['page'] == 'Menu') { $Code == '01'; }
elseif ($_POST['page'] == 'Home Page') { $Code == '02'; }
elseif ($_POST['page'] == 'About Us') { $Code == '03'; }
elseif ($_POST['page'] == 'Contact Us') { $Code == '04'; }
$Code_Page = $Code.''.$section;
答案 2 :(得分:0)
您提供的代码似乎为您提供了您正在寻找0218主页的代码。我看到的唯一错误是您没有分配$Code
。您的$Code == '02'
应为$Code = '02'