I have a simple form for creating an article: Title,image,category,body , etc.. My problem is with the image input.
Selecting a new one and submitting everything works fine:
By editing the whole form, filling all fields but leaving the image field as it is, and finally submitting, the image field value in db is changing to nothing.
How can i configure the php file, so every time the user submits the form without selecting an image (if there was an image pre uploaded in that article ) keep as submitted the previous image (from db) instead of nothing.?
If these informations can be of any help:
I can print the image like this : <?php echo '<img src="'.$results['article']->img.'" width="100px">'; ?>
Simple input field for image:
<input type="file" name="fileToUpload" id="fileToUpload" value="<?php echo $results['article']->img ?>" />
What about something like this?
if(!empty($_FILES['fileToUpload']['name'])) //new image uploaded
{
//process your image and data
$sql = "UPDATE table SET name=?, image=?,... WHERE id = ?";//save to DB with new image name
}
else // no image uploaded
{
// save data, but no change the image column in MYSQL, so it will stay the same value
$sql = "UPDATE table SET name=?,... WHERE id = ?";//save to DB but no change image column
}
//process SQL query in $sql
Make a if clause that checks if fileupload input is empty or not. If it is empty do not execute query.
Use input type="file" without attribute value.
<input type="file" name="fileToUpload" id="fileToUpload" />
Here is example for if clause
if(!empty($_FILES['fileToUpload']['name'])) {
$origFile = $_FILES['fileToUpload']['name'];
$tempFile = $_FILES['fileToUpload']['tmp_name'];
$sizeFile = $_FILES['fileToUpload']['size'];
/* UPLOAD CODE GOES HERE */
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With