I have an uploads page where a user can upload CSV files only. However, when i hit the upload button, nothing is uploaded to my database and no error messages are displayed. Only the go back button shows which means that my code must not be executing my code properly. How would i resolve this?
CREATE TABLE `Jobs` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`date` date NOT NULL,
`order_ref` varchar(250) NOT NULL,
`first_name` varchar(250) NOT NULL,
`last_name` varchar(250) NOT NULL,
`postcode` varchar(250) NOT NULL,
`country` varchar(250) NOT NULL,
`quantity` varchar(250) NOT NULL,
`scott_packing` varchar(250) NOT NULL,
`packing_price` varchar(250) NOT NULL,
`courier_price` varchar(250) NOT NULL,
`dispatch_type` varchar(250) NOT NULL DEFAULT '',
`tracking_number` varchar(250) NOT NULL,
`job_status` varchar(250) NOT NULL,
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
)
HTML:
<?
session_start();
if(!session_is_registered(myusername))
{
header("location:../index.php");
}
?>
<?
include("../template/header.php");
?>
<!DOCTYPE html>
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div class="content">
<div class="toggle">
<div class="header"><img style="float: right; padding: 10px;" src="../img/show.gif"><h4>Upload New File:</h4></div>
<form id="upload" action="upload_file.php" method="post" enctype="multipart/form-data">
<input type="file" name="uploaded_file"><br>
<input type="submit" value="Upload file">
</form>
<!--<p>
<a href="list_files.php" style="padding: 20px;">See all files</a>
</p>-->
</div>
</div>
</body>
</html>
upload_file.php:
<?php
if(isset($_FILES['uploaded_file'])) {
if($_FILES['uploaded_file']['error'] == 0) {
$database = "spineless";
$dblink = mysql_connect("localhost", "root", "vario007")
or die("Could not connect");
$db = mysql_select_db($database)
or die("Could not select database");
if(mysql_errno()) {
die("MySQL connection failed: ". mysql_error());
}
$file = $_FILES ['uploaded_file']['tmp_name'];
$handle = fopen($file, "r");
$row = 1;
while (($data = fgetcsv($handle, 0, ",","'")) !== FALSE)
{
if($row == 1)
{
// skip the first row
}
else
{
//csv format data like this
//$row[0] = date
//$row[1] = order_ref
//$row[2] = postcode
//$row[3] = country
//$row[4] = quantity
//$row[5] = packing_price
//$row[6] = dispatch_type
$query = "
INSERT INTO `Jobs` (
`date`, `order_ref`, `postcode`, `country`, `quantity`, `packing_price`, `dispatch_type`, `created`
)
VALUES (
'".$data[0]."', '".$data[1]."', '".$data[2]."', '".$data[3]."', '".$data[4]."', '".$data[5]."', '".$data[6]."', NOW()
)";
$result = mysql_query($query);
// Check if it was successfull
if(!$result) {
echo 'Success! Your file was successfully added!';
}
else {
echo 'Error! Failed to insert the file';
}
}
$row++;
}
}
else {
echo 'An error accured while the file was being uploaded. '
. 'Error code: '. intval($_FILES['uploaded_file']['error']);
}
// Close the mysql connection
mysql_close();
}
else {
echo 'Error! A file was not sent!';
}
// Echo a link back to the main page
echo '<p>Click <a href="joblist.php">here</a> to go back</p>';
?>
This is how the CSV looks like: http://i754.photobucket.com/albums/xx182/rache_R/Screenshot2014-04-24at151348_zps807cedb0.png