I have this bulk upload tool that was working wonderful yesterday. However, when I tried to upload data again, I got these two errors.
Notice: Undefined index: file in /var/www/html/PACT/testcsv.php on line 25
Notice: Trying to access array offset on value of type null in /var/www/html/PACT/testcsv.php on line 25
I don't know what might've triggered these errors as I did not make any changes to the code.
csv.php
$conn = new mysqli('', '', '', '');
session_start();
include '/var/www/php-scripts/hndrx-pact-admins.php';
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);
if (!isset($_SESSION['PACT'])) {
exit;
}
if (!in_array($_SESSION['PACT']['account-name'], $admins)) {
exit;
}
if (isset($_POST["submit"])) {
if ($_FILES['file']['name']) {
$filename = explode(".", $_FILES['file']['name']);
if ($filename[1] == 'csv') {
$handle = fopen($_FILES['file']['tmp_name'], "r");
fgets($handle);
while ($data = fgetcsv($handle)) {
$date_added = mysqli_real_escape_string($conn, $data[0]);
$on_hold_till = mysqli_real_escape_string($conn, $data[1]);
$item_no = mysqli_real_escape_string($conn, $data[2]);
$description = mysqli_real_escape_string($conn, $data[3]);
$total_units = mysqli_real_escape_string($conn, $data[4]);
$price = mysqli_real_escape_string($conn, $data[5]);
$avg_cogs = mysqli_real_escape_string($conn, $data[6]);
$profit = mysqli_real_escape_string($conn, $data[7]);
$margin = mysqli_real_escape_string($conn, $data[8]);
$mintage = mysqli_real_escape_string($conn, $data[9]);
$pop_known = mysqli_real_escape_string($conn, $data[10]);
$ngc_pop = mysqli_real_escape_string($conn, $data[11]);
$pcgs_pop = mysqli_real_escape_string($conn, $data[12]);
$total_pop = mysqli_real_escape_string($conn, $data[13]);
$finer_known = mysqli_real_escape_string($conn, $data[14]);
$highlights = mysqli_real_escape_string($conn, $data[15]);
$vendor = mysqli_real_escape_string($conn, $data[16]);
$categories = mysqli_real_escape_string($conn, $data[17]);
$display_y_n = mysqli_real_escape_string($conn, $data[18]);
$images_y_n = mysqli_real_escape_string($conn, $data[19]);
>
$sql = "insert into produx (date_added, on_hold_till, item_no, description, total_units, price, avg_cogs, profit, margin, mintage, pop_known, ngc_pop, pcgs_pop, total_pop, finer_known, highlights, vendor, categories, display_y_n, images_y_n) values ('$date_added', '$on_hold_till', '$item_no', '$description', '$total_units', '$price', '$avg_cogs', '$profit', '$margin', '$mintage', '$pop_known', '$ngc_pop', '$pcgs_pop', '$total_pop', $finer_known', '$highlights', '$vendor', '$categories', '$display_y_n', '$images_y_n')";
if (mysqli_query($conn, $sql)) {
echo '<h2>Record successfuly entered!</h2>';
} else {
printf($conn->error);
}
}
fclose($handle);
$conn->close();
}
}
}
part of my index.php
<div style="line-height: 2; box-shadow: 0 0 5px red inset; padding: 5px 10px;
border-radius: 5px; display: inline-block; margin-bottom: 20px;">
TESTING:
<form action="testcsv.php" method="post" enctype="multipart/form-data">
Upload your <b>BulkUploader</b> file:<br>
<input type="file" name="BulkUpload" accept=".csv">
<input type="submit" name="submit" value="submit">
</form>
</div>