首页 > 解决方案 > 将数据从 php 更新到 mysql 创建空白数据

问题描述

我在 php 中有一个网页,它在 sql 中有一些表单数据,用户可以更新数据。

表格如下:

<?php
$id=$_GET['id'];
$SelSql = "SELECT * FROM `registers` WHERE id=$id";
$res = mysqli_query($link, $SelSql);
$r = mysqli_fetch_assoc($res);
?>
<?php if(isset($fmsg)){ ?><div class="alert alert-danger" role="alert"> <?php echo $fmsg; ?> </div><?php } ?>

 <div class="breadcrumbs">
  <div class="breadcrumbs-inner">
    <div class="row m-0">
      <div class="col-sm-4">
        <div class="page-header float-left">
          <div class="page-title">
            <h1>Member Details</h1>
          </div>
        </div>
      </div>

    </div>
  </div>
</div>
<div class="content">
  <div class="animated fadeIn">

    <div class="row">

      <div class="col-xs-6 col-sm-6">
        <div class="card">

          <div class="card-body card-block">
            <div class="form-group">
              <label class=" form-control-label">Member ID</label>
              <div class="input-group">
                <div class="input-group-addon"><i class="fa fa-id-card-o"></i></div>
                <input class="form-control" value="<?php echo $r['id']; ?>" readonly>
              </div>
            </div>
            <form method="post">
              <div class="form-group">
                <label class=" form-control-label">First Name</label>
                <div class="input-group">
                  <div class="input-group-addon"><i class="fa fa-address-card-o"></i></div>
                  <input name="fname" class="form-control" value="<?php echo $r['firstname']; ?>">
                </div>
              </div>
              <div class="form-group">
                <label class=" form-control-label">Last Name</label>
                <div class="input-group">
                  <div class="input-group-addon"><i class="fa fa-address-card-o"></i></div>
                  <input name="lname" class="form-control" value="<?php echo $r['lastname']; ?>">
                </div>
              </div>
              <div class="form-group">
                <label class=" form-control-label">Mobile Number</label>
                <div class="input-group">
                  <div class="input-group-addon"><i class="fa fa-mobile"></i></div>
                  <input name="mobile" class="form-control" value="<?php echo $r['mobilenumber']; ?>">
                </div>
              </div>
              <div class="form-group">
                <label class=" form-control-label">Company</label>
                <div class="input-group">
                  <div class="input-group-addon"><i class="fa fa-building"></i></div>
                  <input name="company" class="form-control" value="<?php echo $r['company']; ?>">
                </div>
              </div>
              <div class="form-group">
                <label class=" form-control-label">Designation</label>
                <div class="input-group">
                  <div class="input-group-addon"><i class="fa fa-clipboard"></i></div>
                  <input name="designation" class="form-control" value="<?php echo $r['designation']; ?>">
                </div>
              </div>
              <div class="form-group">
                <label class=" form-control-label">Experience</label>
                <div class="input-group">
                  <div class="input-group-addon"><i class="fa fa-sort-numeric-asc"></i></div>
                  <input name="experience" class="form-control" value="<?php echo $r['experience']; ?>">
                </div>
              </div>
              <div class="form-group">
                <label class=" form-control-label">Address</label>
                <div class="input-group">
                  <div class="input-group-addon"><i class="fa fa-map-marker"></i></div>
                  <input name="address" class="form-control" value="<?php echo $r['address']; ?>">
                </div>
              </div>
              <div class="form-group">
                <label class=" form-control-label">Address Line 2</label>
                <div class="input-group">
                  <div class="input-group-addon"><i class="fa fa-map-marker"></i></div>
                  <input name="addressline2" class="form-control" value="<?php echo $r['addressline2']; ?>">
                </div>
              </div>
              <div class="form-group">
                <label class=" form-control-label">City</label>
                <div class="input-group">
                  <div class="input-group-addon"><i class="fa fa-building-o"></i></div>
                  <input name="city" class="form-control" value="<?php echo $r['city']; ?>">
                </div>
              </div>
              <div class="form-group">
                <label class=" form-control-label">State</label>
                <div class="input-group">
                  <div class="input-group-addon"><i class="fa fa-map"></i></div>
                  <input name="state" class="form-control" value="<?php echo $r['state']; ?>">
                </div>
              </div>
              <div class="form-group">
                <label class=" form-control-label">Pin</label>
                <div class="input-group">
                  <div class="input-group-addon"><i class="fa fa-map-pin"></i></div>
                  <input name="pin" class="form-control" value="<?php echo $r['pin']; ?>">
                </div>
              </div>
              <div class="form-group">
                <label class=" form-control-label">Country</label>
                <div class="input-group">
                  <div class="input-group-addon"><i class="fa fa-globe"></i></div>
                  <input name="country" class="form-control" value="<?php echo $r['country']; ?>">
                </div>
              </div>
              <div class="form-group">
                <label class=" form-control-label">Whatsapp Number</label>
                <div class="input-group">
                  <div class="input-group-addon"><i class="fa fa-phone-square"></i></div>
                  <input name="whatsapp" class="form-control" value="<?php echo $r['Whatsapp']; ?>">
                </div>
              </div>
          </div>
        </div>
      </div>

      <div class="col-xs-6 col-sm-6">

        <div class="card">

          <div class="card-body card-block">

            <div class="form-group">
              <label class=" form-control-label">Alternate Number</label>
              <div class="input-group">
                <div class="input-group-addon"><i class="fa fa-phone"></i></div>
                <input name="alternate" class="form-control" value="<?php echo $r['alternatenumber']; ?>">
              </div>
            </div>
            <div class="form-group">
              <label class=" form-control-label">Email</label>
              <div class="input-group">
                <div class="input-group-addon"><i class="fa fa-envelope"></i></div>
                <input name="email" class="form-control" value="<?php echo $r['Email']; ?>">
              </div>
            </div>
            <div class="form-group">
              <label class=" form-control-label">Company Registration Number</label>
              <div class="input-group">
                <div class="input-group-addon"><i class="fa fa-registered"></i></div>
                <input name="crn" class="form-control" value="<?php echo $r['CompanyRegNumber']; ?>">
              </div>
            </div>
            <div class="form-group">
              <label class=" form-control-label">Date of Incorporation</label>
              <div class="input-group">
                <div class="input-group-addon"><i class="fa fa-calendar"></i></div>
                <input name="doi" class="form-control" value="<?php echo $r['Date_Incorporation_orBusi_Stp']; ?>">
              </div>
            </div>
            <div class="form-group">
              <label class=" form-control-label">GST IN</label>
              <div class="input-group">
                <div class="input-group-addon"><i class="fa fa-sort-numeric-asc"></i></div>
                <input name="gstin" class="form-control" value="<?php echo $r['GSTIN']; ?>">
              </div>
            </div>
            <div class="form-group">
              <label class=" form-control-label">Services Offered</label>
              <div class="input-group">
                <div class="input-group-addon"><i class="fa fa-question-circle"></i></div>
                <input name="services" class="form-control" value="<?php echo $r['Services_Offered']; ?>">
              </div>
            </div>
            <div class="form-group">
              <label class=" form-control-label">Annual Turnover</label>
              <div class="input-group">
                <div class="input-group-addon"><i class="fa fa-money"></i></div>
                <input name="annualt" class="form-control" value="<?php echo $r['Annual_Turnover']; ?>">
              </div>
            </div>
            <div class="form-group">
              <label class=" form-control-label">Fee</label>
              <div class="input-group">
                <div class="input-group-addon"><i class="fa fa-money"></i></div>
                <input name="fee" class="form-control" value="<?php echo $r['Fee']; ?>">
              </div>
            </div>
            <div class="form-group">
              <label class=" form-control-label">Mode of Payment</label>
              <div class="input-group">
                <div class="input-group-addon"><i class="fa fa-credit-card"></i></div>
                <input name="mop" class="form-control" value="<?php echo $r['Mode_of_Payment']; ?>">
              </div>
            </div>
            <div class="form-group">
              <label class=" form-control-label">Recommended By (A)</label>
              <div class="input-group">
                <div class="input-group-addon"><i class="fa fa-user"></i></div>
                <input name="reca" class="form-control" value="<?php echo $r['Recommended_by_A']; ?>">
              </div>
            </div>
            <div class="form-group">
              <label class=" form-control-label">Recommended By (B)</label>
              <div class="input-group">
                <div class="input-group-addon"><i class="fa fa-user"></i></div>
                <input name="recb" class="form-control" value="<?php echo $r['Recommended_by_B']; ?>">
              </div>
            </div>
            <div class="form-group">
              <label class=" form-control-label">Terms and Conditions</label>
              <div class="input-group">
                <div class="input-group-addon"><i class="fa fa-check"></i></div>
                <input name="tac" class="form-control" value="<?php echo $r['termsandconditions']; ?>">
              </div>
            </div>
            <div class="form-group">
              <label class=" form-control-label">Declaration</label>
              <div class="input-group">
                <div class="input-group-addon"><i class="fa fa-check"></i></div>
                <input name="dec" class="form-control" value="<?php echo $r['Declaration']; ?>">
              </div>
            </div>
            <div class="form-group">
              <label class=" form-control-label">Confirmation</label>
              <div class="input-group">
                <div class="input-group-addon"><i class="fa fa-check"></i></div>
                <input name="cof" class="form-control" value="<?php echo $r['confirmation']; ?>">
              </div>
            </div>
            <input type="submit" class="btn btn-primary" value="Update">
            </form>
          </div>
        </div>
      </div>
<?php


if(isset($_POST) & !empty($_POST)){
    $fname = $_POST['fname'];
    $lname = $_POST['lname'];
    $email = $_POST['mobile'];
    $company = $_POST['company'];
    $designation = $_POST['designation'];
  $experience = $_POST['experience'];
    $address = $_POST['address'];
    $addressline2 = $_POST['addressline2'];
    $city = $_POST['city'];
    $state = $_POST['state'];
  $pin = $_POST['pin'];
    $country = $_POST['country'];
    $whatsapp = $_POST['whatsapp'];
    $alternate = $_POST['alternate'];
    $email = $_POST['email'];
  $crn = $_POST['crn'];
    $doi = $_POST['doi'];
    $gstin = $_POST['gstin'];
  $services = $_POST['services'];
    $annualt = $_POST['annualt'];
    $fee = $_POST['fee'];
    $mop = $_POST['mop'];
    $reca = $_POST['reca'];
  $recb = $_POST['recb'];
    $tac = $_POST['tac'];
    $dec = $_POST['dec'];
    $cof = $_POST['cof'];

}

$UpdateSql = "UPDATE `registers` SET firstname='$fname', lastname='$lname', mobilenumber='$email', experience='$experience',
designation='$designation', company='$company', address='$address', addressline2='$addressline2',
city='$city', state='$state', pin='$pin', country='$country',
Whatsapp='$whatsapp', alternatenumber='$alternate', Email='$email', CompanyRegNumber='$crn',
Date_Incorporation_orBusi_Stp='$doi', GSTIN='$gstin', Services_Offered='$services', Annual_Turnover='$annualt',
Declaration='$dec', Fee='$fee', confirmation='$cof', Mode_of_Payment='$mop',
Recommended_by_A='$reca', Recommended_by_B='$recb', termsandconditions='$tac' WHERE id=$id";
$res = mysqli_query($link, $UpdateSql);
if($res){
    header('location: update.php');
}else{
    $fmsg = "Failed to update data.";
}



?>      

更新功能完全正常,当用户加载此页面时,数据以用户可编辑的形式显示,现在问题是当用户更新数据时,页面重新加载并更新数据库中的数据,但是,页面在输入字段中显示为空值,这样如果用户再次错误地单击更新按钮,数据库字段将变为空白。我的代码有什么问题,我应该怎么做才能阻止这个错误?

标签: phphtmlsql

解决方案


传递 id,当您重定向页面时,成功如下

if($res){
    header('location: update.php?id='.$id);
    exit;
}else{
    $fmsg = "Failed to update data.";
}

推荐阅读