Update form with image

update not updating help on the last line of the script the update not wrking help please

<?php
define('ROOT_DIR', './');
define('PROPER', TRUE);
/**
* include common files
*/
include_once(ROOT_DIR. 'includes/common.inc.php');
// No album id has been selected
if (isset($_GET['drivers']))
{
   // get the image file name so we
   // can delete it from the server
   $sql = "SELECT id, image

           FROM driversnew

           WHERE id = {$_GET['drivers']}";

   $result = mysql_query($sql)

             or die('Delete photo failed. ' . mysql_error());

   if (mysql_num_rows($result) == 1) {

      $row = mysql_fetch_assoc($result);
      
define("GALLERY_IMG_DIR", "./images/");

      // remove the image and the thumbnail from the server
      unlink(GALLERY_IMG_DIR . $row['image']);

      unlink(GALLERY_IMG_DIR . 'thumbs/' . $row['image']);
      
      // and then remove the database entry

print_r($_POST);


     
   }

}



  $id = $_GET['id'] ;
    $name = $_POST['name'];
    $location = $_POST['location'];
    $date_of_birth = $_POST['date_of_birth'];
    $car_number = $_POST['car_number'];
    $favourite_track = $_POST['favourite_track'];
    $least_favourite_track = $_POST['least_favourite_track'];
    $achievements = $_POST['achievements'];
    $sponsors = $_POST['sponsors'];    
    $email = $_POST['email'];    
    $image  = $_FILES['image'];
/////////// this where the upload script starts/////////// this where the upload script starts//////// this where the upload script starts
  /////////// this where the upload script starts/////////// this where the upload script starts//////// this where the upload script starts


//define a maxim size for the uploaded images
define ("MAX_SIZE","100");
// define the width and height for the thumbnail
// note that theese dimmensions are considered the maximum dimmension and are not fixed,
// because we have to keep the image ratio intact or it will be deformed
define ("WIDTH","150");
define ("HEIGHT","100");

// this is the function that will create the thumbnail image from the uploaded image
// the resize will be done considering the width and height defined, but without deforming the image
function make_thumb($img_name,$filename,$new_w,$new_h)
{
//get image extension.
$ext=getExtension($img_name);
//creates the new image using the appropriate function from gd library
if(!strcmp("jpg",$ext) || !strcmp("jpeg",$ext))
$src_img=imagecreatefromjpeg($img_name);

if(!strcmp("png",$ext))
$src_img=imagecreatefrompng($img_name);

//gets the dimmensions of the image
$old_x=imageSX($src_img);
$old_y=imageSY($src_img);

// next we will calculate the new dimmensions for the thumbnail image
// the next steps will be taken:
// 1. calculate the ratio by dividing the old dimmensions with the new ones
// 2. if the ratio for the width is higher, the width will remain the one define in WIDTH variable
// and the height will be calculated so the image ratio will not change
// 3. otherwise we will use the height ratio for the image
// as a result, only one of the dimmensions will be from the fixed ones
$ratio1=$old_x/$new_w;
$ratio2=$old_y/$new_h;
if($ratio1>$ratio2) {
$thumb_w=$new_w;
$thumb_h=$old_y/$ratio1;
}
else {
$thumb_h=$new_h;
$thumb_w=$old_x/$ratio2;
}

// we create a new image with the new dimmensions
$dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);

// resize the big image to the new created one
imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);

// output the created image to the file. Now we will have the thumbnail into the file named by $filename
if(!strcmp("png",$ext))
imagepng($dst_img,$filename);
else
imagejpeg($dst_img,$filename);

//destroys source and destination images.
imagedestroy($dst_img);
imagedestroy($src_img);
}

// This function reads the extension of the file.
// It is used to determine if the file is an image by checking the extension.
function getExtension($str) {
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}

// This variable is used as a flag. The value is initialized with 0 (meaning no error found)
//and it will be changed to 1 if an errro occures. If the error occures the file will not be uploaded.
$errors=0;
// checks if the form has been submitted
if(isset($_POST['Submit']))
{
//reads the name of the file the user submitted for uploading
$image=$_FILES['image']['name'];
// if it is not empty
if ($image)
{
// get the original name of the file from the clients machine
$filename = stripslashes($_FILES['image']['name']);

// get the extension of the file in a lower case format
$extension = getExtension($filename);
$extension = strtolower($extension);
// if it is not a known extension, we will suppose it is an error, print an error message
//and will not upload the file, otherwise we continue
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png"))
{
echo '<h1>Unknown extension!</h1>';
$errors=1;
}
else
{
// get the size of the image in bytes
// $_FILES[\\'image\\'][\\'tmp_name\\'] is the temporary filename of the file in which the uploaded file was stored on the server
$size=getimagesize($_FILES['image']['tmp_name']);
$sizekb=filesize($_FILES['image']['tmp_name']);

//compare the size with the maxim size we defined and print error if bigger
if ($sizekb > MAX_SIZE*1024)
{
echo '<h1>You have exceeded the size limit!</h1>';
$errors=1;
}

//we will give an unique name, for example the time in unix time format
$image_name=time().'.'.$extension;
//the new name will be containing the full path where will be stored (images folder)
$newname="images/".$image_name;
$copied = copy($_FILES['image']['tmp_name'], $newname);
//we verify if the image has been uploaded, and print error instead
if (!$copied)
{
echo '<h1>Copy unsuccessfull!</h1>';
$errors=1;
}
else
{
// the new thumbnail image will be placed in images/thumbs/ folder
$thumb_name='images/thumbs/'.$image_name;
// call the function that will create the thumbnail. The function will get as parameters
//the image name, the thumbnail name and the width and height desired for the thumbnail
$thumb=make_thumb($newname,$thumb_name,WIDTH,HEIGHT);
}} }}

//If no errors registred, print the success message and show the thumbnail image created




$query = "UPDATE driversnew SET name = '$name',   location = '$location', date_of_birth='$date_of_birth', car_number='$car_number', favourite_track='$favourite_track', least_favourite_track='$least_favourite_track', achievements='$achievements', achievements='$achievements' email='$email', image='$image'   WHERE id = '$id'";




echo "<h1>Thumbnail created Successfully!</h1>";
echo '<img src="'.$thumb_name.'">';
echo ''.$name.'';
echo ''.$location.'';




?>

didnt understood that??

so on the old one that is not working change all these $_POST to $_REQUEST ??

$id = $_POST['id'] ;
    $name = $_POST['name'];
    $location = $_POST['location'];
    $date_of_birth = $_POST['date_of_birth'];
    $car_number = $_POST['car_number'];
    $favourite_track = $_POST['favourite_track'];
    $least_favourite_track = $_POST['least_favourite_track'];
    $achievements = $_POST['achievements'];
    $sponsors = $_POST['sponsors'];    
    $email = $_POST['email'];    
    $image_name = $_FILES['image_name'];

ok i did insert the above code but now it doesnt insert new image if user upload

<?php
define('ROOT_DIR', './');
define('THIS_SCRIPT', 'news');
define('PROPER', TRUE);
/**
* include common files
*/
include_once(ROOT_DIR. 'includes/common.inc.php');


$id = $_POST['id'];
    $name = $_POST['name'];
    $location = $_POST['location'];
    $date_of_birth = $_POST['date_of_birth'];
    $car_number = $_POST['car_number'];
    $favourite_track = $_POST['favourite_track'];
    $least_favourite_track = $_POST['least_favourite_track'];
    $achievements = $_POST['achievements'];
    $sponsors = $_POST['sponsors'];    
    $email = $_POST['email'];    
    $newname  = $_FILES['image'];
    
$query = "UPDATE driversnew SET name = '$name', location = '$location', date_of_birth='$date_of_birth', car_number='$car_number', favourite_track='$favourite_track', least_favourite_track='$least_favourite_track', achievements='$achievements', sponsors='$sponsors', email='$email'";


if($_FILES['error'] === 0){

   
   
//define a maxim size for the uploaded images
define ("MAX_SIZE","100");
// define the width and height for the thumbnail
// note that theese dimmensions are considered the maximum dimmension and are not fixed,
// because we have to keep the image ratio intact or it will be deformed
define ("WIDTH","150");
define ("HEIGHT","100");

// this is the function that will create the thumbnail image from the uploaded image
// the resize will be done considering the width and height defined, but without deforming the image
function make_thumb($img_name,$filename,$new_w,$new_h)
{
//get image extension.
$ext=getExtension($img_name);
//creates the new image using the appropriate function from gd library
if(!strcmp("jpg",$ext) || !strcmp("jpeg",$ext))
$src_img=imagecreatefromjpeg($img_name);

if(!strcmp("png",$ext))
$src_img=imagecreatefrompng($img_name);

//gets the dimmensions of the image
$old_x=imageSX($src_img);
$old_y=imageSY($src_img);

// next we will calculate the new dimmensions for the thumbnail image
// the next steps will be taken:
// 1. calculate the ratio by dividing the old dimmensions with the new ones
// 2. if the ratio for the width is higher, the width will remain the one define in WIDTH variable
// and the height will be calculated so the image ratio will not change
// 3. otherwise we will use the height ratio for the image
// as a result, only one of the dimmensions will be from the fixed ones
$ratio1=$old_x/$new_w;
$ratio2=$old_y/$new_h;
if($ratio1>$ratio2) {
$thumb_w=$new_w;
$thumb_h=$old_y/$ratio1;
}
else {
$thumb_h=$new_h;
$thumb_w=$old_x/$ratio2;
}

// we create a new image with the new dimmensions
$dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);

// resize the big image to the new created one
imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);

// output the created image to the file. Now we will have the thumbnail into the file named by $filename
if(!strcmp("png",$ext))
imagepng($dst_img,$filename);
else
imagejpeg($dst_img,$filename);

//destroys source and destination images.
imagedestroy($dst_img);
imagedestroy($src_img);
}

// This function reads the extension of the file.
// It is used to determine if the file is an image by checking the extension.
function getExtension($str) {
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}

// This variable is used as a flag. The value is initialized with 0 (meaning no error found)
//and it will be changed to 1 if an errro occures. If the error occures the file will not be uploaded.
$errors=0;
// checks if the form has been submitted
if(isset($_POST['Submit']))
{
//reads the name of the file the user submitted for uploading
$image=$_FILES['image']['name'];
// if it is not empty
if ($image)
{
// get the original name of the file from the clients machine
$filename = stripslashes($_FILES['image']['name']);

// get the extension of the file in a lower case format
$extension = getExtension($filename);
$extension = strtolower($extension);
// if it is not a known extension, we will suppose it is an error, print an error message
//and will not upload the file, otherwise we continue
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png"))
{
echo '<h1>Unknown extension!</h1>';
$errors=1;
}
else
{
// get the size of the image in bytes
// $_FILES[\\'image\\'][\\'tmp_name\\'] is the temporary filename of the file in which the uploaded file was stored on the server
$size=getimagesize($_FILES['image']['tmp_name']);
$sizekb=filesize($_FILES['image']['tmp_name']);

//compare the size with the maxim size we defined anuploadd print error if bigger
if ($sizekb > MAX_SIZE*2024)
{
echo '<h1>You have exceeded the size limit!</h1>';
$errors=1;
}

//we will give an unique name, for example the time in unix time format
$image_name=time().'.'.$extension;
//the new name will be containing the full path where will be stored (images folder)
$newname="images/".$image_name;
$copied = copy($_FILES['image']['tmp_name'], $newname);
//we verify if the image has been uploaded, and print error instead
if (!$copied)
{
echo '<h1>Copy unsuccessfull!</h1>';
$errors=1;
}
else
{
// the new thumbnail image will be placed in images/thumbs/ folder
$thumb_name='images/thumbs/'.$image_name;
// call the function that will create the thumbnail. The function will get as parameters
//the image name, the thumbnail name and the width and height desired for the thumbnail
$thumb=make_thumb($newname,$thumb_name,WIDTH,HEIGHT);


}} }}


   
   $query .= ", image='$image_name'";

}
$query .= " WHERE id = '$id'";



mysql_query($query) or die(mysql_error());

//If no errors registred, print the success message and show the thumbnail image created

echo "<h1>Thumbnail created Successfully!</h1>";
echo '<img src="'.$thumb_name.'">';
echo ''.$image_name.'';

?> 

ok so if the upload file which is qury insert i will instead use update should do the job?? if so i’m testing now in the meantime one of my obvious concern is when i upload the new image it will only upload the new image on the directory plus keeping the old one there aswell or is gona delete that one??

If you are using that form then it won’t work because you have mixed your $_GET and $_POST variables up. With the working versions you have used $_GET to update the database where in the broken version, you are using $_POST. If you change all $_GET and $_POST variables you have used to $_REQUEST it shouldn’t matter how you send your form. Let me know if this works.

yeah i did what the issue is that i mixed two scripts i have a delete script with unlink that work fine and a insert that upload image into the directory so i paste both togther made a few changes here it is you will see on the middle of the script commented ///this where the upload script starts// thats where i paste the upload script and update script?? i have the felling it wont work any idea that might make it work???

<?php
define('ROOT_DIR', './');
define('PROPER', TRUE);
/**
* include common files
*/
include_once(ROOT_DIR. 'includes/common.inc.php');
// No album id has been selected
if (isset($_GET['drivers'])) 
 {
   // get the image file name so we
   // can delete it from the server
   $sql = "SELECT id, image

           FROM driversnew

           WHERE id = {$_GET['drivers']}";

   $result = mysql_query($sql)

             or die('Delete photo failed. ' . mysql_error());

   if (mysql_num_rows($result) == 1) {

      $row = mysql_fetch_assoc($result);
      
define("GALLERY_IMG_DIR", "./images/");

      // remove the image and the thumbnail from the server
      unlink(GALLERY_IMG_DIR . $row['image']);

      unlink(GALLERY_IMG_DIR . 'thumbs/' . $row['image']);
      
      // and then remove the database entry
      
      
   }

}
 
 /////////// this where the upload script starts/////////// this where the upload script starts//////// this where the upload script starts


//define a maxim size for the uploaded images
define ("MAX_SIZE","100");
// define the width and height for the thumbnail
// note that theese dimmensions are considered the maximum dimmension and are not fixed,
// because we have to keep the image ratio intact or it will be deformed
define ("WIDTH","150");
define ("HEIGHT","100");

// this is the function that will create the thumbnail image from the uploaded image
// the resize will be done considering the width and height defined, but without deforming the image
function make_thumb($img_name,$filename,$new_w,$new_h)
{
//get image extension.
$ext=getExtension($img_name);
//creates the new image using the appropriate function from gd library
if(!strcmp("jpg",$ext) || !strcmp("jpeg",$ext))
$src_img=imagecreatefromjpeg($img_name);

if(!strcmp("png",$ext))
$src_img=imagecreatefrompng($img_name);

//gets the dimmensions of the image
$old_x=imageSX($src_img);
$old_y=imageSY($src_img);

// next we will calculate the new dimmensions for the thumbnail image
// the next steps will be taken:
// 1. calculate the ratio by dividing the old dimmensions with the new ones
// 2. if the ratio for the width is higher, the width will remain the one define in WIDTH variable
// and the height will be calculated so the image ratio will not change
// 3. otherwise we will use the height ratio for the image
// as a result, only one of the dimmensions will be from the fixed ones
$ratio1=$old_x/$new_w;
$ratio2=$old_y/$new_h;
if($ratio1>$ratio2) {
$thumb_w=$new_w;
$thumb_h=$old_y/$ratio1;
}
else {
$thumb_h=$new_h;
$thumb_w=$old_x/$ratio2;
}

// we create a new image with the new dimmensions
$dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);

// resize the big image to the new created one
imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);

// output the created image to the file. Now we will have the thumbnail into the file named by $filename
if(!strcmp("png",$ext))
imagepng($dst_img,$filename);
else
imagejpeg($dst_img,$filename);

//destroys source and destination images.
imagedestroy($dst_img);
imagedestroy($src_img);
}

// This function reads the extension of the file.
// It is used to determine if the file is an image by checking the extension.
function getExtension($str) {
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}

// This variable is used as a flag. The value is initialized with 0 (meaning no error found)
//and it will be changed to 1 if an errro occures. If the error occures the file will not be uploaded.
$errors=0;
// checks if the form has been submitted
if(isset($_POST['Submit']))
{
//reads the name of the file the user submitted for uploading
$image=$_FILES['image']['name'];
// if it is not empty
if ($image)
{
// get the original name of the file from the clients machine
$filename = stripslashes($_FILES['image']['name']);

// get the extension of the file in a lower case format
$extension = getExtension($filename);
$extension = strtolower($extension);
// if it is not a known extension, we will suppose it is an error, print an error message
//and will not upload the file, otherwise we continue
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png"))
{
echo '<h1>Unknown extension!</h1>';
$errors=1;
}
else
{
// get the size of the image in bytes
// $_FILES[\\'image\\'][\\'tmp_name\\'] is the temporary filename of the file in which the uploaded file was stored on the server
$size=getimagesize($_FILES['image']['tmp_name']);
$sizekb=filesize($_FILES['image']['tmp_name']);

//compare the size with the maxim size we defined and print error if bigger
if ($sizekb > MAX_SIZE*1024)
{
echo '<h1>You have exceeded the size limit!</h1>';
$errors=1;
}

//we will give an unique name, for example the time in unix time format
$image_name=time().'.'.$extension;
//the new name will be containing the full path where will be stored (images folder)
$newname="images/".$image_name;
$copied = copy($_FILES['image']['tmp_name'], $newname);
//we verify if the image has been uploaded, and print error instead
if (!$copied)
{
echo '<h1>Copy unsuccessfull!</h1>';
$errors=1;
}
else
{
// the new thumbnail image will be placed in images/thumbs/ folder
$thumb_name='images/thumbs/'.$image_name;
// call the function that will create the thumbnail. The function will get as parameters
//the image name, the thumbnail name and the width and height desired for the thumbnail
$thumb=make_thumb($newname,$thumb_name,WIDTH,HEIGHT);
}} }}

//If no errors registred, print the success message and show the thumbnail image created
if(isset($_POST['Submit']) && !$errors)
{

$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("eurico_edy", $con);



$query = "UPDATE products SET name = '$name',   location = '$location', date_of_birth='$date_of_birth', car_number='$car_number', favourite_track='$favourite_track', least_favourite_track='$least_favourite_track', achievements='$achievements', achievements='$achievements' email='$email', image='$image'   WHERE id = '$id'";



echo "<h1>Thumbnail created Successfully!</h1>";
echo '<img src="'.$thumb_name.'">';
echo ''.$newname.'';
mysql_close($con);
}


?>


Can you amend this line

mysql_query($query)

to this

$result = mysql_query($query);
var_dump($result);

what do you get?

i will try that u just sent me in the meantime i was wrkin on this one one issue only it only updates data if u upload new image.

something to do with this line with i change betwen GET and POST they work vice verce like GET will upload image and change data but if no image upload no data change’s if POST the other way around i tried request as well i will wrk on the one u just sent me bt if u find easy mistake on that one let me know…please

if (isset($_GET[‘drivers’]))
{
// get the image file name so we
// can delete it from the server
$sql = "SELECT id, image

       FROM driversnew

       WHERE id = {$_GET['drivers']}";
<?php
define('ROOT_DIR', './');
define('THIS_SCRIPT', 'news');
define('PROPER', TRUE);
define("GALLERY_IMG_DIR", "./images/");
/**
* include common files
*/
include_once(ROOT_DIR. 'includes/common.inc.php');


 $id = $_POST['id']; 
    $name = $_POST['name'];
    $location = $_POST['location'];
    $date_of_birth = $_POST['date_of_birth'];
    $car_number = $_POST['car_number'];
    $favourite_track = $_POST['favourite_track'];
    $least_favourite_track = $_POST['least_favourite_track'];
    $achievements = $_POST['achievements'];
    $sponsors = $_POST['sponsors'];    
    $email = $_POST['email'];    
    $newname  = $_FILES['image'];
    
$query = "UPDATE driversnew SET name = '$name', location = '$location', date_of_birth='$date_of_birth', car_number='$car_number', favourite_track='$favourite_track', least_favourite_track='$least_favourite_track', achievements='$achievements', sponsors='$sponsors', email='$email'";


if($_FILES['image'] ['error'] === 0){

      // remove the image and the thumbnail from the server
  
   // get the image file name so we
   // can delete it from the server
if (isset($_GET['drivers'])) 
 {
   // get the image file name so we
   // can delete it from the server
   $sql = "SELECT id, image

           FROM driversnew

           WHERE id = {$_GET['drivers']}";

   $result = mysql_query($sql)

             or die('Delete photo failed. ' . mysql_error());

   if (mysql_num_rows($result) == 1) {

      $row = mysql_fetch_assoc($result);
      
define("GALLERY_IMG_DIR", "./photos/");

      // remove the image and the thumbnail from the server
      unlink(GALLERY_IMG_DIR . $row['image']);

      unlink(GALLERY_IMG_DIR . 'thumbs/' . $row['image']);
   
//define a maxim size for the uploaded images
define ("MAX_SIZE","100");
// define the width and height for the thumbnail
// note that theese dimmensions are considered the maximum dimmension and are not fixed,
// because we have to keep the image ratio intact or it will be deformed
define ("WIDTH","150");
define ("HEIGHT","100");

// this is the function that will create the thumbnail image from the uploaded image
// the resize will be done considering the width and height defined, but without deforming the image
function make_thumb($img_name,$filename,$new_w,$new_h)
{
//get image extension.
$ext=getExtension($img_name);
//creates the new image using the appropriate function from gd library
if(!strcmp("jpg",$ext) || !strcmp("jpeg",$ext))
$src_img=imagecreatefromjpeg($img_name);

if(!strcmp("png",$ext))
$src_img=imagecreatefrompng($img_name);

//gets the dimmensions of the image
$old_x=imageSX($src_img);
$old_y=imageSY($src_img);

// next we will calculate the new dimmensions for the thumbnail image
// the next steps will be taken:
// 1. calculate the ratio by dividing the old dimmensions with the new ones
// 2. if the ratio for the width is higher, the width will remain the one define in WIDTH variable
// and the height will be calculated so the image ratio will not change
// 3. otherwise we will use the height ratio for the image
// as a result, only one of the dimmensions will be from the fixed ones
$ratio1=$old_x/$new_w;
$ratio2=$old_y/$new_h;
if($ratio1>$ratio2) {
$thumb_w=$new_w;
$thumb_h=$old_y/$ratio1;
}
else {
$thumb_h=$new_h;
$thumb_w=$old_x/$ratio2;
}

// we create a new image with the new dimmensions
$dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);

// resize the big image to the new created one
imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);

// output the created image to the file. Now we will have the thumbnail into the file named by $filename
if(!strcmp("png",$ext))
imagepng($dst_img,$filename);
else
imagejpeg($dst_img,$filename);

//destroys source and destination images.
imagedestroy($dst_img);
imagedestroy($src_img);
}

// This function reads the extension of the file.
// It is used to determine if the file is an image by checking the extension.
function getExtension($str) {
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}

// This variable is used as a flag. The value is initialized with 0 (meaning no error found)
//and it will be changed to 1 if an errro occures. If the error occures the file will not be uploaded.
$errors=0;
// checks if the form has been submitted
if(isset($_POST['Submit']))
{
//reads the name of the file the user submitted for uploading
$image=$_FILES['image']['name'];
// if it is not empty
if ($image)
{
// get the original name of the file from the clients machine
$filename = stripslashes($_FILES['image']['name']);

// get the extension of the file in a lower case format
$extension = getExtension($filename);
$extension = strtolower($extension);
// if it is not a known extension, we will suppose it is an error, print an error message
//and will not upload the file, otherwise we continue
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png"))
{
echo '<h1>Unknown extension!</h1>';
$errors=1;
}
else
{
// get the size of the image in bytes
// $_FILES[\\'image\\'][\\'tmp_name\\'] is the temporary filename of the file in which the uploaded file was stored on the server
$size=getimagesize($_FILES['image']['tmp_name']);
$sizekb=filesize($_FILES['image']['tmp_name']);

//compare the size with the maxim size we defined anuploadd print error if bigger
if ($sizekb > MAX_SIZE*2024)
{
echo '<h1>You have exceeded the size limit!</h1>';
$errors=1;
}

//we will give an unique name, for example the time in unix time format
$image_name=time().'.'.$extension;
//the new name will be containing the full path where will be stored (images folder)
$newname="images/".$image_name;
$copied = copy($_FILES['image']['tmp_name'], $newname);
//we verify if the image has been uploaded, and print error instead
if (!$copied)
{
echo '<h1>Copy unsuccessfull!</h1>';
$errors=1;
}
else
{
// the new thumbnail image will be placed in images/thumbs/ folder
$thumb_name='images/thumbs/'.$image_name;
// call the function that will create the thumbnail. The function will get as parameters
//the image name, the thumbnail name and the width and height desired for the thumbnail
$thumb=make_thumb($newname,$thumb_name,WIDTH,HEIGHT);
}} }}

//If no errors registred, print the success message and show the thumbnail image created

   
$query .= ", image='$image_name'";

echo "It worked";
echo "<h1>Thumbnail created Successfully!</h1>";
echo '<img src="'.$thumb_name.'">';
echo ''.$image_name.'';

}

}

$query .= " WHERE id = '$id'"; 
echo "It worked";
mysql_query($query) or die(mysql_error()); 

}
echo "Update sucefull";
?>

delete this line if so i did still doesnt update??
$image_name = $_FILES[‘image_name’];

this how is looking

<?php
define('ROOT_DIR', './');
define('THIS_SCRIPT', 'news');
define('PROPER', TRUE);
/**
* include common files
*/
include_once(ROOT_DIR. 'includes/common.inc.php');

//define a maxim size for the uploaded images
define ("MAX_SIZE","100");
// define the width and height for the thumbnail
// note that theese dimmensions are considered the maximum dimmension and are not fixed,
// because we have to keep the image ratio intact or it will be deformed
define ("WIDTH","150");
define ("HEIGHT","100");

// this is the function that will create the thumbnail image from the uploaded image
// the resize will be done considering the width and height defined, but without deforming the image
function make_thumb($img_name,$filename,$new_w,$new_h)
{
//get image extension.
$ext=getExtension($img_name);
//creates the new image using the appropriate function from gd library
if(!strcmp("jpg",$ext) || !strcmp("jpeg",$ext))
$src_img=imagecreatefromjpeg($img_name);

if(!strcmp("png",$ext))
$src_img=imagecreatefrompng($img_name);

//gets the dimmensions of the image
$old_x=imageSX($src_img);
$old_y=imageSY($src_img);

// next we will calculate the new dimmensions for the thumbnail image
// the next steps will be taken:
// 1. calculate the ratio by dividing the old dimmensions with the new ones
// 2. if the ratio for the width is higher, the width will remain the one define in WIDTH variable
// and the height will be calculated so the image ratio will not change
// 3. otherwise we will use the height ratio for the image
// as a result, only one of the dimmensions will be from the fixed ones
$ratio1=$old_x/$new_w;
$ratio2=$old_y/$new_h;
if($ratio1>$ratio2) {
$thumb_w=$new_w;
$thumb_h=$old_y/$ratio1;
}
else {
$thumb_h=$new_h;
$thumb_w=$old_x/$ratio2;
}

// we create a new image with the new dimmensions
$dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);

// resize the big image to the new created one
imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);

// output the created image to the file. Now we will have the thumbnail into the file named by $filename
if(!strcmp("png",$ext))
imagepng($dst_img,$filename);
else
imagejpeg($dst_img,$filename);

//destroys source and destination images.
imagedestroy($dst_img);
imagedestroy($src_img);
}

// This function reads the extension of the file.
// It is used to determine if the file is an image by checking the extension.
function getExtension($str) {
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}

// This variable is used as a flag. The value is initialized with 0 (meaning no error found)
//and it will be changed to 1 if an errro occures. If the error occures the file will not be uploaded.
$errors=0;
// checks if the form has been submitted
if(isset($_POST['Submit']))
{
//reads the name of the file the user submitted for uploading
$image=$_FILES['image']['name'];
// if it is not empty
if ($image)
{
// get the original name of the file from the clients machine
$filename = stripslashes($_FILES['image']['name']);

// get the extension of the file in a lower case format
$extension = getExtension($filename);
$extension = strtolower($extension);
// if it is not a known extension, we will suppose it is an error, print an error message
//and will not upload the file, otherwise we continue
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png"))
{
echo '<h1>Unknown extension!</h1>';
$errors=1;
}
else
{
// get the size of the image in bytes
// $_FILES[\\'image\\'][\\'tmp_name\\'] is the temporary filename of the file in which the uploaded file was stored on the server
$size=getimagesize($_FILES['image']['tmp_name']);
$sizekb=filesize($_FILES['image']['tmp_name']);

//compare the size with the maxim size we defined and print error if bigger
if ($sizekb > MAX_SIZE*2024)
{
echo '<h1>You have exceeded the size limit!</h1>';
$errors=1;
}

//we will give an unique name, for example the time in unix time format
$image_name=time().'.'.$extension;
//the new name will be containing the full path where will be stored (images folder)
$newname="images/".$image_name;
$copied = copy($_FILES['image']['tmp_name'], $newname);
//we verify if the image has been uploaded, and print error instead
if (!$copied)
{
echo '<h1>Copy unsuccessfull!</h1>';
$errors=1;
}
else
{
// the new thumbnail image will be placed in images/thumbs/ folder
$thumb_name='images/thumbs/'.$image_name;
// call the function that will create the thumbnail. The function will get as parameters
//the image name, the thumbnail name and the width and height desired for the thumbnail
$thumb=make_thumb($newname,$thumb_name,WIDTH,HEIGHT);
}} }}

//If no errors registred, print the success message and show the thumbnail image created
if(isset($_POST['Submit']) && !$errors)

//If no errors registred, print the success message and show the thumbnail image created


  $id = $_POST['id'] ;
    $name = $_POST['name'];
    $location = $_POST['location'];
    $date_of_birth = $_POST['date_of_birth'];
    $car_number = $_POST['car_number'];
    $favourite_track = $_POST['favourite_track'];
    $least_favourite_track = $_POST['least_favourite_track'];
    $achievements = $_POST['achievements'];
    $sponsors = $_POST['sponsors'];    
    $email = $_POST['email'];    
    
$query = "UPDATE driversnew SET name = '$name', location = '$location', date_of_birth='$date_of_birth', car_number='$car_number', favourite_track='$favourite_track', least_favourite_track='$least_favourite_track', achievements='$achievements', sponsors='$sponsors', email='$email', image_name='$image_name' WHERE id = '$id'";

mysql_query($query);

echo '<pre>';
var_dump($_FILES);
echo '</pre>'; 



echo "<h1>Thumbnail created Successfully!</h1>";
echo '<img src="'.$image_name.'">';
echo ''.$name.''; echo'<br />';
echo ''.$newname.'';




?>

If all you are looking to do is update then all you would need to do is perform the move_uploaded_file and give the location and filename the same name as the existing one. This function will automatically overwrite the existing image. There is no need to perform the unlink part. This would also mean that there would be no need to change the filename in the database.

You don’t need to set it at all as you set it earlier in the script. Just delete that line and then give it another go.

You can use unlink() to delete the physical image file from disk.

the === means that the variable is equal in value and type to the following data so in this case

if($_FILES['image']['error'] === 0)

we are checking that the error is equal to an integer of 0 as in PHP 0 can also mean false.

You are not inserting a new image because there is no INSERT SQL query.

Anyway, I think that you are getting confused as your script is getting quite large now. Firstly why are the $_POST variables back? Didn’t you change them to $_GET previously? You need to bring some sort of structure to your code otherwise you are never going to solve this problem. Use the following comments as a guide to place your code and then see how you get on. Make sure that you are using the right super globals ($_POST or $_GET) where appropriate.

// ----------------------------
//PLACE ALL OF YOUR DEFINES HERE

// ----------------------------


// ----------------------------
//PLACE YOUR FUNCTIONS HERE

// ----------------------------


// ----------------------------
//PLACE YOUR INCLUDES HERE

// ----------------------------


// ----------------------------
//THIS IS WHERE WE WILL START OUR CODE

// Start with an if statement to check whether the form has been submitted
if($_GET['Submit']){

  // Check if there has been a file uploaded
  if($_FILES['image']['tmp_name'] && $_FILES['image']['error'] === 0){
    // A file has been uploaded so check whether a file reference already exists in the database
    $query = "SELECT .......";
    $result = mysql_query($query);
    if($result){
      // There is an existing image
      // Unlink the image

      // Save the file using your functions

      // Create an UPDATE query to update the database

    } else {
      // There is no existing image
      // Save the file using your functions

      // Create an INSERT query to add the details to your database

  } else {
    // No file uploaded so do nothing
  }

} else {
  // No form submitted so do nothing
}

// ----------------------------

If you follow this, you should have no problems.

to _GET last question fo rthe night sorry

Yes.

ohh and what i am trying to achive is a form where the user can update from the form that includes replace image frm the directory and the name

Thanks this is the updateaction.php script and the updateform.php which both together do the update fine and the last one is the upload that i want to insert on the updateaction.php

updateform.php


<?php
define('ROOT_DIR', './');
define('THIS_SCRIPT', 'news');
define('PROPER', TRUE);
/**
* include common files
*/
include_once(ROOT_DIR. 'includes/common.inc.php');

?>

<?php 

// query to get records 
    $id = $_GET['id'] ;


// create query to delete record 

$query = "SELECT  id, name,    location, date_of_birth, car_number, favourite_track, least_favourite_track, achievements, sponsors, email,    image FROM driversnew WHERE id = '$id' ";
//Run the query
$result = mysql_query($query);

//see if any rows were returned 
if (mysql_num_rows($result) > 0) {  // yes - Display Form
  $row = mysql_fetch_array($result); //Fetch the row
  
  //Display the form with original values 
?>        
  <form action = 'modifydriveraction.php' method="GET"  enctype="multipart/form-data">
  <p>ID: <input  readonly="yes" name="id" type="text" value=<?php print $row["id"] ?> size="5" >
  This has been made 'readonly' as cannot amend key field </p>
   <p>name: <input type="text" cols="40" rows="1" name="name" value=<?php print $row["name"] ?> ></p>
   <p>location: <input type="text" name="location" value=<?php print $row["location"] ?> ></p>
   <p>DoB: <input type="text" name="date_of_birth" value=<?php print $row["date_of_birth"] ?> ></p>
     <p>Car N: <input type="text" cols="40" rows="1" name="car_number" value=<?php print $row["car_number"] ?> ></p>
   <p>FavTr: <input type="text" name="favourite_track" value=<?php print $row["favourite_track"] ?> ></p>
   <p>LeastFavTr: <input type="text" name="least_favourite_track" value=<?php print $row["least_favourite_track"] ?> ></p>
     <p>Achiev: <input type="text" cols="40" rows="1" name="achievements" value=<?php print $row["achievements"] ?> ></p>
   <p>Sponsor: <input type="text" name="sponsors" value=<?php print $row["sponsors"] ?> ></p>
    <p>Email: <input type="text" cols="40" rows="1" name="email" value=<?php print $row["email"] ?> ></p>
      <p>image: <input type="file" name="image" value=<?php print $row["image"] ?> ></p>
      <?php echo '<td><img class="picture" src="images/' . $row['image'] . ' " width="120"  height="120 " /></td> '; ?>


    <p><input type="submit" value="Submit" name="Update" > </p>
  </form>        
<?php         
 } //End if rows returned
   //No rows returned
   else  print "No records were found";
?> 
</body> 
</html>
  

updateaction.php

<?php
define('ROOT_DIR', './');
define('THIS_SCRIPT', 'news');
define('PROPER', TRUE);
/**
* include common files
*/
include_once(ROOT_DIR. 'includes/common.inc.php');

    $id = $_GET['id']; 
    $name = $_GET['name'];
    $location = $_GET['location'];
    $date_of_birth = $_GET['date_of_birth'];
    $car_number = $_GET['car_number'];
    $favourite_track = $_GET['favourite_track'];
    $least_favourite_track = $_GET['least_favourite_track'];
    $achievements = $_GET['achievements'];
    $sponsors = $_GET['sponsors'];    
    $email = $_GET['email'];    
    $image  = $_GET['image'];

    
$query = "UPDATE driversnew SET name = '$name', location = '$location', date_of_birth='$date_of_birth', car_number='$car_number', favourite_track='$favourite_track', least_favourite_track='$least_favourite_track', achievements='$achievements', sponsors='$sponsors', email='$email', image='$image' WHERE id = '$id'";


mysql_query($query) or die(mysql_error()); 
// execute query 
 $result = mysql_query($query) ;
 //if there was a problem - get the error message and go back 
 if (!$result)
  {
     echo "There were errors :<br>". mysql_error();
  } 
  else //OK, then the insertion was successful
  
  {
    
print "<p>The following records has been updated:  </p>";

    //Create a new query to display the new row in a table
    $query = "SELECT id, name, location, date_of_birth, car_number, favourite_track, least_favourite_track, achievements, sponsors, email, image FROM driversnew WHERE id = '$id' ";    $result = mysql_query($query) or die ("Error in query: $query. ".mysql_error()); 
    echo "<table cellpadding=10 border=1>";  
    while($row = mysql_fetch_array($result)) { 
          echo "<tr>"; 
     echo "<td>".$row["id"]."</td>";
     echo "<td><strong>" .$row["name"]."</strong></td>";
     echo "<td><strong>".$row["location"]."</strong></td>"; 
     echo "<td><strong>" .$row["date_of_birth"]."</strong></td>";
     echo "<td><strong>".$row["car_number"]."</strong></td>";
     echo "<td><strong>" .$row["favourite_track"]."</strong></td>";
     echo "<td><strong>".$row["least_favourite_track"]."</strong></td>"; 
     echo "<td><strong>" .$row["achievements"]."</strong></td>";
     echo "<td><strong>".$row["sponsors"]."</strong></td>";
     echo "<td><strong>" .$row["email"]."</strong></td>";
     echo "<td><strong>".$row["image"]."</strong></td>"; 
     echo "</tr>"; 
    } //End while
    echo "</table>"; 
   } //End Else insertion successful
//End else successful Amendment     

?>

and this is the upload script which also work fine with its own form

uploadaction.php

<?php
define('ROOT_DIR', './');
define('THIS_SCRIPT', 'news');
define('PROPER', TRUE);
/**
* include common files
*/
include_once(ROOT_DIR. 'includes/common.inc.php');

//define a maxim size for the uploaded images
define ("MAX_SIZE","100");
// define the width and height for the thumbnail
// note that theese dimmensions are considered the maximum dimmension and are not fixed,
// because we have to keep the image ratio intact or it will be deformed
define ("WIDTH","150");
define ("HEIGHT","100");

// this is the function that will create the thumbnail image from the uploaded image
// the resize will be done considering the width and height defined, but without deforming the image
function make_thumb($img_name,$filename,$new_w,$new_h)
{
//get image extension.
$ext=getExtension($img_name);
//creates the new image using the appropriate function from gd library
if(!strcmp("jpg",$ext) || !strcmp("jpeg",$ext))
$src_img=imagecreatefromjpeg($img_name);

if(!strcmp("png",$ext))
$src_img=imagecreatefrompng($img_name);

//gets the dimmensions of the image
$old_x=imageSX($src_img);
$old_y=imageSY($src_img);

// next we will calculate the new dimmensions for the thumbnail image
// the next steps will be taken:
// 1. calculate the ratio by dividing the old dimmensions with the new ones
// 2. if the ratio for the width is higher, the width will remain the one define in WIDTH variable
// and the height will be calculated so the image ratio will not change
// 3. otherwise we will use the height ratio for the image
// as a result, only one of the dimmensions will be from the fixed ones
$ratio1=$old_x/$new_w;
$ratio2=$old_y/$new_h;
if($ratio1>$ratio2) {
$thumb_w=$new_w;
$thumb_h=$old_y/$ratio1;
}
else {
$thumb_h=$new_h;
$thumb_w=$old_x/$ratio2;
}

// we create a new image with the new dimmensions
$dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);

// resize the big image to the new created one
imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);

// output the created image to the file. Now we will have the thumbnail into the file named by $filename
if(!strcmp("png",$ext))
imagepng($dst_img,$filename);
else
imagejpeg($dst_img,$filename);

//destroys source and destination images.
imagedestroy($dst_img);
imagedestroy($src_img);
}

// This function reads the extension of the file.
// It is used to determine if the file is an image by checking the extension.
function getExtension($str) {
$i = strrpos($str,".");
if (!$i) { return ""; }
$l = strlen($str) - $i;
$ext = substr($str,$i+1,$l);
return $ext;
}

// This variable is used as a flag. The value is initialized with 0 (meaning no error found)
//and it will be changed to 1 if an errro occures. If the error occures the file will not be uploaded.
$errors=0;
// checks if the form has been submitted
if(isset($_POST['Submit']))
{
//reads the name of the file the user submitted for uploading
$image=$_FILES['image']['name'];
// if it is not empty
if ($image)
{
// get the original name of the file from the clients machine
$filename = stripslashes($_FILES['image']['name']);

// get the extension of the file in a lower case format
$extension = getExtension($filename);
$extension = strtolower($extension);
// if it is not a known extension, we will suppose it is an error, print an error message
//and will not upload the file, otherwise we continue
if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png"))
{
echo '<h1>Unknown extension!</h1>';
$errors=1;
}
else
{
// get the size of the image in bytes
// $_FILES[\\'image\\'][\\'tmp_name\\'] is the temporary filename of the file in which the uploaded file was stored on the server
$size=getimagesize($_FILES['image']['tmp_name']);
$sizekb=filesize($_FILES['image']['tmp_name']);

//compare the size with the maxim size we defined and print error if bigger
if ($sizekb > MAX_SIZE*2024)
{
echo '<h1>You have exceeded the size limit!</h1>';
$errors=1;
}

//we will give an unique name, for example the time in unix time format
$image_name=time().'.'.$extension;
//the new name will be containing the full path where will be stored (images folder)
$newname="images/".$image_name;
$copied = copy($_FILES['image']['tmp_name'], $newname);
//we verify if the image has been uploaded, and print error instead
if (!$copied)
{
echo '<h1>Copy unsuccessfull!</h1>';
$errors=1;
}
else
{
// the new thumbnail image will be placed in images/thumbs/ folder
$thumb_name='images/thumbs/'.$image_name;
// call the function that will create the thumbnail. The function will get as parameters
//the image name, the thumbnail name and the width and height desired for the thumbnail
$thumb=make_thumb($newname,$thumb_name,WIDTH,HEIGHT);
}} }}

//If no errors registred, print the success message and show the thumbnail image created
if(isset($_POST['Submit']) && !$errors)
{



mysql_query("INSERT INTO driversnew (id, name, location, date_of_birth, car_number,
   favourite_track, least_favourite_track, achievements, sponsors, email, image)
VALUES ('$_POST[id]', '$_POST[name]', '$_POST[location]','$_POST[date_of_birth]', '$_POST[car_number]','$_POST[favourite_track]', '$_POST[least_favourite_track]','$_POST[achievements]', '$_POST[sponsors]','$_POST[email]', '$image_name')");




echo "<h1>Thumbnail created Successfully!</h1>";
echo '<img src="'.$thumb_name.'">';
echo ''.$newname.'';
}

?>

Yes no problem.

Nope didnt work!! ok i have a clean update form for the same table that works fine but on this one it doesnt have the upload script part i’m even scare to put the upload part so it doenst mess it up can i post both seperate and put them together so u’ll know at least where i went wrong with this one??