2010-09-14 84 views
1

我有一個HTML表單,其中包含單選按鈕,用戶可以選擇他是否想要註冊多年才能獲得折扣。目前,我有一個PHP if語句,基本上說 如果用戶選擇是折扣,計算價格,在表格中顯示詳細信息,執行SHA1HASH轉換,然後以隱藏形式顯示詳細信息(此表單必須是發送到我們的支付合作夥伴。表格PHP IF語句

ELSE(如果用戶不選擇),基本與上面相同,但很明顯的值會有所不同。

我的問題是HTML表格和形式必須是PHP外這意味着當我運行頁面時,表單和表格都出現了。是否有任何解決方法?

+0

請問您能提供一些代碼嗎? – tdammers 2010-09-14 13:47:57

回答

2

你可以有一個if/else封裝HTML。

<?php 
if($userHasDiscount==true) { 
    include 'discounttable.html'; 
} 
else { 
    include 'standardtable.html'; 
} 

你要知道,你應遵循MVC並採用框架(比如CodeIgniter)將帶領你在正確的方向來解決這類問題。

+0

這聽起來像是一個很好的方式去實際!只是一個簡短的問題 - 說我插入變量到這個隱藏的表格,並進入我的HTML表格 - 我仍然能夠做到這一點? – 109221793 2010-09-14 13:59:38

+0

'($ userHasDiscount == true)'爲什麼不只是'($ userHasDiscount)'。不需要使用'(true/false == true)',最好只使用'(true/false)'。 – Alex 2010-09-14 14:02:49

+1

@TaraWalsh如果你在表單中插入變量,你將會包含'discounttable.php'而不是'.html'。所有變量將在包含的頁面上提供。 – Alex 2010-09-14 14:04:49

1
<form action=''> 
<input type="radio" value="1" name="radiobutton">YES</input> 
<input type="radio" value="0" name="radiobutton">NO</input> 
</form> 

if(isset($_POST['radiobutton']) 
{ 
    echo 'Value YES'; 
    // your code here 
    ?> 

    <!---- HTML HERE ------> 

    <!---- END HTML ------> 

    <?php 

} 

確保您的形式有

action='' 

功能空的,它會加載相同的頁面,如果你將其留空。

+1

它應該是'action ='''我認爲...... – halfdan 2010-09-14 13:49:52

+0

因爲我的回答不是答案,那就是爲什麼。 – Jordy 2010-09-14 13:54:17

+0

對不起,我問你問哪裏的人。 – HoLyVieR 2010-09-14 13:56:27

1

如果我明白你想要做的是正確的。您希望在提交表單後檢查要顯示的HTML。

<? if (isset($_POST["option"])) { ?> 
    <!-- HTML HERE --> 
<? } ?> 

這將保持if語句中的HTML代碼不顯示,直到提交表單之後。

您只需將POST值更改爲您的某個窗體控件即可。