andy_b_1502 Posted September 20, 2012 Share Posted September 20, 2012 Hello. I need some help please. Topology is like this: After registration (when users register they choose a company logo themselves). Homepage> users login> users choose another logo they want to change to using form> they hit submit> image is sent to a main folder on the server> it is re-sized> it is sent to a thumbnail folder> and is updated on their profiles and thus the website (using UPDATE set).. I have all the code set up fine for when users register, the image uploads fine first time. What im having trouble with is the update on their profiles? when you click submit, the image doesn't update? I am trying to use the same coding as the register script because i know no other way, could someone share how to update the profile picture or logo? thanks. I will post code i have when im back from work but if you need any specific code let me know. p.s. All other text fields are updated on submit, it's just the browse/upload button that does not work. Quote Link to comment https://forums.phpfreaks.com/topic/268595-update-set-name/ Share on other sites More sharing options...
trq Posted September 20, 2012 Share Posted September 20, 2012 We (of course) cannot help without seeing some relevant code. Quote Link to comment https://forums.phpfreaks.com/topic/268595-update-set-name/#findComment-1379515 Share on other sites More sharing options...
Christian F. Posted September 20, 2012 Share Posted September 20, 2012 Yes, we need the code that handles the upload and the update. Also, make sure you've turned on error reporting, and that you're handing any MySQL errors. Preferably before posting code asking for help, as there's a high chance the error messages will save us all time. Quote Link to comment https://forums.phpfreaks.com/topic/268595-update-set-name/#findComment-1379521 Share on other sites More sharing options...
andy_b_1502 Posted September 20, 2012 Author Share Posted September 20, 2012 Haha, i knew there would be few answers like that, there are 2 files in question here. The page with the form (view01.php) and the page that handles the form (view02.php). view01.php: <?PHP ini_set('display_errors',1); error_reporting(E_ALL); session_start(); if(!isset($_SESSION['id']) || !isset($_SESSION['valid_user']) || $_SESSION['valid_user'] != "yes") { $_SESSION = array(); session_destroy(); header("Location: index.php"); exit(); } include ('php only scripts/db.php'); $id = $_GET['id']; $query ="SELECT * FROM companies WHERE id = '$id'"; $result = mysql_query($query) or die(mysql_error()); $row = mysql_fetch_array($result); ?> <!DOCTYPE html> <head> <link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" /> <title>Removalspace.com</title> <style type="text/css"> <!-- body { background-image: url(styles/downloaded%20styles/todo/todo/images/bg.png); } --> </style> <link href="styles/downloaded styles/todo/todo/css/style.css" rel="stylesheet" type="text/css" /> <link rel="stylesheet" type="text/css" href="styles/downloaded styles/todo/todo/css/style9.css" /> <link rel="stylesheet" type="text/css" href="styles/downloaded styles/todo/todo/css/demo.css" /> <link href='http://fonts.googleapis.com/css?family=Terminal+Dosis' rel='stylesheet' type='text/css' /> <style type="text/css"> <!-- .Stile1 {color: #333333} #apDiv1 { position:absolute; width:427px; height:183px; z-index:1; left: 533px; top: 52px; } --> </style> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-31656176-1']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> </head> <body> <!--start container --> <div id="container"> <header> <nav> <div id="logo"><a href="index.php"><img src="images/header2.png" alt="Logo here" width="219" height="161" /></a> </div> <div id="search-top"><img src="styles/downloaded styles/todo/todo/images/quote-right.png" alt="images" /><span class="cursive">enter your postcode here</span><img src="styles/downloaded styles/todo/todo/images/quote-left.png" alt="images" /> <form method="post" action="search.php"> <input type="text" name="strSearch" onFocus="if(this.value=='Search Area')this.value='';" onBlur="if(this.value=='')this.value='Search Area';" value="Search Area" id="search-field"/> <input type="submit" value="" id="search-btn"/> </form> <p> </p> <p> </p> <p><em style="font-size: 9px">e.g first two letters and number</em>: i.e: AA1 or AA12</p> </div> <div id="nav_social"><a href="http://www.facebook.com/pages/Removalspace/181434181939226"><img src="styles/downloaded styles/todo/todo/images/facebook_32.png" alt="Become a fan" width="32" height="32" /></a><a href="#"><img src="styles/downloaded styles/todo/todo/images/twitter_32.png" alt="Follows on Twitter" /></a><a href="id=183427956&trk=tab_pro"><img src="styles/downloaded styles/todo/todo/images/linkedin_32.png" alt="Linked in" /></a><a href="contact.php"><img src="styles/downloaded styles/todo/todo/images/email_32.png" alt="Contact" width="32" height="32" /></a><!-- Place this tag where you want the +1 button to render --> <g:plusone size="small" annotation="inline"></g:plusone> <!-- Place this render call where appropriate --> <script type="text/javascript"> (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })(); </script> </div> </nav> </header> <p><figure><a href="removals.php">Search Removals</a></figure> |</p> <p><figure><a href="storage.php">Search Storage</a></figure> |</p> <p><figure><a href="register00.php">Add Listing</a></figure> |</p> <p><figure><a href="about.php">About</a></figure> |</p> <p><figure><a href="contact.php">Contact</a></figure> |</p> <p><figure><a href="login00.php">Login</a></figure></p> <div class="content"> <!--star main --> <main></main> <!--end main --> <!--start middle --> <middle> <div class="section_slogan"><table width="845"> <tr> <td width="827" height="72" valign="top"><div class="abox"> <figure> <fcapion> <h1>Your Logo:</h1> <div id="apDiv1"><img src="images/furniture-removals-sydney.jpg" width="417" height="173"></div> <h1><img src="images/thumbs/<?PHP echo $row['upload']; ?>" alt="logo"/></h1> </fcaption></figure></div></td> </tr> <tr> <td><div class="abox"> <figure> <fcapion> <h2> <h1>Company Location:</h1> <h1><?PHP echo $row['street1'] . "<br>" . $row['street2'] . "<br>" . $row['city'] . "," . $row['postcode'] ; ?> </h1></h2> <h1></img></h1> </fcaption></figure> </div> </td> </tr> <tr> <td><div class="abox"> <figure> <fcapion> <h2> <h1>Contact Details:</h1> <h1><?PHP echo "phone: " . $row['phone'] . "<br>email: " . $row['email'] . "<br>website: " . $row['website'] ; ?> </h1></h2> <h1></img></h1> </fcaption></figure> </div> </td> </tr></table> <?PHP /* create an email validation function */ function validateEmailAddress($email) { return filter_var($email, FILTER_VALIDATE_EMAIL) && preg_match('/@.+\./', $email); } /** * CALLBACK - determine if the provided postcode is valid. * * @param string $postcode * @return bool TRUE if valid, FALSE otherwise * @author George Edwards */ function is_valid_uk_postcode($postcode) { $pattern = "/^([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]? {1,2}[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)$/"; if (preg_match($pattern, $postcode)) { return TRUE; } $this->validation->set_message('is_valid_uk_postcode', 'That is not a valid %s.'); return FALSE; } /* FUNCTION TO CREATE SALT */ function createSalt() { $string = md5(uniqid(rand(), true)); return substr($string, 0, 3); } /* check if form was submitted */ if (isset($_POST['Submit'])){ $error_message = ""; /* This is the directory where images will be saved */ $target = "/home/users/web/b109/ipg.removalspacecom/images/COMPANIES/"; $target = $target . basename( $_FILES['upload']['name']); /* include validation script */ include ('php only scripts/validation.php'); $uploadDir = 'images/COMPANIES'; /* main picture folder */ $max_height = 450; /* largest height you allowed; 0 means any */ $max_width = 450; /* largest width you allowed; 0 means any */ $max_file = 2000000; /* set the max file size in bytes */ $image_overwrite = 1; /* 0 means overwite; 1 means new name */ /* add or delete allowed image types */ $allowed_type01 = array( "image/gif", "image/pjpeg", "image/jpeg", "image/png", "image/x-png", "image/jpg"); $do_thumb = 1; /* 1 make thumbnails; 0 means do NOT make */ $thumbDir = "/images/thumbs"; /* thumbnail folder */ $thumb_prefix = ""; /* prefix for thumbnails */ $thumb_width = 90; /* max thumb width */ $thumb_height = 70; // max thumb height //Writes the photo to the server if(move_uploaded_file($_FILES['upload']['tmp_name'], $target)) { /* HERE IS WHERE WE WILL DO THE ACTUAL RESIZING */ /* THESE SIX PARAMETERS MAY BE CHANGED TO SUIT YOUR NEEDS */ $upload = $_FILES['upload']['name']; $o_path ="images/COMPANIES/"; $s_path = "images/thumbs/"; $file = $upload; $save = $file; $t_w = 200; $t_h = 150; /* DO NOT CHANGE THIS NEXT LINE */ Resize_Image($save,$file,$t_w,$t_h,$s_path,$o_path); }else{ //Gives and error if its not $error_message .= "Sorry, there was a problem uploading your file."; } /* PREPARE DATA FOR INSERTION INTO TABLE */ //Writes the information to the database if(strlen(trim($error_message)) <1){ $salt = createsalt(); $username = trim($_POST['username']); $password = trim($_POST['password']); $hash = hash('sha256', $salt, $password); $approved = 0; $company_name = mysql_real_escape_string(trim($_POST['company_name'])); $website = mysql_real_escape_string(trim($_POST['website'])); $contact_name = mysql_real_escape_string(trim($_POST['contact_name'])); $location = mysql_real_escape_string(trim($_POST['location'])); $postcode = mysql_real_escape_string(trim($_POST['postcode'])); $street1 = mysql_real_escape_string(trim($_POST['street1'])); $street2 = mysql_real_escape_string(trim($_POST['street2'])); $city = mysql_real_escape_string(trim($_POST['city'])); $phone = mysql_real_escape_string(trim($_POST['phone'])); $phone2 = mysql_real_escape_string(trim($_POST['phone2'])); $email = mysql_real_escape_string(trim($_POST['email'])); $premiumuser_description = mysql_real_escape_string(trim($_POST['premiumuser_description'])); $salt = mysql_real_escape_string($salt); $upload = mysql_real_escape_string($upload); $query ="INSERT INTO `companies` (company_name, what_services, website, contact_name, location, postcode, street1, street2, city, phone,phone2, email, premiumuser_description, username, password, salt, approved, upload) VALUES ('$company_name', '$what_services', '$website', '$contact_name', '$location', '$postcode', '$street1', '$street2', '$city', '$phone', '$phone2', '$email', '$premiumuser_description', '$username', '$hash', '$salt', '$approved', '$upload')"; $result = mysql_query($query) or die(mysql_error()); if ($result) { } /* at this point we can send an email to the admin as well as the user. DO NOT send the user's password to ANYONE!!!! */ } }//if (isset($_POST['submit'])) ?> <?php if (!empty($error_message)){ echo $error_message; } ?> <div class="abox"> <figure> <fcapion> <h1><hr> <form action="view02.php" method="get" enctype="multipart/form-data" class="cursive"> <table width="316" border="0"> <tr> <td colspan="2"><h1>Edit Your details </h1><p>fill out the form with your details...</p></td> </tr> <tr> <td> </td> <td><p> </p> <p>Click submit to update...</p><p> </p></td> </tr> <tr> <td> </td> <td><p> </p><p></p><p><input type="hidden" name="id" value="<?php echo $row['id']; ?>"/><p> </p></td> </tr> <tr> <td>Website:</td> <td><p> </p><p><input name="website" type="text" id="website" /></p> <p> </p></td> </tr> <tr> <td>Primary Number:</td> <td><p> </p><p><input name="phone" type="text" id="phone" /></p> <p> </p></td> </tr> <tr> <td>Secondary Number:</td> <td><p> </p> <p><input name="phone2" type="text" id="phone2" /></p> <p> </p></td> </tr> <tr> <td>Company Description:</td> <td><p><em>Write a description of what your company does, the services it offers and any additional information here.</em> </p> <p><textarea rows="10" cols="100" name="premiumuser_description" id="premiumuser_description"></textarea></p> <p> </p></td> </tr> <tr> <td>Images:</td> <td><p><em>Upload your company image here.</em> </p> <p><input name="upload" type="file" class="style7" id="upload"></p> <p> </p></td> </tr> <tr> <td><p> </p></td> </tr> <tr> <td colspan="2"><input type="submit" name="submit" value="submit" /></td> </tr> </table> </form></h1> </fcaption></figure> </div> </div> </middle> </div> <!--end middle --> <!--start footer --> <footer> <div id="footer"></div> </footer> <!--end footer --> </div> <!--end container --> <!-- Free template distributed by http://freehtml5templates.com --> </body> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script> </html> View02.php: <?php include ('php only scripts/db.php'); include('php only scripts/resize.php'); $id = intval($_GET['id']); // guarantee it's a harmless number value if (isset($_GET['website']) && $_GET['website']) { // does the GET value exists and has it a value ? $website = mysql_real_escape_string($_GET['website']); // get its value and escape it $setArray[] = "website = '$website'"; // ok to update this field in the query so store it } if (isset($_GET['phone']) && $_GET['phone']) { $phone = mysql_real_escape_string($_GET['phone']); $setArray[] = "phone = '$phone'"; } if (isset($_GET['phone2']) && $_GET['phone2']) { $phone2 = mysql_real_escape_string($_GET['phone2']); $setArray[] = "phone2 = '$phone2'"; } if (isset($_GET['premiumuser_description']) && $_GET['premiumuser_description']) { $premiumuser_description = mysql_real_escape_string($_GET['premiumuser_description']); $setArray[] = "premiumuser_description = '$premiumuser_description'"; } if (isset($_GET['username']) && $_GET['username']) { $username = mysql_real_escape_string($_GET['username']); $setArray[] = "username = '$username'"; } if (isset($_GET['password']) && $_GET['password']) { // These are the same so you'd need to make them different if your comparing the password to ensure they entered it correctly ex: $_GET['password1'] for another field in your form $password= mysql_real_escape_string($_GET['password']); // This is fine if the 2 values above are first compared $setArray[] = "password = SHA('$password')"; // If they are compared and validation checks out then just do the query to update the password here.. } if (isset($_GET['upload']) && $_GET['upload']) { $upload = mysql_real_escape_string($_GET['upload']); $setArray[] = "upload = '$upload'"; } /* check if form was submitted */ if (isset($_POST['Submit'])){ $error_message = ""; /* This is the directory where images will be saved */ $target = "/home/users/web/b109/ipg.removalspacecom/images/COMPANIES/"; $target = $target . basename( $_FILES['upload']['name']); /* include validation script */ include ('php only scripts/validation.php'); $uploadDir = '/home/users/web/b109/ipg.removalspacecom/images/COMPANIES'; /* main picture folder */ $max_height = 450; /* largest height you allowed; 0 means any */ $max_width = 450; /* largest width you allowed; 0 means any */ $max_file = 2000000; /* set the max file size in bytes */ $image_overwrite = 1; /* 0 means overwite; 1 means new name */ /* add or delete allowed image types */ $allowed_type01 = array("image/gif", "image/pjpeg", "image/jpeg", "image/png", "image/x-png", "image/jpg"); $do_thumb = 1; /* 1 make thumbnails; 0 means do NOT make */ $thumbDir = "/home/users/web/b109/ipg.removalspacecom/images/thumbs"; /* thumbnail folder */ $thumb_prefix = ""; /* prefix for thumbnails */ $thumb_width = 90; /* max thumb width */ $thumb_height = 70; // max thumb height //Writes the photo to the server if(move_uploaded_file($_FILES['upload']['tmp_name'], $target)) { /* HERE IS WHERE WE WILL DO THE ACTUAL RESIZING */ /* THESE SIX PARAMETERS MAY BE CHANGED TO SUIT YOUR NEEDS */ $upload = $_FILES['upload']['name']; $o_path ="images/COMPANIES/"; $s_path = "images/thumbs/"; $file = $upload; $save = $file; $t_w = 200; $t_h = 150; /* DO NOT CHANGE THIS NEXT LINE */ Resize_Image($save,$file,$t_w,$t_h,$s_path,$o_path); }else{ //Gives and error if its not $error_message .= "Sorry, there was a problem uploading your file."; }} if (count($setArray) > 0) { // do we have at least on field to update? $setstr = join (', ', $setArray); // form a comma separated string of our updates $query = "UPDATE companies SET $setstr WHERE id = $id"; // update it echo $query; mysql_query($query) or die(mysql_error()); } header("Location: view01.php?id=" . $id); exit(0); ?> Now awaiting standard reply of: DO NOT SEND HUNDREDS OF LINES OF CODE. lol. p.s Any image that already exists in on the server in /thumbs will update, im guessing because it finds the file name and uses. But any image not on the server it does not update. Here's where im having the problem. I need to update with a fresh/new image that is uploaded. I hope that helps more and hope i have pee'd any off by adding full code. Quote Link to comment https://forums.phpfreaks.com/topic/268595-update-set-name/#findComment-1379550 Share on other sites More sharing options...
ManiacDan Posted September 20, 2012 Share Posted September 20, 2012 if(move_uploaded_file($_FILES['upload']['tmp_name'], $target)) { That line copies the uploaded file to the target destination. However, you already have an existing destination file. The move might be failing because there's a file in the way. You have no error handling, so it's hard to be sure. Delete (unlink) the existing file directly before that line. Quote Link to comment https://forums.phpfreaks.com/topic/268595-update-set-name/#findComment-1379568 Share on other sites More sharing options...
Christian F. Posted September 20, 2012 Share Posted September 20, 2012 ManicDan: Nah, that's not it as move_uploaded_file will overwrite any previous files. Says so in a nice pink warning block in the PHP manual too. Though, I suspect that the real reason is hidden inside some error message that's not handled. Like I stated above, so you, andy_b, really need to handle those errors and make sure that all operations that can fail are taken into account. Error messages are your best friends when writing code, after all. Quote Link to comment https://forums.phpfreaks.com/topic/268595-update-set-name/#findComment-1379574 Share on other sites More sharing options...
ManiacDan Posted September 20, 2012 Share Posted September 20, 2012 ManicDan: Nah, that's not it as move_uploaded_file will overwrite any previous files. Says so in a nice pink warning block in the PHP manual too. Damn, how did I miss the big red box? I read the page twice to make sure. Quote Link to comment https://forums.phpfreaks.com/topic/268595-update-set-name/#findComment-1379579 Share on other sites More sharing options...
andy_b_1502 Posted September 20, 2012 Author Share Posted September 20, 2012 ChristianF i have error reporting on. If it is move_uploaded_file, what can i do to get to what it could be if i have error reporting on? sorry bit of a rookie here still as you might of guessed. Do i have to add something like mysql_error somewhere? Quote Link to comment https://forums.phpfreaks.com/topic/268595-update-set-name/#findComment-1379586 Share on other sites More sharing options...
Christian F. Posted September 20, 2012 Share Posted September 20, 2012 Hehe, "it's the eyes that goes blind first", as we say here. No worries, I know I've done my share of missing the blatantly obvious as well. Shit happens, as they say. Quote Link to comment https://forums.phpfreaks.com/topic/268595-update-set-name/#findComment-1379593 Share on other sites More sharing options...
andy_b_1502 Posted September 20, 2012 Author Share Posted September 20, 2012 Looks like i need to be embarrassed further...... Quote Link to comment https://forums.phpfreaks.com/topic/268595-update-set-name/#findComment-1379599 Share on other sites More sharing options...
andy_b_1502 Posted September 20, 2012 Author Share Posted September 20, 2012 It works fine with images already there to choose from. New images dont upload. Quote Link to comment https://forums.phpfreaks.com/topic/268595-update-set-name/#findComment-1379604 Share on other sites More sharing options...
andy_b_1502 Posted September 20, 2012 Author Share Posted September 20, 2012 Delete (unlink) the existing file directly before that line. what file??? Quote Link to comment https://forums.phpfreaks.com/topic/268595-update-set-name/#findComment-1379610 Share on other sites More sharing options...
ManiacDan Posted September 20, 2012 Share Posted September 20, 2012 I was wrong, it probably wasn't that. You get NO errors from this code, and the problem is intermittent? Have you checked your server's error logs? Quote Link to comment https://forums.phpfreaks.com/topic/268595-update-set-name/#findComment-1379623 Share on other sites More sharing options...
andy_b_1502 Posted September 20, 2012 Author Share Posted September 20, 2012 No error's are present, if i was to upload an image NOT already in the /thumbs folder (i.e a new image) it just displays an image placeholder. so it must be uploading the image to /companies folder (main image folder) but not re-sizing and moving to the /thumbs folder (re-sized thumbnail folder). In view01.php and throughout the website the images i want to display are called with: <img src="images/thumbs/<?PHP echo $row['upload']; ?>" alt="logo"/> Quote Link to comment https://forums.phpfreaks.com/topic/268595-update-set-name/#findComment-1379626 Share on other sites More sharing options...
PFMaBiSmAd Posted September 20, 2012 Share Posted September 20, 2012 The form code you posted cannot possibly work (correctly) with the form processing code you posted. 1) The form's method is get. You cannot upload files using a get method form (just tested.) 2) The form doesn't have a submit field named exactly - 'Submit', so there's no way that the code testing if (isset($_POST['Submit'])){ is even running. 3) You have the UPDATE query outside of and after your form processing code, so it runs every time the page is requested and if (count($setArray) > 0) { is true, which it will be since $setArray is set by the GET method data you are currently receiving. A) Make your form method = 'post' and access all the values using $_POST (edit: except the $_FILES data.) B) You need a name= 'Submit' field in your form so that your if (isset($_POST['Submit'])){ statement will be true. C) You need to put ALL the form processing code inside of the if((isset($_POST['Submit'])){...} logic. Everything from the code accessing and validating the 'id', 'website', ... through to after the UPDATE query has been executed belongs inside of the {} for that if() statement. Quote Link to comment https://forums.phpfreaks.com/topic/268595-update-set-name/#findComment-1379630 Share on other sites More sharing options...
andy_b_1502 Posted September 20, 2012 Author Share Posted September 20, 2012 Like that: <?php include ('php only scripts/db.php'); include('php only scripts/resize.php'); if (isset($_POST['Submit'])){ $id = intval($_GET['id']); // guarantee it's a harmless number value if (isset($_GET['website']) && $_GET['website']) { // does the GET value exists and has it a value ? $website = mysql_real_escape_string($_GET['website']); // get its value and escape it $setArray[] = "website = '$website'"; // ok to update this field in the query so store it } if (isset($_GET['phone']) && $_GET['phone']) { $phone = mysql_real_escape_string($_GET['phone']); $setArray[] = "phone = '$phone'"; } if (isset($_GET['phone2']) && $_GET['phone2']) { $phone2 = mysql_real_escape_string($_GET['phone2']); $setArray[] = "phone2 = '$phone2'"; } if (isset($_GET['premiumuser_description']) && $_GET['premiumuser_description']) { $premiumuser_description = mysql_real_escape_string($_GET['premiumuser_description']); $setArray[] = "premiumuser_description = '$premiumuser_description'"; } if (isset($_GET['username']) && $_GET['username']) { $username = mysql_real_escape_string($_GET['username']); $setArray[] = "username = '$username'"; } if (isset($_GET['password']) && $_GET['password']) { // These are the same so you'd need to make them different if your comparing the password to ensure they entered it correctly ex: $_GET['password1'] for another field in your form $password= mysql_real_escape_string($_GET['password']); // This is fine if the 2 values above are first compared $setArray[] = "password = SHA('$password')"; // If they are compared and validation checks out then just do the query to update the password here.. } if (isset($_GET['upload']) && $_GET['upload']) { $upload = mysql_real_escape_string($_GET['upload']); $setArray[] = "upload = '$upload'"; } /* check if form was submitted */ $error_message = ""; /* This is the directory where images will be saved */ $target = "/home/users/web/b109/ipg.removalspacecom/images/COMPANIES/"; $target = $target . basename( $_FILES['upload']['name']); /* include validation script */ include ('php only scripts/validation.php'); $uploadDir = 'images/COMPANIES'; /* main picture folder */ $max_height = 450; /* largest height you allowed; 0 means any */ $max_width = 450; /* largest width you allowed; 0 means any */ $max_file = 2000000; /* set the max file size in bytes */ $image_overwrite = 1; /* 0 means overwite; 1 means new name */ /* add or delete allowed image types */ $allowed_type01 = array("image/gif", "image/pjpeg", "image/jpeg", "image/png", "image/x-png", "image/jpg"); $do_thumb = 1; /* 1 make thumbnails; 0 means do NOT make */ $thumbDir = "/images/thumbs"; /* thumbnail folder */ $thumb_prefix = ""; /* prefix for thumbnails */ $thumb_width = 90; /* max thumb width */ $thumb_height = 70; // max thumb height //Writes the photo to the server if(move_uploaded_file($_FILES['upload']['tmp_name'], $target)) { /* HERE IS WHERE WE WILL DO THE ACTUAL RESIZING */ /* THESE SIX PARAMETERS MAY BE CHANGED TO SUIT YOUR NEEDS */ $upload = $_FILES['upload']['name']; $o_path ="images/COMPANIES/"; $s_path = "images/thumbs/"; $file = $upload; $save = $file; $t_w = 200; $t_h = 150; /* DO NOT CHANGE THIS NEXT LINE */ Resize_Image($save,$file,$t_w,$t_h,$s_path,$o_path); }else{ //Gives and error if its not $error_message .= "Sorry, there was a problem uploading your file."; }} if (count($setArray) > 0) { // do we have at least on field to update? $setstr = join (', ', $setArray); // form a comma separated string of our updates $query = "UPDATE companies SET $setstr WHERE id = $id"; // update it echo $query; mysql_query($query) or die(mysql_error()); } header("Location: view01.php?id=" . $id); exit(0); ?> my form had a named-submit button: <input type="submit" name="submit" value="submit" /> Quote Link to comment https://forums.phpfreaks.com/topic/268595-update-set-name/#findComment-1379642 Share on other sites More sharing options...
andy_b_1502 Posted September 20, 2012 Author Share Posted September 20, 2012 PFMaBiSmAd: action=get updates to an old image (an image that already exists on the server) action=post doesn't. I felt i was at least half way there with action=get. Quote Link to comment https://forums.phpfreaks.com/topic/268595-update-set-name/#findComment-1379645 Share on other sites More sharing options...
ManiacDan Posted September 20, 2012 Share Posted September 20, 2012 I felt i was at least half way there with action=get. action=get cannot and will never upload an image. Ever. You are 0% there with action=get, it's impossible. Quote Link to comment https://forums.phpfreaks.com/topic/268595-update-set-name/#findComment-1379674 Share on other sites More sharing options...
andy_b_1502 Posted September 20, 2012 Author Share Posted September 20, 2012 Then i just dont understand why its working (partly) with action=get in place Quote Link to comment https://forums.phpfreaks.com/topic/268595-update-set-name/#findComment-1379677 Share on other sites More sharing options...
PFMaBiSmAd Posted September 20, 2012 Share Posted September 20, 2012 Someone already stated why part of your code is running - 3) You have the UPDATE query outside of and after your form processing code, so it runs every time the page is requested and if (count($setArray) > 0) { is true, which it will be since $setArray is set by the GET method data you are currently receiving. Quote Link to comment https://forums.phpfreaks.com/topic/268595-update-set-name/#findComment-1379678 Share on other sites More sharing options...
andy_b_1502 Posted September 20, 2012 Author Share Posted September 20, 2012 Okay, okay. It is going to require more help from you lot as your in the know much more than me. Breaking it down. Ive moved the }'s so the update is inside. Resize_Image($save,$file,$t_w,$t_h,$s_path,$o_path); }else{ //Gives and error if its not $error_message .= "Sorry, there was a problem uploading your file."; if (count($setArray) > 0) // do we have at least on field to update? $setstr = join (', ', $setArray); // form a comma separated string of our updates $query = "UPDATE companies SET $setstr WHERE id = $id"; // update it echo $query; mysql_query($query) or die(mysql_error()); }} header("Location: view01.php?id=" . $id); exit(0); ?> The form's action is set to post. Now no images upload AT ALL. so it's broke.... :'( Quote Link to comment https://forums.phpfreaks.com/topic/268595-update-set-name/#findComment-1379693 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.