PHP - 根据另一个var的值将值归因于var

时间:2013-08-30 04:32:34

标签: php post if-statement var

我正在尝试根据文本值将值归因于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),而不保存前两个数字。

提前致谢

3 个答案:

答案 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'