|
Posted by eholz1 on 03/08/07 17:31
Hello PHP,
I am having a problem. I know the area of the problem, but not how to
solve it.
It has to do with a php page with a form on it, and I am trying to
perform an insert query into
my mysql database.
I know that when I "submit" (post) the form, everything goes blank,
and the insert query is not run.
Basically here is my story. Initially I had a page with all in-line
code, that uses includes for connection to the db, and a error
processing page. I also have another include page that has some
functions in it, one of which is for resizing images. That function,
cleverly named resizeImage returns a down-sized height and width,
which get loaded into the database table, along with info on the image
itself (name, location,etc).
this page has php code which reads a directory, finds jpeg images,
does a resizeImage for each image (in a for loop), and then performs
the insert query for each image. I would run the whole thing just by
loading the page (no form tags on this page). Everything works fine,
I call the resizeImage function from the fileloader.php page, the
function is in a page called size_image.php (I use a require for
this).
I decided that I would like to add some flexibility to this page and
create a form where I could enter a parameter (an integer), and click
a button, which would then run this same insert query, and the
resizeImage function, and then tell me if I inserted the records.
I am using a if(isset($_REQUEST['update'])) type construct to respond
to the button click (named 'update').
and use the POST action and $_SERVER[PHP_SELF] as the form.
When I click the button, most of the page runs, and then all goes
blank in the browser, and the records are not inserted into the
database. I am guessing that something in the post blitzes my
variables, etc, so the query never runs, etc.
Below is some of the code in the page - I have an input box for the
parameter, and a button to run the function. I would appreciate any
suggestions.
Thanks,
eholz1
Code below:
<?php
@require_once '/usr/local/php/include/size_image.php';
include '/usr/local/php/include/db.inc';
include '/usr/local/php/include/error.inc';
global $dbconnect, $query;
$p = $_REQUEST["p"];
if(isset($_POST['update']))
{
performLoad($p);
//echo "value for post is: $p";
} else {
echo 'Post not set';
}
$serverName = $_SERVER["SERVER_NAME"];
if ($serverName != 'beaulinux')
{
//connection files for mysql
@include 'c:/php/includes/db.inc';
@include 'c:/php/includes/error.inc';
@require_once 'c:/php/includes/size_image.php';
}else{
@include '/usr/local/php/include/db.inc';
@include '/usr/local/php/include/error.inc';
}
$dbconnect = db_connect('portfolios') or trigger_error("Error
Connecting to Database: " . mysql_error(), E_USER_ERROR);
function performLoad($p)
{
$filecount = 0;
$filelist[0] = '';
$idx = 0;
$query = 0;
$path = 'testimage';
$dir_handle = @opendir($path) or die("Unable to open directory
$path");
/*** Load an array with the list of files in the dir ***/
while ($file = readdir($dir_handle))
{
//$filetyp =getFileType($file); no good for all images???OR $filetyp
== 'gif'
$filetyp = strtolower(substr($file, -3));
if ($filetyp == 'jpg' )
{
$filecount++;
//***$handle = fopen($path . "/" . $file,'r');
$filelist[$idx] = $path . "/" . $file; //add file to array
//echo $filelist[$idx];
$idx++;
//***$file_content = fread($handle,filesize($path . "/" . $file));
//***fclose($handle);
}
}
closedir($dir_handle);
// now read the array, and load the files into the database....
for ($i=0; $i < $filecount; ++$i)
{
list($width, $height, $type, $attr) = getimagesize($filelist[$i]);
if ($type == 2) $filetype = 'image/jpeg';
$n_width = resizeImage($width,$height);
$name = explode('/',$filelist[$i]);
$filesize = filesize($filelist[$i]);
//echo $name[1] . ' '. $n_width[0] . ' height: ' .
$n_width[1].'<br>';
$insertSQL = "INSERT INTO images3
(name,folder,type,filesize,orig_width,orig_height,resize_width,resize_height,p)
VALUES(\"" .
$name[1]."\", \"" .$path. "\", \"" .$filetype . "\", \"" .
$filesize . "\", \"" .
$width. "\", \"" .$height. "\", \"" .$n_width[0]. "\", \"" .
$n_width[1]. "\", \"" . "$p" . "\")";
/*** remember to comment or un-coment this line!! ***/
//$query = @mysql_query($insertSQL) or trigger_error("Error
performing query: " . mysql_error(),E_USER_ERROR);
//table is loaded with the files using a resized width by bad
height
}
} //end func place holder
?>
[Back to original message]
|