You are here: mysql and php with form « PHP Language « IT news, forums, messages
mysql and php with form

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
?>

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация