I am an intermediate level PHP and SQL developer working in a local XAMPP environment building my first database-driven website. I am at the stage of moving from testing to implementation in a live context. I have been reusing my code during the testing period and have had all elements working, being able to upload files of all types and insert into DB and call back.
I am getting a warning in the new implementation project which I am having great difficulty understanding as I have been following the same procedures throughout my testing period without much difficulty.
I simply want to upload a profile picture into a project DB. I have completed this process many times in testing.
Warning: Undefined array key "uploadFile" in C:\xampp\htdocs\phpTutorial\includes\pf.dbh.inc.php on line 18* Failure
upload.php (submit the file)
<form action="includes/pf.upload_proj.inc.php" method="post" enctype="multipart/form-data">
<input type="submit" name="submit" value="Upload Image"/><br />
<input type="file" accept="image/*" name="uploadFile" onchange="preview_image(event);"><br>
</form>
pf.upload_proj.inc.php
require_once 'config.php';
require_once 'pf.functions_proj.inc.php';
require_once 'pf.dbh.inc.php';
if(isset($_POST['submit'])) {
$projName = $projAbrv = $projDesc = $uploadFile = "";
$newFileName = $_POST['projAbrv'];
if (empty($newFileName)){
$newFileName = "uploadFile";
} else {
$newFileName = strtolower(str_replace(" ", "-", $newFileName));
}
$projName = $_POST['projName'];
$projAbrv = $_POST['projAbrv'];
$projDesc = $_POST['projDesc'];
$file = $_FILES['uploadFile'];
$fileName = $file['name'];
$fileType = $file['type'];
$fileTempName = $file['tmp_name'];
$fileError = $file['error'];
$fileSize = $file['size'];.....
pf.dbh.inc.php'(connect to the DB)
$projName = mysqli_real_escape_string($conn, $_POST["projName"]);
$projAbrv = mysqli_real_escape_string($conn, $_POST["projAbrv"]);
$projDesc = mysqli_real_escape_string($conn, $_POST["projDesc"]);
$uploadFile = mysqli_real_escape_string($conn, $_POST["uploadFile"]); *
//$projOrder = mysqli_real_escape_string($conn, $_POST["projOrder"]);
$sql = "INSERT INTO `project` ('projName', 'projAbrv', 'projDesc', 'uploadFile') VALUES ($projName, $projAbrv, $projDesc, $uploadFile);INSERT INTO `profile` (projName) VALUES ($projName);";.....
'pf.functions_proj.inc.php(bind parameters)
mysqli_stmt_bind_param($stmt, "ssss", $projName, $projAbrv, $projDesc, $uploadFile);
mysqli_stmt_execute($stmt);
$resultData = mysqli_stmt_get_result($stmt);
if ($row = mysqli_fetch_assoc($resultData)) {
return $row;
}
else {
$result = false;
return $result;
}
mysqli_stmt_close($stmt);
}
function createUser($conn, $projName, $projAbrv, $projDesc, $uploadFile, $projOrder) {
$sql = "INSERT INTO `project` (projName, projAbrv, projDesc, uploadFile, projOrder) VALUES (?, ?, ?, ?, ?);INSERT INTO `profile` (projName) VALUES ($projName);";
$stmt = mysqli_stmt_init($conn);....