繁体   English   中英

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

[英]UPDATE Database Redirecting to Other Page

我的“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>

$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']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM