|
|
|
Update ข้อมูล จากการดึงมาจาก SQL และบันทึกกลับไม่เข้า SQL |
|
|
|
|
|
|
|
ลอง Uptate ข้อมูล จากหน้าที่มีการดึงข้อมูล (ตาม id) ออกมาแสดงแล้ว พอแก้ไขแล้วบันทึกไม่เข้าในฐานข้อมูลครับ แต่ก็ไม่แจ้ง error อะไรครับ ปล.จะทำเป็นการแก้ไจข้อมูลในฝั่งของ admin และ user (แก้ไขของตัวเอง) ขอบคุณครับ
Code (PHP)
<?php
$con= mysqli_connect("localhost","root","rootroot","mydatabase") or die("Error: " . mysqli_error($con));
mysqli_query($con, "SET NAMES 'utf8' ");
?>
Code (PHP)
Code (PHP)
[php]<form name="user_update" action="user_update.php" method="POST" class="">
<div class="form-row">
<div class="col-md-1">
<div class="position-relative form-group"><label for="" class="">User ID</label><input name="id" id="id" disabled="" placeholder="with a placeholder" type="text" class="form-control" value="<?php echo($id) ;?>"></div>
</div>
<div class="col-md-4">
<div class="position-relative form-group"><label for="" class="">เลขบัตรประจำตัวประชาชน</label><input name="idcard" id="idcard" disabled="" placeholder="with a placeholder" type="text" class="form-control" value="<?php echo($idcard) ;?>"></div>
</div>
<div class="col-md-1">
<div class="position-relative form-group"><label for="nametitle" class="">คำนำหน้า
</label><select name="nametitle" id="nametitle" type="text" class="form-control" >
<option value="<?php echo($nametitle) ;?>"><?php echo($nametitle) ;?></option>
<option value="นาย">นาย</option>
<option value="นาง">นาง</option>
<option value="นางสาว">นางสาว</option>
<option value="Mr.">Mr.</option>
<option value="Mrs.">Mrs.</option>
<option value="Ms.">Ms.</option>
<option value="Miss">Miss</option></select></div>
</div>
<div class="col-md-3">
<div class="position-relative form-group"><label for="name" class="">ชื่อ</label><input name="name" id="name" placeholder="with a placeholder" type="text" class="form-control" value="<?php echo($name) ;?>"></div>
</div>
<div class="col-md-3">
<div class="position-relative form-group"><label for="lastname" class="">สกุล</label><input name="lastname" id="lastname" type="text" class="form-control" value="<?php echo($lastname) ;?>"></div>
</div>
</div>
<div class="form-row">
<div class="col-md-2">
<div class="position-relative form-group"><label for="" class="">E-mail</label>
<input name="email" value="<?php echo($email) ;?>" id="email" type="text" class="form-control"> </div>
</div>
<div class="col-md-2">
<div class="position-relative form-group"><label for="" class="">Username</label>
<input name="username" disabled="" value="<?php echo($username) ;?>" id="username" type="text" class="form-control"> </div>
</div>
<div class="col-md-2">
<div class="position-relative form-group"><label for="" class="">Password</label><input name="password" id="password" type="password" class="form-control" value="<?php echo($password) ;?>"></div>
</div>
<div class="col-md-3">
<div class="position-relative form-group"><label for="" class="">Tel</label><input name="tel" id="tel" type="text" class="form-control" value="<?php echo($tel) ;?>"></div>
</div>
<div class="col-md-3">
<div class="position-relative form-group"><label for="rank" class="">วิทยฐานะ</label><select name="rank" id="rank" type="text" class="form-control" >
<option><?php echo $rank; ?></option>
<option>ไม่มีวิทยฐานะ</option>
<option>ครูชำนาญการ</option>
<option>ครูชำนาญการพิเศษ</option>
<option>ครูเชี่ยวชาญ</option>
<option>ครูเชี่ยวชาญพิเศษ</option></select></div>
</div>
</div>
<div class="form-row">
<div class="col-md-3">
<div class="position-relative form-group"><label for="" class="">ครูที่ปรึกษา</label>
<input name="advisor" disabled="" value="<?php echo($advisor) ;?>" id="advisor" type="text" class="form-control"> </div>
</div>
<div class="col-md-2">
<div class="position-relative form-group"><label for="" class="">ห้อง</label>
<input name="room" disabled="" value="<?php echo($room) ;?>" id="room" type="text" class="form-control"> </div>
</div>
<div class="col-md-1">
<div class="position-relative form-group"><label for="" class="">ระดับผู้ใช้งาน</label>
<input name="level" disabled="" value="<?php echo($level) ;?>" id="level" type="text" class="form-control"> </div>
</div>
</div>
<div class="position-relative form-check"><input name="check" id="exampleCheck" type="checkbox" class="form-check-input" required=""><label for="exampleCheck" class="form-check-label">ยืนยันการแก้ไขข้อมูล</label></div>
<button class="mt-2 btn btn-primary" type="Submit">Submit</button>
</form>
<?php
//1. เชื่อมต่อ database:
include('../connectDB/connectDB.php'); //ไฟล์เชื่อมต่อกับ database ที่เราได้สร้างไว้ก่อนหน้าน้ี
//สร้างตัวแปรสำหรับรับค่าที่นำมาแก้ไขจากฟอร์ม
$id = $_REQUEST["id"];
$email = $_REQUEST["email"];
$username = $_REQUEST["username"];
$password = $_REQUEST["password"];
$idcard = $_REQUEST["idcard"];
$nametitle = $_REQUEST["nametitle"];
$name = $_REQUEST["name"];
$lastname = $_REQUEST["lastname"];
$tel = $_REQUEST["tel"];
$rank = $_REQUEST["rank"];
$advisor = $_REQUEST["advisor"];
$level = $_REQUEST["level"];
//ทำการปรับปรุงข้อมูลที่จะแก้ไขลงใน database
$sql = "UPDATE member SET
email = '".$_POST["email"]."' ,
username = '".$_POST["username"]."' ,
password = '".$_POST["password"]."' ,
idcard = '".$_POST["idcard"]."' ,
nametitle = '".$_POST["nametitle"]."' ,
name = '".$_POST["name"]."' ,
lastname = '".$_POST["lastname"]."' ,
tel = '".$_POST["tel"]."' ,
rank = '".$_POST["rank"]."' ,
advisor = '".$_POST["advisor"]."' ,
level = '".$_POST["level"]."'
WHERE id = '".$_POST["id"]."' ";
$result = mysqli_query($con, $sql) or die ("Error in query: $sql " . mysqli_error($con));
mysqli_close($con); //ปิดการเชื่อมต่อ database
//จาวาสคริปแสดงข้อความเมื่อบันทึกเสร็จและกระโดดกลับไปหน้าฟอร์ม
if($result){
echo "<script type='text/javascript'>";
echo "alert('Update');";
echo "window.location = 'user_account.php'; ";
echo "</script>";
}
else{
echo "<script type='text/javascript'>";
echo "alert('Error back to Update again');";
echo "</script>";
}
?>
Tag : PHP, MySQL
|
ประวัติการแก้ไข 2020-02-14 17:48:18
|
|
|
|
|
Date :
2020-02-14 17:47:06 |
By :
veerapong |
View :
693 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$sql = "UPDATE member SET
email = '".$_POST["email"]."' ,
username = '".$_POST["username"]."' ,
password = '".$_POST["password"]."' ,
idcard = '".$_POST["idcard"]."' ,
nametitle = '".$_POST["nametitle"]."' ,
name = '".$_POST["name"]."' ,
lastname = '".$_POST["lastname"]."' ,
tel = '".$_POST["tel"]."' ,
rank = '".$_POST["rank"]."' ,
advisor = '".$_POST["advisor"]."' ,
level = '".$_POST["level"]."'
WHERE id = '".$_POST["id"]."' ";
echo $sql; // echo มันออกมาดูด้วยตาก่อน เน้นตรงสีแดง ถ้าไม่แจ้ง error ตรงนี้น่าจะเป็นค่าว่าง
และก็ ถ้าเขียนแบบนี้ใช้งานจริงไม่ได้นะครับ ติด sql injection
ให้ใช้
Code (PHP)
$sql = 'UPDATE member SET
email = ?, username = ? , password = ? , idcard = ?, nametitle = ? ,
name = ?, lastname = ?, tel = ?, rank = ?, advisor = ?, level = ?
WHERE id = ?';
$stmt=$con->prepare($sql);
$stmt->bine_parem('ssssssssssii',
$_POST["email"], $_POST["username"], $_POST["password"],$_POST["idcard"],$_POST["nametitle"],
$_POST["name"], $_POST["lastname"], $_POST["tel"], $_POST["rank"], $_POST["advisor"], $_POST["level"],
$_POST["id"]);
$stmt->execute();
คำสั่งอื่นที่เกี่ยวข้องยังมีอยู่อีก อ่าน document มันเอาหน่อย
|
|
|
|
|
Date :
2020-02-14 19:45:46 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|