Rajan
Rajan

Reputation: 2425

how to check if value of radio button is changed in PHP Codeiginter?

Hello i want to deduct balance of Resellers. Each reseller has its own users so he can edit his users. now if reseller sets balance of user = yes then i want to deduct 5 euros from his account. So how do i know if the radio button value if changed from No to yes?

<tr>
    <td>Balance</td>
<td>Yes<?php echo form_radio('balance','Yes', $this->input->post('balance') ? $this->input->post('balance') : $user->balance);  ?> No <?php echo form_radio('balance','No', $this->input->post('balance') ? $this->input->post('balance') : $user->balance);  ?></td>   
</tr>

Output

So now after login if a reseller sets the balance of user to yes then 5 euros should be deducted! Please help me with this:

The User Controller :

public function edit ($id = NULL)
{

     $usertype=$this->session->userdata('usertype');
    if($usertype ==="reseller")
    {

    // Fetch a user or set a new one
    if ($id) {
        $this->data['user'] = $this->user_m->get($id);
        count($this->data['user']) || $this->data['errors'][] = 'User could not be found';
    }
    else {
        $this->data['user'] = $this->user_m->get_new();
    }

    // Set up the form
    $rules = $this->user_m->rules_admin;
    $id || $rules['password']['rules'] .= '|required';
    $this->form_validation->set_rules($rules);

    // Process the form
    if ($this->form_validation->run() == TRUE) {
        $data = $this->user_m->array_from_post(array('sip_id','sip_pass','name','email', 'password','phone','status','created','balance'));
        $data['password'] = $this->user_m->hash($data['password']);

            $selected_radio=$_POST['yes']; 
                                    if($selected_radio=='checked')
                                    { 
                                        $this->reseller_m->deduct();
                                    } 



        $this->user_m->save($data, $id);
        redirect('reseller/user');
    }

    // Load the view
    $this->data['subview'] = 'reseller/user/edit';
    $this->load->view('reseller/_layout_main', $this->data);


}
else{
    $this->load->view('permission');
}

}

I have Tried This:

$selected_radio=$_POST['yes']; 
                                    if($selected_radio=='checked')
                                    { 
                                        $this->reseller_m->deduct();
                                    } 

BEfore Edit

After Edit

Upvotes: 1

Views: 2970

Answers (2)

GuyT
GuyT

Reputation: 4426

You can get the value of the radiobutton by using following code:

$this->input->post('balance')

Now you can do a simple check in your backend:

if ($this->input->post('balance') === 'Yes'){
  //execute when true
} else{
  // execute other action
}

When you want to get the value of a radiobutton and the names are the same(when you have multiple radiobuttons) you can get the value by using $_POST['name of radiobutton']

Example

// HTML

<input type="radio" name="example" value="1" />
<input type="radio" name="example" value="2" />

// PHP After submit(method post)

$this->input->post('example'); // will be 1 or 2

Upvotes: 2

Numair
Numair

Reputation: 69

you can check the selected radio button in this way:

<?php 
$selected_radio=$_POST['yes']; 
if($selected_radio=='checked'){ 
//deduct 5 euros;
} 
?>

Upvotes: 0

Related Questions