kleptik Posted November 14, 2006 Share Posted November 14, 2006 As you will be able to tell from my, *cough* code, i've very new to PHP. Basically I have a form (addlisting.php) that works fine, It uses an input type="file" to upload .jpg's, aswell as other input fields. Example of it here: [url=http://www.leaveittobeever.com/listings.php]http://www.leaveittobeever.com/listings.php [/url] I also have an editlisting.php file that allows the user to edit the listing. My question is, how do I tell if they have used the input type="file" to update the image? If they have uploaded a new image, I want to execute the sql to update the "Image" field with the image name, and if they have NOT selected to upload a new image, I want to leave the exisiting value in "Image" field in the DB alone. I've tried something like this, I'm not sure if I'm just using incorrect synatax, or if I'm just way off alltogether. [code] if (isset($uploadFile)) { $query = "UPDATE ListingsTable SET Image='".$Image."' WHERE id='".$id."'"; $result = $database->query($query); echo $query; }[/code]The entire editListing.PHP file below: [code]<?php @session_start(); // get contact id $id = $_GET['id']; if (!empty($id)) { $_SESSION['recordId']=$id; } else { $id = $_SESSION['recordId']; } // if the script has been called without ID or the user hit "Cancel" just return to listing if (empty($id) || isset($_POST['cancel'])) { Header("Location: Listingslist.php"); exit; } include('dbconnect.php'); // run this only, once the user has hit the "OK" button if (isset($_POST['ok'])) { // assign form inputs $ListingTitle = $_POST['ListingTitle']; $Description = $_POST['Description']; $Price = $_POST['Price']; $MLSNumber = $_POST['MLSNumber']; $Location = $_POST['Location']; $Bedrooms = $_POST['Bedrooms']; $Bathrooms = $_POST['Bathrooms']; $SqFeet = $_POST['SqFeet']; $Sold = $_POST['Sold']; $Image = $_POST['Image']; $uploadFile = $_POST['uploadFile']; // validate inputs if ( !empty($ListingTitle) && !empty($Description) ) { move_uploaded_file ($_FILES['uploadFile'] ['tmp_name'],"../images/{$_FILES['uploadFile'] ['name']}"); $Image = $_FILES['uploadFile'] ['name']; if ($Sold == '') { $Sold = '0'; } if (isset($uploadFile)) { $query = "UPDATE ListingsTable SET Image='".$Image."' WHERE id='".$id."'"; $result = $database->query($query); echo $query; } // add listing to BD $query = "UPDATE ListingsTable SET SqFeet='".$SqFeet."',Bathrooms='".$Bathrooms."',ListingTitle='".$ListingTitle."',Description='".$Description."',Price='".$Price."',MLSNumber='".$MLSNumber."',Location='".$Location."',Bedrooms='".$Bedrooms."',Sold='".$Sold."' WHERE id='".$id."'"; $result = $database->query($query); $database->disconnect(); echo $query; echo '<BR><BR><a href="Listingslist.php">Continue</a>'; // echo '<meta http-equiv="refresh" content="2;URL=Listingslist.php">'; //Header("Location: listListings.php"); //Header("Location: Listingslist.php"); exit; } else { $error = true; // input validation failed } } else { // read member data from database $query = "SELECT * FROM ListingsTable WHERE id='".$id."'"; $result = $database->query($query); $contact = $result->fetchRow(DB_FETCHMODE_ASSOC,0); $database->disconnect(); $ListingTitle = $contact['ListingTitle']; $Description = $contact['Description']; $Price = $contact['Price']; $MLSNumber = $contact['MLSNumber']; $Location = $contact['Location']; $Bedrooms = $contact['Bedrooms']; $Bathrooms = $contact['Bathrooms']; $SqFeet = $contact['SqFeet']; $imageUrl = $contact['Image']; $Sold = $contact['Sold']; } ?> <html> <head> <title>Edit Listing</title> </head> <body> <a href="addListing.php">Add a Listing</a> | <a href="Listingslist.php">Site Listings</a> <h1>Edit Listing</h1> <form name="form1" enctype="multipart/form-data" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <BR>Listing Title:<BR> <input name="ListingTitle" size="60" type="text" value="<?php echo $ListingTitle; ?>"> <BR>MLS Number:<BR> <input name="MLSNumber" type="text" value="<?php echo $MLSNumber; ?>"> <br> <BR>Price:<BR> <input name="Price" type="text" value="<?php echo $Price; ?>"> <BR> <BR>Address:<BR> <input name="Location" size="60" type="text" value="<?php echo $Location; ?>"> <br> <BR>Number of Bedrooms:<BR> <input name="Bedrooms" size="20" type="text" value="<?php echo $Bedrooms; ?>"> <br> <BR>Number of Bathrooms:<BR> <input name="Bathrooms" size="20" type="text" value="<?php echo $Bathrooms; ?>"> <br> <BR>Square Feet:<BR> <input name="SqFeet" size="20" type="text" value="<?php echo $SqFeet; ?>"> <br> <br> Listing Description:<br> <textarea name="Description" cols="70" rows="6"><?php echo $Description; ?></textarea> <BR><BR> Current Photo Filename: <BR> <input size="60" name="Image" disabled="true" value="<?php echo $imageUrl; ?>"><BR> <BR> <?php echo '<A target="_blank" Href="http://searchlink.las.interealty.com/PropSearch/PropertyDetail.asp?Code=&ML=',$MLSNumber,'&AgentID=210064"><IMG border="0" width="200" height="150" SRC="../../images/',$imageUrl,'"></A>';?> <BR> <input type="hidden" name="MAX_FILE_SIZE" value="1000000" /> <BR>Current Photo Of Listing: (Click "Browse" to select an updated photo.)<BR> <input name="uploadFile" size="60" type="file" /><BR><BR> <input type="checkbox" name="Sold" value="1" <?php if ($Sold==1) echo "checked"; ?>> <B>SOLD?</B> (Check if the listing is sold.)<br><BR> <input type="hidden" name="id" value="<?php echo $id; ?>"> <input type="submit" name="ok" value=" OK "> <input type="submit" name="cancel" value="Cancel"> </form> </body> </html> [/code] Link to comment https://forums.phpfreaks.com/topic/27178-help-determining-if-input-has-changed-upon-form-submit/ Share on other sites More sharing options...
zq29 Posted November 16, 2006 Share Posted November 16, 2006 You could check the $_FILES['uploadFile']['error'] key, if it is equal to '4', no file was supplied. Link to comment https://forums.phpfreaks.com/topic/27178-help-determining-if-input-has-changed-upon-form-submit/#findComment-125720 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.