2013-06-03 63 views
0

首先,我知道我在php開發很糟糕,但我盡我所能:) 我有2個選擇字段,如果項目二和選項1都選擇我' d喜歡加10到$ price2。所以我試過這個:

<form action="<?=$_SERVER['PHP_SELF']?>" method="post"> 
    items:<br> 
    <select name="test[]" multiple="multiple"> 
     <option value="one">one</option> 
     <option value="two">two</option> 
     <option value="three">three</option> 
     <option value="four">four</option> 
     <option value="five">five</option> 
    </select><br> 
    options:<br> 
    <select name="options" class="quoteFields" tabindex="5" size="1"> 
     <option value="0" selected="selected">Choose an option</option> 
     <option value="option1">option1</option> 
     <option value="option2">option2</option> 
    </select> <br> 
<input type="submit" value="Send" /> 
</form> 
<?php 

$test=$_POST['test']; 

if ($test){ 
    foreach ($test as $t){ 
     echo 'You selected ',$t,'<br />'; 

     if($t=='one') 
      $price1=12; 
     if($t=='two') 
      $price2=2; 
    } 
} 

if ($_POST['test'] === 'two') { 
    switch ($options){ 

     case "option1": 
      $price2 = $price2 + 10; 
      break; 

    } 
} 

$total = $price1 + $price2; 

echo $total; 
?> 

但它不工作,任何人都可以幫忙嗎?

+2

你永遠不設置'$ options'值。 – moonwave99

+0

您使用逗號代替連接運算符'.'。而且你並不需要對其進行簡化。只需將該變量放在字符串中:''您選擇了$ t
'' – jurgemaister

+1

@jurgemaister - 'echo'可以將其參數作爲列表以及單個字符串 – andrewsi

回答

2

你要找的條件是這樣的:

if (in_array('two', $_POST['test'], true) && $_POST['options'] === 'option1') { 
    // perhaps? $price2 += 10; 
} 

我不知道你的代碼的其餘部分,所以你必須要清理一下自己:)

0

在哪裏$選項來自?

試試這個:

switch ($_POST['options']) {