0

まず第一に、私は PHP 開発が非常に下手であることを知っていますが、最善を尽くします :) 2 つの選択フィールドがあり、項目 2 とオプション 1 の両方が選択されている場合、$price2 に 10 を追加したいと思います。だから私はこれを試しました:

<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; 
?>

しかし、それは機能していません。誰でも助けることができますか?

4

2 に答える 2

2

あなたが探している条件はこれです:

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

あなたのコードの残りの部分についてはよくわからないので、自分でクリーンアップする必要があります:)

于 2013-06-03T14:20:02.673 に答える
0

$options はどこから来るのですか?

これを試して:

switch ($_POST['options']) {
于 2013-06-03T14:21:59.550 に答える