69696
ウェブサイトを作る一貫で、HTMLのフォーム内にラジオボタンを設置しました。  
今回はオブジェクト指向で作ることが前提で  
HTML→userAction→functionのフローで実行するようにしています。  
btnSubmitを押すと、sqlのusersテーブルにデータが格納され、ログインページへ移行する  
というコードです。

ラジオボタンで４つ選択肢を作ったのですが、先頭の・A ボタンを選択した時しかPHPMyAdminに取得されません。  
B, C, D を選択したときはデータ格納されず、、、  
どのようにしたら良いでしょうか？

以下コード抜粋です。

**HTML**

```

    <div class="form-row">
    <div class="form-group">
        <input type="radio" name="course" value="a"> A <br><br>
        <input type="radio" name="course" value="b"> B <br><br>
        <input type="radio" name="course" value="c"> C <br><br>
        <input type="radio" name="course" value="d"> D <br><br>
    </div>
    <div class="form-group">
         <button type="submit" name="btnSubmit" class="btn btn-dark ">Submit</button>
    </div>
    
```

**userAction**

```

    if(isset($_POST['btnSubmit'])){
        $a = $_POST['a'];
        $b = $_POST['b'];
        $c = $_POST['c'];
        $d = $_POST['d'];
    
        $user->createUser($a, $b, $c, $d);
    
```

**function**

```

    function createUser($a, $b, $c, $d){
    
        $sql = "INSERT INTO users (a, b, c, d) VALUES ('$a', '$b', '$c', '$d')";
    
        if($this->conn->query($sql)){
            header("location: forms/login.php");
        }else{
            die("Error: " . $this->conn->error);
        }
    
```
CC BY-SA 4.0
2020-08-19T07:46:12.023
69691
2020-08-19T11:55:39.297
2020-08-19T11:48:49.220
3060
41550
question
php mysql
ラジオボタンで選択したデータが意図した通り受け取れない
HTML のラジオボタンで `name="course"` と指定しているので、PHP で受け取る際は `$_POST["course"]`
を参照する必要があると思います。  
また、ラジオボタンなので選択肢は常に一つですから、値を取り出すには例えば以下のような記載になるでしょう。

```

    if(isset($_POST["course"])){
        $course = $_POST["course"];
    }
    
```

参考:  
[ラジオボタンの値を取得 »
php実験室](http://www.weblaboratory.jp/WP/phptrial/2011/07/09/sec06/)
CC BY-SA 4.0
2020-08-19T11:55:39.297
69696
2020-08-19T11:55:39.297
3060
69691
answer