$_POST['contractupload']
動作しません。ファイル名は$_FILES
にのみあります 。 insert.php
で行うのと同じ方法で処理する必要があります 。
また、変数置換の代わりにプリペアドステートメントを使用してコードを書き直す方法も示しました。
また、move_uploaded_file()
を使用する必要があります copy()
の代わりに 。 copyと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();
}
?>