如果是另外的,那么其他逻辑与html& php代码,elseif conditon没有执行

时间:2014-04-15 17:54:50

标签: php html cakephp-1.3

我有一些情况的代码首先检查然后代码应该根据它执行。我的代码有

<?php if($this->Session->read('Auth.User.id')==''){ ?>
  <input class="profilebtn" type="button" style="width:100px !important; margin-top: 1px;" value="Start now" onclick="javascript:register_popup();">
  <input class="profilebtn" type="button" style="width:100px !important; margin-top: 1px;" value="Start now" onclick="javascript:submitPlan(2);">
  <input class="profilebtn" type="button" style="width:100px !important; margin-top: 1px;" value="Start now" onclick="javascript:submitPlan(3);">
<?php } elseif($this->Session->read('Auth.User.id')!='' && $this->Session->read('Auth.User.role_id')=='3' && isset($this->data['User']['plan_type']) && $this->data['User']['plan_type']=='A'){ ?>
   <input class="profilebtn" type="button" style="width:100px !important; margin-top: 1px;" value="Your plan" onclick="javascript:register_popup();">
   <input class="profilebtn" type="button" style="width:100px !important; margin-top: 1px;" value="Start now" onclick="javascript:submitPlan(2);">
   <input class="profilebtn" type="button" style="width:100px !important; margin-top: 1px;" value="Start now" onclick="javascript:submitPlan(3);">
<?php } elseif($this->Session->read('Auth.User.id')!='' && $this->Session->read('Auth.User.role_id')=='3' && $this->data['User']['plan_type']=='B'){ ?>
   <input class="profilebtn" type="button" style="width:100px !important; margin-top: 1px;" value="Start now" onclick="javascript:register_popup();">
   <input class="profilebtn" type="button" style="width:100px !important; margin-top: 1px;" value="Your plan " onclick="javascript:submitPlan(2);">
   <input class="profilebtn" type="button" style="width:100px !important; margin-top: 1px;" value="Start now" onclick="javascript:submitPlan(3);">
<?php } else{?>  
   <input class="profilebtn" type="button" style="width:100px !important; margin-top: 1px;" value="Start now" onclick="javascript:register_popup();">
   <input class="profilebtn" type="button" style="width:100px !important; margin-top: 1px;" value="Start now" onclick="javascript:submitPlan(2);">
   <input class="profilebtn" type="button" style="width:100px !important; margin-top: 1px;" value="Your plan" onclick="javascript:submitPlan(3);">
<?php } ?>

所以我在每个条件下都有3个按钮,所以根据用户的计划,我想从现在开始改变按钮值到你的计划&amp;休息2按钮应该有现在启动选项。所以在这段代码中,如果条件不匹配则检查是什么,然后直接执行else而不检查else,如果我想先检查的部分。

2 个答案:

答案 0 :(得分:0)

只有当值满足所有条件时,才会运行elseif。如果他们没有执行,那么至少有一个条件没有得到满足。

例如,您能否确定这里的变量:

$this->Session->read('Auth.User.id')!=''
&& $this->Session->read('Auth.User.role_id')=='3'
&& $this->data['User']['plan_type']=='B')

确实如你所愿吗?

答案 1 :(得分:0)

尝试使用(true)作为条件制作另一个elseif。所以你可以检查一下elseif是否有效。 如果它跳到那个,你的两个条件都有问题。

使用

等手动检查变量
var_dump($this->Session->read('Auth.User.role_id')=='3');

并检查输出是否符合您在条件中的计划。