Hi Guys
I am working on a php page that allows the user to upload files to thei proile. I managed to fina an open source upload class. Currently I have the code uploading the file to an images folder on the web server and that file is renamed to the name specified on the input form.
I have joined the users table and media table in the db. I want the uploaded file to be inserted into the mdeia table. Do I need to have the files uploading to an images file, or can I just insert them straight into the database?
ON the users table i have a PK of user_id and on the media table i have a PK media_id and a FK user_id referencing users(user_id). When I insert files into the media table I want the user_id to be taken from the session variable
(isset($_SESSION['user_id']) && ($_SESSION['user_id'] == '1'))
See the form below:
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
<p>
<label for="name">Name:</label>
<input type="text" id="file_name" name="file_name" value="<?php if (!empty($file_name)) echo $file_name; ?>"/>
<br />
<label for="file">Media File:</label>
<input type="file" id="file" name="file" />
<br />
<input type="submit" value="Upload" name="submit" />
</p>
</form>
The code that processes this form is:
<?php
include('class.Upload.php');
$file_name = mysqli_real_escape_string($dbc, trim($_POST['file_name']));
$media_type = mysqli_real_escape_string($dbc, trim($_POST['media_type']));
//$file = mysqli_real_escape_string($dbc, trim($_POST['file']));
$handle = new Upload($_FILES['file']);
if ($handle->uploaded) {
// save uploaded image with no changes
$handle->file_new_name_body = $file_name;
$handle->Process('./uploadedImages/');
if ($handle->processed) {
echo "file renamed " .$file_name. " and uploaded to profile";
} else {
echo 'error : ' . $handle->error;
}
}
//update the database
$query = "INSERT INTO media (file_name, media_type, user_id) VALUES ('$file_name', '$media_type', '$user_id')";
$data = mysqli_query($dbc, $query) or die ('db error');
?>
To get the user_id into the media table I used the above insert statement, but this didnt work.
I also tried
$query = "INSERT INTO media (file_name, media_type, user_id) VALUES ('$file_name', '$media_type', '$_SESSION['user_id']')";
but this gave me an error.
can anyone help explain what I need to do so that I can insert the user_id into the media table. Once I can do this I can then run a select statement to view a users prfile with the images they have uploaded. If anyone has any suggestions on other ways of achieving what I am trying to do, I would like to hear them as I am very new to php. Thanks for your time in advace.
regards