2013-06-04 26 views
1

我在我的页面中使用了一个活动会话:$_session_start();我想隐藏部分表单并根据用户以前的条目显示另一个表单。隐藏/显示基于mysql数据的输入

基本上我提供直接存款纸张支票我希望能够让用户只能看到他们所需要的字段之前完成(在注册这样的值已经在数据库中)

眼下数据库表设置这样的:

paper_check与1(这种方式不收费)的值(是支付这种方式)或0

,并直接存入同样的事情。我需要根据用户以前的选择来显示/隐藏与每个字段相关联的字段。

我打了这个,但它似乎没有做任何事情。请帮帮我!!!!! (类名隐藏和显示都在我的CSS和正常工作!)

<?php 
    if ($_SESSION['direct_deposit'] == 1) 
    { 
     $doc->getElementById('check_payable_to')->className+" hide"; 
    } 
    else 
    { 
     $doc->getElementById('name_on_account')->className+" hide"; 
     $doc->getElementById('check_payable_to')->className+" show"; 
    } 
?> 
+0

该语法不会设置元素的类。你需要调用setter方法。 – Barmar

+0

你在使用什么DOM库?它看起来像是php.net上的一个,但它没有提及'className'属性。 – Barmar

+0

我已经将脚本从Google上删除。我不擅长php,如果我可以在javascript中做到这一点,并获得$ _SESSION的工作,我已经完成了我确信。所以,如果这是完全错误的,我很抱歉。 PHP在我的职业生涯中并不是什么大事! – user2371301

回答

1

我没有看到PHP的DOM库className属性。看起来这是向某个元素添加类的方式:

$doc->getElementById('check_payable_to')->setAttribute('class', 
    $doc->getElementById('check_payable_to')->getAttribute('class') . " hide"); 

您是否启用了错误报告?它应该警告未知的财产。

如果你想这样做在Javascript中,而不是PHP,有你的PHP做这样的事情:

<script> 
var direct_deposit = <?php echo $_SESSION['direct_deposit']; ?>; 
if (direct_deposit == 1) { 
    /* Do what you want */ 
} else { 
    /* Do what else you want */ 
} 
</script> 
+0

相同的结果。没有:(我真的希望我对PHP有更强的知识,这是可能的在JavaScript? – user2371301

+0

查看更新的答案。 – Barmar

+0

好吧,我知道了这个和一些玩我的代码。我简单地添加了两个div,并将它们包裹在每个部分的周围,然后分配它们的id并从那里开始。我们有一个地方可以发布我的最终答案,这就是我需要做的一切吗? – user2371301

0

在你的问题,你说:“我用我的页面有活动会话:$ _session_start();”你不应该使用$ _session_start()。它应该是session_start()。

+0

这是正确的,我使用$ session_start()。我没有注意到我在问题中输入了错误。感谢您的注意! – user2371301

+1

它仍然是错误的,函数名称中没有'$'。 – Barmar

+0

我回去看看它在第一行代码中输入的内容类似于:session_start()。谢谢虽然;) – user2371301

0

的className + “隐藏” 应该是的className = “隐藏”

+0

我试过了,但没有改变。 – user2371301

0

通过包装,像这样在它自己的DIV每个部分:

<div id="paperCheck class="show"> 
    <!--Your Paper Check Information here--> 
</div> 

<div id="directDeposit" class="show"> 
    <!--Your Direct Deposit Information here--> 
</div> 

然后通过使用JavaScript,您可以执行以下操作:

var direct_deposit = <?php echo $_SESSION['direct_deposit']; ?>; 

if (direct_deposit == 1) 
{ 
    document.getElementById('paperCheck').className ="hide"; 
} 
else 
{ 
    document.getElementById('directDeposit').className ="hide"; 
}