更新数据库重定向到其他页面

时间:2017-10-10 08:21:22

标签: php sql-update

我遇到了我的" update.php"文件,而不是去我的"更新页面"我的按钮将我带到标题位置,即" index.php" 这是我的update.php文件:

  <?php
    require 'database.php';
    $id = null;
    if ( !empty($_GET['ID'])) {
        $id = $_REQUEST['ID'];
        }
    if (null==$id){
        header("Location:../index.php");
    }
    if (!empty($_POST)){
        $codeError = null;

        //post values
        $code = $_POST['codeVal'];
        //validate input

        $valid = true;
        if (empty($code)){
            $codeError = 'Please Enter Code';
            $valid = false;
        }

            // update data
        if ($valid){
            $pdo = Database::connect();
            $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            $sql = "UPDATE production SET CODE = ? WHERE ID = ?";
            $q = $pdo->prepare($sql);
            $q->execute(array($code,$id));
            Database::disconnect();
            header('location:../index.php');
            }
    }else{
        $pdo = Database::connect();
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $sql = "SELECT * FROM production WHERE ID = ?";
        $q = $pdo->prepare($sql);
        $q->execute(array($id));
        $data = $q->fetch(PDO::FETCH_ASSOC);
        $code = $data['CODE'];
        Database::disconnect();
        }
?>

虽然我的另一页是这一页。这是我的report.php文件

 <?php
          include 'database.php';
          $pdo = Database::connect();
          $sql = 'SELECT * FROM production ORDER BY ID DESC';
          foreach ($pdo->query($sql) as $row) {
                  echo '<tr>';
                  echo '<td style="text-align:center" width="13%">'. $row['CODE'] . '</td>';
                  echo '<td style="text-align:center" width=18%>';
                  echo '<a class="btn btn-success btn-sm" href="update.php?id='.$row['ID'].'">Update</a>';
                  echo ' ';
                  echo '<a class="btn btn-danger btn-sm" href="delete.php?id='.$row['ID'].'">Delete</a>';
                  echo '</td>';                    
                  echo '</tr>';
                       }
  Database::disconnect();
  ?>

因此,当我按下report.php文件中的 UPDATE 按钮时,我本来希望前往update.php文件,但这不是发生了什么,而是,我被重定向到我的index.php文件。我该怎么办?

这是我在update.php文件中的表单

 <div class="form-group form-group-sm">
    <label for="codeVal" class="col-sm-2 control-label" style="text-align:right">Order Code</label>
    <div class="col-sm-2">
        <input type="text"  id="codeVal" name="codeVal" class="form-control input-sm"style="text-align:center" value="
            <?php echo !empty($code)?$code:'';?>">
    </div>
</div>

1 个答案:

答案 0 :(得分:2)

$id现在仍为null

$id = null;
if ( !empty($_GET['ID'])) {
   $id = $_REQUEST['ID'];
}

你建立了这样的链接:

 echo '<a class="btn btn-success btn-sm" href="update.php?id='.$row['ID'].'">Update</a>';
                                                          ^^ here

因此$_GET中的值为$_GET['id'],而不是$_GET['ID']