Page 1 of 1

$id variable/record passed to new page, BUT...

Posted: Wed Jul 11, 2007 5:07 pm
by gregorious
I am building a CMS for real estate company and almost done, except for:

The CMS presents a list of properties of existing record for editing; the ADMIN SELECTS a property (the $id [variable/record] is passed to the EDIT page). The EDIT page allows editing of the property, but also provides a link to ADD A PHOTO to the property, the ADMIN clicks on the link (the $id [variable/record] is passed to the ADD PHOTO page). At the top of the ADD PHOTO page there is a PHP/MYSQL "$select=mysql_query", it handles the $id [variable/record] and gets the property data and displays some brief info on the property to acknowledge the property being EDITED. Great!

On the same page, just below the above, I start my UPLOAD / FILENAME / IMAGECOPYRESAMPLED / SAVE code <-- here is the hitch, this area of page code does not remember the $id [variable/record] that was passed to it from the previous pages. I could use the record$id in the image FILENAME and else where; but the $id is lost to this second body of code.

The UPLOAD / FILENAME / IMAGECOPYRESAMPLED / SAVE code starts --> if (isset($_POST['uploadimage'])){ ...yada yada... and goes to }else{ , the $id [variable/record] works again, so what am I missing?

Thanks in advance,
Greg

Posted: Wed Jul 11, 2007 5:18 pm
by feyd
It's darn near impossible to tell you what's wrong without showing us the code.

Page code below.

Posted: Wed Jul 11, 2007 6:07 pm
by gregorious
feyd | Please use

Code: Select all

,

Code: Select all

and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]


Page code below.

Code: Select all

<?php @require_once('../includes/connect.php'); ?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Real Estate Professionals</title>
<link href="res.css" rel="stylesheet" type="text/css">
</head>

<body>

		 
<table width="760" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td align="center"><table width="760" border="0" cellspacing="0" cellpadding="10">
  <tr>
    <td width="100" bgcolor="#00833D">&nbsp;</td>
    <td width="500" background="../images/bkgd_ltgray50x2000.jpg">
	<table width="500" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td><div align="center"><span class="listing01"> <span class="body01"><strong><br>
          </strong></span></span><span class="head01">UPLOAD RESIDENTIAL PICTURE</span>
		  <span class="listing01"><span class="body01"><strong><br>
          </strong></span>< back to <a href="admin.php">admin</a>&nbsp;&nbsp; - 
		  &nbsp;&nbsp;exit to <a href="../index.htm">website</a> ><br>
          </span><br>
          <img src="../images/spacer-grn.jpg" width="10" height="10"> &nbsp; 
		  <img src="../images/spacer-grn.jpg" width="10" height="10"> &nbsp; 
		  <img src="../images/spacer-grn.jpg" width="10" height="10"> </div>
              </p></td>
      </tr>
    </table>
        </td>
    <td width="100" bgcolor="#393989">&nbsp;</td>
  </tr>
</table>

<table width="760" border="0" cellspacing="0" cellpadding="10">
  <tr align="left" valign="bottom">
    <td width="100" bgcolor="#00833D">&nbsp;</td>
    <td width="500">
		<?php
           $resselect = @mysql_query("SELECT 
		           res_street01,
		           res_city,
		           res_state,
		           res_zip,
		           res_price,
		           res_status,		           
		           res_type
		              FROM residential WHERE  res_id='$id'");
            if (!$resselect) {
            echo("Error SELECTING data from database!<br><br>" .
            	"<br> />Error: " . mysql_error() . "</p>");
            exit();
            }

            while ($resarray = mysql_fetch_array($resselect)) {												
            	$resstreet01 = htmlspecialchars($resarray["res_street01"]);
            	$rescity = htmlspecialchars($resarray["res_city"]);
            	$resstate = htmlspecialchars($resarray["res_state"]);
            	$reszip = htmlspecialchars($resarray["res_zip"]);
            	$resstatus = htmlspecialchars($resarray["res_status"]); 				 
				$resprice = htmlspecialchars($resarray["res_price"]);           	
            	$restype = htmlspecialchars($resarray["res_type"]);          	
				}
				
           $imgselect = @mysql_query("SELECT 
		           image_tmb_name,
		           image_tmb_path,
		           image_tmb_width,
		           image_tmb_height
		              FROM image WHERE image_res_id='$id'");
            if (!$imgselect) {
            echo("Error SELECTING data from database!<br><br>" .
            	"<br> />Error: " . mysql_error() . "</p>");
            exit();
            }

            while ($resarray2 = mysql_fetch_array($imgselect)) {												
            	$imagetmbname = htmlspecialchars($imgarray["image_tmb_name"]);
            	$imagetmbpath = htmlspecialchars($imgarray["image_tmb_path"]); 				 
				$imagetmbwidth = htmlspecialchars($imgarray["image_tmb_width"]);           	
            	$imagetmbheight = htmlspecialchars($imgarray["image_tmb_height"]);            	
				}				
       ?> 
	  <table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
            <tr>
              <td width="250" align="right" valign="top">
	  <table width="220" border="0" align="right" cellpadding="0" cellspacing="10">
            <tr>
              <td align="left" valign="top"><hr align="left" width="180" size="1" noshade>
			  <span class="caption_cap">Record Id&nbsp;&nbsp; <?php echo $id; ?></span><br>          
                <span class="listing01"><strong><?php echo $restype ;?></strong><br>
                  <?php echo $resstreet01 ;?><br>
                  <?php echo $rescity ;?>&nbsp;&nbsp;
                  <?php echo $resstate ;?>&nbsp;&nbsp;<?php echo $reszip ;?><br>
                  <br>
                  <?php echo $resstatus ;?><br>
                  <?php echo $resprice ;?></span>
                <hr align="left" width="180" size="1" noshade>
                <br><span class="listing01">Use the <b>BROWSE</b> button below to select an 
			    PICTURE to be uploaded to your website.<br>
			    <br>
			    Only <b>JPG</b>, <b>GIF</b>, and <b>PNG</b> 
			    PICTURES under 1.7 MB in file size can be uploaded.</span><br>
                
		     </td>
            </tr>
          </table> 
			  </td>            
              <td width="250" align="left" valign="top">
			  <table width="250" border="0" cellpadding="0" cellspacing="0">
                <tr>
                  <td width="125" align="left" valign="top"><span class="caption_cap">PICTURE 01<br>
                    <img src="../images/arrow-down.gif" width="9" height="9"> 
					<span class="listing01">[<strong>DELETE</strong>]</span><br>
                  </span></td>
                  <td width="125" align="left" valign="top"><span class="caption_cap">PICTURE 02<br>
                  </span></td>
                </tr>
                <tr>
                  <td align="left" valign="top"><img src="../<?php echo $imagetmbpath ;?><?php echo $imagetmbname ;?>" 
				  width="<?php echo $imagetmbwidth ;?>" height="<?php echo $imagetmbheight ;?>" border="1"><br></td>
                  <td align="left" valign="top"><img src="../images/tmb-spacer-gry90.jpg" width="90" height="90" border="1"></td>
                </tr>
                <tr>
                  <td align="left" valign="middle">&nbsp;</td>
                  <td align="left" valign="middle">&nbsp;</td>
                </tr>
                <tr>
                  <td align="left" valign="top"><span class="caption_cap">PICTURE 03<br>
                    <br>
                  </span></td>
                  <td align="left" valign="top"><span class="caption_cap">PICTURE 04<br>
                  </span></td>
                </tr>
                <tr>
                  <td align="left" valign="top"><img src="../images/tmb-spacer-gry90.jpg" width="90" height="90" border="1"></td>
                  <td align="left" valign="top"><img src="../images/tmb-spacer-gry90.jpg" width="90" height="90" border="1"></td>
                </tr>
         </table>
		     </td>
            </tr>
          </table>               
        <blockquote> 

    <?php
    //load the config file
    include("../includes/images-config.php");

    //if the for has submittedd
    if (isset($_POST['uploadimage'])){
    
           $file_type = $_FILES['imgfile']['type'];
           $file_name = $_FILES['imgfile']['name'];
           $file_size = $_FILES['imgfile']['size'];
           $file_tmp = $_FILES['imgfile']['tmp_name'];

           //check if you have selected a file.
           if(!is_uploaded_file($file_tmp)){
              echo "<br><br><span class='listing01'>Either the PICTURE you tried to upload <br>
              exceeds the 1.7 megabyte size limit, <br><br>or <br><br>
              you did not select an PICTURE to upload!
              <br><br><br><a href=\"$_SERVER[PHP_SELF]\">back</a></span><br><br><br><br>";
              exit(); //exit the script and don't do anything else.
           }

           //check file extension
           $ext = strrchr($file_name,'.');
           $ext = strtolower($ext);
           if (($extlimit == "yes") && (!in_array($ext,$limitedext))) {
              echo "<br><br><br><span class='listing01'>You tried to submit a invalid file type; <br>
              (only gif, jpg, png, and jpeg IMAGES are allowed).<br><br><br>
              <a href=\"$_SERVER[PHP_SELF]\">back</a></span><br><br><br><br>";
              exit(); //exit the script and don't do anything else.
           }

           //get the file extension.
           $getExt = explode ('.', $file_name);
           $file_ext = $getExt[count($getExt)-1];
    
           //create a random file name
           $rand_name = md5(time());
           $rand_name = rand(0,999999999);
           
// RESIDENTIAL THUMBNAIL ------------------------------------------------------------
           //keep image type
           if($file_size){
               if($file_type == "image/pjpeg" || $file_type == "image/jpeg"){
                   $tmb_new_img = imagecreatefromjpeg($file_tmp);
               }elseif($file_type == "image/jpeg" || $file_type == "image/jpg"){
                   $tmb_new_img = imagecreatefromjpeg($file_tmp);				                   
               }elseif($file_type == "image/x-png" || $file_type == "image/png"){
                   $tmb_new_img = imagecreatefrompng($file_tmp);
               }elseif($file_type == "image/gif"){
                   $tmb_new_img = imagecreatefromgif($file_tmp);
               }

           //get the new width variable.
           $tmbwidth = $img_residential_tmb_width;

               //list width and height and keep height ratio.
               list($width, $height) = getimagesize($file_tmp);
               $imgratio=$width/$height;
               if ($imgratio>1){
                  $newtmbwidth = $tmbwidth;
                  $newtmbheight = $tmbwidth/$imgratio;
               }else{
                     $newtmbheight = $tmbwidth;
                     $newtmbwidth = $tmbwidth*$imgratio;
               }
               //function for resize image.
               if (function_exists(imagecreatetruecolor)){
               $tmb_resized_img = imagecreatetruecolor($newtmbwidth,$newtmbheight);
               }else{
                     die("Error: Please make sure you have GD library ver 2+");
               }
               imagecopyResampled($tmb_resized_img, $tmb_new_img, 0, 0, 0, 0, $newtmbwidth, $newtmbheight, $width, $height);             
 
			   // explode it to get the extention 
			   $parts = explode(".", $rand_name); 
			   $tmb_name = 'tmb-'.$parts[0].$parts[1];
               //save image			   
               ImageJpeg ($tmb_resized_img,"../$path_residential_tmbs/$tmb_name.$file_ext");
               ImageDestroy ($tmb_resized_img);
               ImageDestroy ($tmb_new_img);
            }

// RESIDENTIAL IMAGE ------------------------------------------------------------

            //keep image type
           if($file_size){
               if($file_type == "image/pjpeg" || $file_type == "image/jpeg"){
                   $pic_new_img = imagecreatefromjpeg($file_tmp);
               }elseif($file_type == "image/jpeg" || $file_type == "image/jpg"){
                   $pic_new_img = imagecreatefromjpeg($file_tmp);                   
               }elseif($file_type == "image/x-png" || $file_type == "image/png"){
                   $pic_new_img = imagecreatefrompng($file_tmp);
               }elseif($file_type == "image/gif"){
                   $pic_new_img = imagecreatefromgif($file_tmp);
               }

           //get the new width variable.
           $picwidth = $img_residential_pic_width;

               //list width and height and keep height ratio.
               list($width, $height) = getimagesize($file_tmp);
               $imgratio=$width/$height;
               if ($imgratio>1){
                  $newpicwidth = $picwidth;
                  $newpicheight = $picwidth/$imgratio;
               }else{
                     $newpicheight = $picwidth;
                     $newpicwidth = $picwidth*$imgratio;
               }
               //function for resize image.
               if (function_exists(imagecreatetruecolor)){
               $pic_resized_img = imagecreatetruecolor($newpicwidth,$newpicheight);
               }else{
                     die("Error: Please make sure you have GD library ver 2+");
               }
               imagecopyResampled($pic_resized_img, $pic_new_img, 0, 0, 0, 0, $newpicwidth, $newpicheight, $width, $height);
 
			   // explode it to get the extention 
			   $parts = explode(".", $rand_name); 
			   $pic_name = 'pic-'.$parts[0].$parts[1];
               //save image	
               ImageJpeg ($pic_resized_img,"../$path_residential_pics/$pic_name.$file_ext");
               ImageDestroy ($pic_resized_img);
               ImageDestroy ($pic_new_img);
            }

		$sqlinsert = "INSERT INTO image SET 
                         image_res_id='$id',		
                         image_pic_name='$pic_name.$file_ext',
                         image_pic_path='$path_residential_pics',
                         image_pic_width='$newpicwidth',
                         image_pic_height='$newpicheight',
                         image_tmb_name='$tmb_name.$file_ext',                         
                         image_tmb_path='$path_residential_tmbs',
                         image_tmb_width='$newtmbwidth',
                         image_tmb_height='$newtmbheight'";                       
		if (@!mysql_query($sqlinsert)) {
			echo("<p>Error INSERTING data to database: " . mysql_error() . "</p>\n</body>\n</html>");
			exit();
		}
            echo "<div align='center'><br><br><br>Residential IMAGE uploaded!</div><br><br><br>";

    }else{


   echo   "<span class='listing01'>
		    Then click the <strong>SAVE</strong> button to send a PICTURE to your website
		   (the upload process may take a few minutes, pleaae wait).<br><br><br>";

   echo   "<script>
            function view_img(img_name){
               document[img_name].src = uploadimage.imgfile.value;
                  document[img_name].width = 150;
            }
            </script>

          <form action='$_SERVER[PHP_SELF]' method='post' 
          name='uploadimage' enctype='multipart/form-data'>

           <input name='id' type='hidden' value='$id' />
//edited to show source of error and correct value
// was <input name='id' type='hidden' value='<?php echo $id ?>' /> 
          <input type='hidden' name='MAX_FILE_SIZE' value='1700000'>

          <span class='caption_cap'>Select Picture:</span><br>
          <input type='file' name='imgfile' size='45' class='body01' 
          onchange=\"javascript:view_img('img_vv');\"><br>
          <br>

        <div align='center'><input type='submit' name='uploadimage' value=' SAVE '>
		<br><br><br>
        <img src='' name='img_vv' width='0'></div>
          </form>"; }
    ?>
</blockquote>



 <table width="500" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td><table width="500" border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td><div align="center"> <span class="body01">
				 <img src="../images/spacer-grn.jpg" width="10" height="10"> &nbsp;
				 <img src="../images/spacer-grn.jpg" width="10" height="10"> &nbsp; 
				 <img src="../images/spacer-grn.jpg" width="10" height="10"> <br>
                          <br>
                          <?php @require_once('../includes/copyright.php'); ?>
                    </span><br>
                    <br>
                </div></td>
              </tr>
            </table></td>
          </tr>
        </table>
		
		</td>
    <td width="100" bgcolor="#393989">&nbsp;</td>
  </tr>
</table>

</td>
</tr>
</table>
<p>&nbsp;</p>
</body>
</html>
<?php mysql_close() ?>

feyd | Please use

Code: Select all

,

Code: Select all

and [syntax="..."] tags where appropriate when posting code. Your post has been edited to reflect how we'd like it posted. Please read:  [url=http://forums.devnetwork.net/viewtopic.php?t=21171]Posting Code in the Forums[/url] to learn how to do it too.[/color]

just a assumtption

Posted: Wed Jul 11, 2007 6:58 pm
by gregorious
I assume there is something like "VARIABLE SCOPE" that prevents the $id [variable/record] from working in the "UPLOAD / FILENAME / IMAGECOPYRESAMPLED / SAVE" portion of code that begins:

Code: Select all

<?php 
    //load the config file 
    include("../includes/images-config.php"); 

    //if the for has submittedd 
    if (isset($_POST['uploadimage'])){
after,

Code: Select all

} 
            echo "<div align='center'><br><br><br>Residential IMAGE uploaded!</div><br><br><br>"; 

    }else{
the $id [variable/record] works again. I am one year old PHP coder, and this one has me stumped.

Greg

almost there over the hump

Posted: Thu Jul 12, 2007 7:48 am
by gregorious
Getting the global variable to work inside of the local IF statement is the challenge; and I finally got it to show up by adding the $_POST line at the beginning of the local IF statement.

However, I get an ERROR (that contains the record id 10, which is good), <?php echo 10 ;?> but the error also shows the code I used outside of the local IF statement to ECHO the record.

Code: Select all

<?php
    //load the config file
    include("../includes/images-config.php");

    //if the for has submittedd
    if (isset($_POST['uploadimage'])){
           $id = $_POST['id'];
Error that contains variable/record $id (10).

Code: Select all

Warning: imagejpeg() [function.imagejpeg]: Unable to open 
'../images/residential/pic-<?php echo 10; ?>-108093261.jpg' 
for writing: Invalid argument in d:\www\realty\admin\
add_residential_image01.php on line 270
I just need to pass the global variable $id into the local IF statment without the <?php echo ;?> code.

Thanks in advance for any help.
Greg

Line 270 is just below

Posted: Thu Jul 12, 2007 9:48 am
by gregorious
Line 270 is just below the "save image" comment line, my goal here is to insert the record ID into the file name of the IMAGE. But I am getting <?php echo 10 ;?> instead of just the record number 10.

Code: Select all

// explode it to get the extention 
$parts = explode(".", $rand_name); 
$pic_name = 'pic-'.$id.'-'.$parts[0].$parts[1]; 
//save image 
ImageJpeg ($pic_resized_img,"../$path_residential_pics$pic_name.$file_ext");
ImageDestroy ($pic_resized_img);
ImageDestroy ($pic_new_img);
}

Problem resolved

Posted: Thu Jul 12, 2007 10:37 am
by gregorious
I was told to put in the hidden value for $id into the form after the orignal post - except I also included the full <?php echo ?> command too.

Code: Select all

<input name='id' type='hidden' value='$id' />
//edited to show source of error and correct value
// was <input name='id' type='hidden' value='<?php echo $id ?>' />
ugh! oh, good greif.
I feel like such a blockhead.