Page 1 of 1

Image from db displaying x

Posted: Thu Aug 20, 2009 2:30 pm
by tobimichigan
Guys I'm wondering what the hec is wrong with this line=><?php echo "<img src=?pid width=144>";? that is not displaying my longblob image in my db, what the hec's wrong with it? Can some please point?

Code: Select all

if ($_REQUEST['completed'] == 1) {
        // Need to add - check for large upload. Otherwise the code
        // will just duplicate old file ;-)
        // ALSO - note that latest.img must be public write and in a
        // live appliaction should be in another (safe!) directory.
        move_uploaded_file($_FILES['imagefile']['tmp_name'],"latest.img");
        $instr = fopen("latest.img","rb");
        $image = addslashes(fread($instr,filesize("latest.img")));
        if (strlen($instr) < 149000) {
                mysql_query ("insert into pix (title, imgdata) values (\"".
                $_REQUEST['whatsit'].
                "\", \"".
                $image.
                "\")");
        } else {
                $errmsg = "Too large!";
        }
}
 
 
 
 
// Find out about latest image
 
$gotten = @mysql_query("select * from pix order by pid desc limit 1");
if ($row = @mysql_fetch_assoc('$gotten')) {
        $title = htmlspecialchars($row['title']);
        $bytes = $row['imgdata'];
} else {
        $errmsg = "There is no image in the database yet";
        $title = "no database image available";
        // Put up a picture of our training centre
        //$instr = fopen("../wellimg/ctco.jpg","rb");
        //$bytes = fread($instr,filesize("../wellimg/ctco.jpg"));
}
 
// If this is the image request, send out the image
 
if ($_REQUEST['pid'] == 1) {
        header("Content-type: image/jpeg");
        echo $bytes;
        exit ();
        }
?>
<font color=red><?= $errmsg ?></font>
<center><?php echo "<img src=?pid width=144>";?><br>
<b><?= $title ?></center>
 
//heres the form:
<form enctype=multipart/form-data method=post action="<?php echo("'Members_Area.php?no=$_SESSION[no]'");?>">
<input type=hidden name=MAX_FILE_SIZE value=150000>
<input type=hidden name=completed value=1>
Please choose an image to upload: <input type=file name=imagefile><br>
Please enter the title of that picture: <input name=whatsit><br>
then: <input type=submit></form><br>
</form>
 
 

Re: Image from db displaying x

Posted: Thu Aug 20, 2009 4:39 pm
by cpetercarter
<img src=....> requires the url of an image (eg "images/myimage.jpg"). I am not sure from your code what 'pid' is, but it doesn't look like a url to me!

Re: Image from db displaying x

Posted: Fri Aug 21, 2009 7:54 am
by tobimichigan
cpetercarter wrote:<img src=....> requires the url of an image (eg "images/myimage.jpg"). I am not sure from your code what 'pid' is, but it doesn't look like a url to me!

$pid is the picture id from the db here's the table Im drawing from:


CREATE TABLE `pix` (
`pid` int(11) NOT NULL auto_increment,
`title` text,
`imgdata` longblob,
PRIMARY KEY (`pid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

--
-- Dumping data for table `pix`
--

Actually, the image successfully inserts into the db but it almost echos on to the current user only to show a white picture space and an "x" on top of the picture space.

What I'm trying to archive here is what facebook does after registering. U know after logging into facebook 4 the first time u r given an option to upload a picture. As soon as you upload the image it immediately displays on your 1st restricted profile page. So then have you got any better ideas on how to go about this?