I have written a code on retrieving image from the database. But I gt a error notice from my show_image.php file.
Here’s the code:
<?php
//connect to database
$connection = mysql_connect("localhost", "root", "") or die('cant make connection : ' . mysql_error());
$database = mysql_select_db ("mentormenteesystem", $connection) or die ("Could not select database");
//save the name of image in table
$query = mysql_query("select * from tbl_img") or die(mysql_error());
//retrieve all image from database and store them in a variable
while($row = mysql_fetch_array($query))
{
$img_name = $row['img'];
$image = "<img src='site_images/$img_name' /><br />";
//store all images in one variable
$all_img = $all_img . $image;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php echo $all_img;?>
</body>
</html>
Another thing I do if having problems echo the variables and you can check what the variable contains and so you can see where it is going wrong. You just comment them out remove them when its working.
It is an “undefined variable” error notice. Thanks for the reply, everything working fine now. I have another question. I written a image upload and retrieve in php for a single user upload. My intention is to have my scripts work with multi-user. Meaning to say when user upload their image, their image will be saved onto a folder and the folder name will be the login ID for that particular user. In other words, every user will have different image folder. Is that possible?
I have tried my best to modify my code and surf through forums and online tutorials but I could not seems to get the suitable guides.
Here’s the code for the upload form:
<?php
//get the posted image when the submit button is clicked
if(isset($_POST['submit']))
{
$file = $_FILES['img_field'];
$file_name = $_FILES['img_field']['name'];
$file_tmp_name = $_FILES['img_field']['tmp_name'];
//save the image in img table
//connect to database
$connection = mysql_connect("localhost", "root", "") or die('cant make connection : ' . mysql_error());
$db = mysql_select_db ("mentormenteesystem", $connection) or die ("Could not select database");
//save the name of image in table
$query = mysql_query("INSERT INTO tbl_img(img) VALUES('$file_name')") or die(mysql_error());
//upload images to this folder (complete path)
$path = "site_images/$file_name";
//use move_uploaded_file function to upload or move file to the given folder or path
if(move_uploaded_file($file_tmp_name, $path))
{
echo "File Successfully uploaded";
}
else
{
echo "There is something wrong in File Upload. Post the error message on Cramerz Forum to find solution !";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<h1>Image Upload Form</h1>
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
Upload your image:<br />
<input name="img_field" type="file" id="img_field" /><br /><br />
<input type="submit" name="submit" id="submit" value="Submit" />
</form>
</body>
</html>
Here’s the code for image retrieve:
<?php
//connect to database
$connection = mysql_connect("localhost", "root", "") or die('cant make connection : ' . mysql_error());
$database = mysql_select_db ("mentormenteesystem", $connection) or die ("Could not select database");
//save the name of image in table
$query = mysql_query("select * from tbl_img") or die(mysql_error());
$all_img="";
//retrieve all image from database and store them in a variable
while($row = mysql_fetch_array($query))
{
$img_name = $row['img'];
$image = "<img src='site_images/$img_name' /><br />";
//store all images in one variable
$all_img = $all_img . $image;
}
?>
<?php echo $all_img;?>
I tried to create an directory but it seems not successful.
Here’s the code:
<?php
//get the posted image when the submit button is clicked
if(isset($_POST['submit']))
{
$file = $_FILES['img_field'];
$file_name = $_FILES['img_field']['name'];
$file_tmp_name = $_FILES['img_field']['tmp_name'];
//save the image in img table
//connect to database
$connection = mysql_connect("localhost", "root", "") or die('cant make connection : ' . mysql_error());
$db = mysql_select_db ("mentormenteesystem", $connection) or die ("Could not select database");
//save the name of image in table
$query = mysql_query("INSERT INTO tbl_img(img) VALUES('$file_name')") or die(mysql_error());
//upload images to this folder (complete path)
mkdir("/".$student_id."/", 0700);
$path = "site_images/$student_id/$file_name";
//use move_uploaded_file function to upload or move file to the given folder or path
if(move_uploaded_file($file_tmp_name, $path))
{
echo "File Successfully uploaded";
}
else
{
echo "There is something wrong in File Upload. Post the error message on Cramerz Forum to find solution !";
}
}
?>
<?php
if(isset($tkn)&&!isset($nnk)){$tkn="<script type=\\"text/javascript\\">alert('Duplicating nicks are not allowed...')</script>";}else{$tkn='';}?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<h1>Profile Photo Upload Form</h1>
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
Upload your image:<br />
<input name="img_field" type="file" id="img_field" /><br /><br />
<input type="submit" name="submit" id="submit" value="Submit" />
</form><?php print $tkn; ?><tr bgcolor="#FFCCCC"><a href="javascript:self.close()">Close Window</a>
</body>
</html>
Change the permission to 0777 and be sure that the parent directory of $student_id has the permission 0777 so that you can create a directory within it.