将数据从HTML表单传递到控制器中的PHP

时间:2014-08-20 13:34:21

标签: php html forms yii controller

我一直试图做的是将数据从我视图中选定的单选按钮传递到控制器中的php。然后,我将现有的令牌余额添加到选定的金额,然后将其提交回数据库。

问题是我无法从html单选按钮获取值到php控制器/动作。 我使用的是最新版本的php和YII框架。

视图

$this->breadcrumbs = array(
'Tokens' => array('index'),
$model->TokenID => 
'buy',
);

?>

<h1>Buy Tokens 
</h1>
<?php
echo  'Your balance is ' .$model->TokenAmount;
?>

<FORM name ="form1" method ="post" action = "">

<Input type = 'Radio' Name ='10tokens' value= '10'

>10

<Input type = 'Radio' Name ='25tokens' value= '25' 

>25

<Input type = "Submit" Name = "Submit1" VALUE = "Purchase Tokens">

</FORM>

和控制器中的操作

  public function actionBuy() {

    $_id = Yii::app()->user->getId();
    $model = Tokens::model()->findByAttributes(array('UserID' => $_id));
    if ($model === null)
        throw new CHttpException(404, "Keep calm! If you havent bought tokens before this is normal");

    $this->render('buy', array(
        'model' => $model,));

//        $qty = $_POST['form1'];
//        $newtkamount = ($_model->TokenAmount + $qty);
 //        echo $qty . $newtkamount . $_model->TokenAmount;
    }

1 个答案:

答案 0 :(得分:1)

您对这对单选按钮使用不同的名称。用户可以选择两个单选按钮。

<Input type = 'Radio' Name ='10tokens' value= '10'>10
<Input type = 'Radio' Name ='25tokens' value= '25'>25

您应该将两个名称都更改为相同。例如:

<input type='radio' name='qty' value='10' />10
<input type='radio' name='qty' value='25' />25

然后,您将能够使用以下方式获取所选的单选按钮值:

$qty = $_POST['qty'];