php - 使用 php 和单选按钮更新数据

标签 php mysql radio-button

我的表单似乎没有更新。它只是忽略了 php 代码。我用不同的形式使用相同的 php 代码,从来没有遇到过任何问题。我不知道是否是这样,因为我现在使用单选按钮。

if (isset($_POST['submitinjury'])) {
   $query = "UPDATE injury SET neck=?,
          upperback=?,
          lowerback=?,
          chest=?,
          shoulder=?,
          arm=?,
          hand=? WHERE userid=?";
    $stmt = mysqli_prepare($db, $query);
    mysqli_stmt_bind_param($stmt, 'ssssssss', $_POST['neck'], $_POST['upperback'], $_POST['lowerback'], $_POST['chest'],  $_POST['shoulder'], $_POST['arm'], $_POST['hand'],  $_SESSION['id']);
    mysqli_stmt_execute($stmt);
    exit(header('location: home.php'));
} 

表格。这是在 new.php 文件中。

<form action="new.php"  method="post"   >
  <table>
    <tr>
      <th style="font-size:18px" >Any previous injuries y</th>
    </tr>
    <tr>
      <td>Previous neck injury/surgery?</td>
      <td></td>
      <td></td>
      <td><label class="container">Yes
            <input type="radio"  name="neck" value="yes" > 
            <span class="checkmark"></span>
          </label></td>
      <td><label class="container">None
            <input value="none" type="radio" checked="checked" name="neck">
            <span class="checkmark"></span>
          </label></td>
    </tr>
    <tr>

      <td>Previous upperback injury/surgery?</td>
      <td></td>
      <td></td>
      <td><label class="container">Yes
            <input type="radio"  name="upperback" value="yes" > 
            <span class="checkmark"></span>
          </label></td>
      <td><label class="container">None
             <input value="none" type="radio" checked="checked" name="upperback">
             <span class="checkmark"></span>
          </label></td>
     </tr>
     <tr>
       <td>Previous lowerback injury/surgery?</td>
       <td></td>
       <td></td>
       <td><label class="container">Yes
             <input type="radio"  name="lowerback" value="yes" > 
             <span class="checkmark"></span>
           </label></td>
       <td><label class="container">None
             <input value="none" type="radio" checked="checked" name="lowerback">
             <span class="checkmark"></span>
             </label></td>
     </tr>
     <tr>
       <td>Previous chest injury/surgery?</td>
       <td></td>
       <td></td>
       <td><label class="container">Yes
             <input type="radio"  name="chest" value="yes" > 
             <span class="checkmark"></span>
           </label></td>
       <td><label class="container">None
             <input value="none" type="radio" checked="checked" name="chest">
             <span class="checkmark"></span>
           </label></td>
     </tr>


     <tr>
       <td>Previous shoulder injury/surgery?</td>
       <td><label class="container">Both
             <input  value="both" type="radio"  name="shoulder">
             <span class="checkmark"></span>
           </label></td>
       <td><label class="container">Left
             <input  value="left" type="radio"  name="shoulder">
             <span class="checkmark"></span>
           </label></td>
       <td><label class="container">Right
             <input value="right" type="radio"  name="shoulder">
             <span class="checkmark"></span>
           </label></td>
       <td><label class="container">None
             <input value="none"  type="radio" checked="checked" name="shoulder">
             <span class="checkmark"></span>
           </label></td>
     </tr>
     <tr>
        <td>Previous arm injury/surgery?</td>
        <td><label class="container">Both
              <input  value="both" type="radio"  name="arm">
              <span class="checkmark"></span>
            </label></td>
        <td><label class="container">Left
              <input  value="left" type="radio"  name="arm">
              <span class="checkmark"></span>
            </label></td>
        <td><label class="container">Right
              <input value="right" type="radio"  name="arm">
              <span class="checkmark"></span>
            </label></td>
        <td><label class="container">None
              <input type="radio" checked="checked" value="none" name="arm">
              <span  class="checkmark"></span>
            </label></td>
      </tr>
      <tr>
        <td>Previous hand/wrist injury/surgery?</td>
        <td><label class="container">Both
              <input  value="both" type="radio"  name="hand">
              <span class="checkmark"></span>
            </label></td>
        <td><label class="container">Left
              <input  value="left" type="radio"  name="hand">
              <span class="checkmark"></span>
            </label></td>
        <td><label class="container">Right
              <input value="right" type="radio"  name="hand">
              <span class="checkmark"></span>
            </label></td>
        <td><label class="container">None
              <input type="radio" checked="checked"  value="none"  name="hand">
              <span class="checkmark"></span>
        </label></td>
      </tr>


    </table>

    <button  type="submit" name="submitinjury" >Submit</button>

</form>

单击按钮后,它只会刷新页面,数据库中不会更新任何内容。

最佳答案

看来,问题是由 session 引起的。尝试添加 session_start()

if (isset($_POST['submitinjury'])) {
   session_start();
   $query = "UPDATE injury SET neck=?,
          upperback=?,
          lowerback=?,
          chest=?,
          shoulder=?,
          arm=?,
          hand=? WHERE userid=?";
    $stmt = mysqli_prepare($db, $query);
    mysqli_stmt_bind_param($stmt, 'ssssssss', $_POST['neck'], $_POST['upperback'], $_POST['lowerback'], $_POST['chest'],  $_POST['shoulder'], $_POST['arm'], $_POST['hand'],  $_SESSION['id']);
    mysqli_stmt_execute($stmt);
    exit(header('location: home.php'));
} 

关于php - 使用 php 和单选按钮更新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58585944/

相关文章:

php - 所选节点没有表单祖先 - Mink 错误

php - 从 db 检索数据并将其显示在 php 的表中。看到这段代码有什么问题吗?

mysql - 无法删除外键

mysql 查找插入时间戳

javascript - 使用 javascript 检查单选按钮

php - 实现推送通知系统的最佳方式

php - MySQL WHERE 无法正常工作

双网络上的Mysql错误10061

html - 每个浏览器的伪内容属性各不相同

javascript - 如果选中,则将类添加到单选按钮