$_POST['contractupload']
sẽ không hoạt động. Tên tệp chỉ có trong $_FILES
. Bạn nên xử lý nó giống như cách bạn làm trong insert.php
.
Tôi cũng đã chỉ ra cách viết lại mã của bạn bằng cách sử dụng một câu lệnh đã soạn sẵn thay vì thay thế biến.
Và bạn nên sử dụng move_uploaded_file()
thay vì copy()
. Xem Sự khác biệt giữa copy và move_uploaded_file
.
<?php
// Include config file
require_once "new_db_connect.php";
if($_POST) {
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$embg = $_POST['embg'];
$contract_file = basename($_FILES['contractupload']['name']);
$contract_path = "files/contracts/$contract_file";
move_uploaded_file($_FILES['contractupload']['tmp_name'], $contract_path);
$id = $_POST['id'];
// UPDATE the info
$stmt = $connect->prepare("UPDATE addemployees SET fname = ?, lname = ?, embg = ?, contractupload = ? WHERE id = ?");
$stmt->bind_param("ssssi", $fname, $lname, $embg, $contract_file, $id);
if($stmt->execute()) {
header("location: employees.php");
} else {
echo "Erorr while updating record : ". $stmt->error;
}
$connect->close();
}
?>