Hi,
Can anyone help me here, I want to display an image using the path of the image and the image title from a mysql db?
I can upload the info to the db, but I have trouble displaying the image.
Here is the code:
CREATE TABLE `trailer` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(64) NOT NULL,
`model` text NOT NULL,
`year` text NOT NULL,
`price` text NOT NULL,
`location` text NOT NULL,
`path` text NOT NULL,
PRIMARY KEY (`id`)
);
<?php
$db_host = 'localhost'; // don't forget to change
$db_user = 'root';
$db_pwd = 'colum';
$database = 'colum';
$table = 'trailer';// use the same name as SQL table
$password = 'kinefad';// simple upload restriction,// to disallow uploading to everyone
if (!mysql_connect($db_host, $db_user, $db_pwd))
die("Can't connect to database");
if (!mysql_select_db($database))
die("Can't select database");
// This function makes usage of// $_GET, $_POST, etc... variables
// completly safe in SQL queries
function sql_safe($s){
if (get_magic_quotes_gpc())
$s = stripslashes($s);
return mysql_real_escape_string($s);
}
// If user pressed submit in one of the forms
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
// cleaning title field
$title = trim(sql_safe($_POST['title']));
$model = trim(sql_safe($_POST['model']));
$year = trim(sql_safe($_POST['year']));
$price = trim(sql_safe($_POST['price']));
$location = trim(sql_safe($_POST['location']));
$path = './images/';
if ($title == '') // if title is not set
$title = '(empty title)';// use (empty title) string
if ($_POST['password'] != $password) // cheking passwors
$msg = 'Error: wrong upload password';
else
{
if (isset($_FILES['photo']))
{
if (!isset($msg)) // If there was no error
{
// Preparing data to be used in MySQL query
mysql_query("INSERT INTO {$table} SET
title='$title',model='$model',year='$year',price='$price',location='$location',path='$path'");
$msg = 'Success: image uploaded';
}
}
elseif (isset($_GET['title'])) // isset(..title) needed
$msg = 'Error: file not loaded';
// to make sure we've using
// upload form, not form
// for deletion
if (isset($_POST['del'])) // If used selected some photo to delete
{ // in 'uploaded images form';
$id = intval($_POST['del']);
mysql_query("DELETE FROM {$table} WHERE id=$id");
$msg = 'Photo deleted';
}
}
}
?>
<html><head>
<title>Administration Page</title>
</head>
<body>
<?php
if (isset($msg)) // this is special section for
// outputing message
{
?>
<p style="font-weight: bold;"><?=$msg?>
<br>
<a href="<?=$PHP_SELF?>">reload page</a>
<!-- I've added reloading link, because
refreshing POST queries is not good idea -->
</p>
<?php
}
?>
<h1>Administration Page
</h1>
<h2>Uploaded images:</h2>
<form action="<?=$PHP_SELF?>" method="post">
<!-- This form is used for image deletion -->
</form>
<h2>Upload new image:</h2>
<form action="<?=$PHP_SELF?>" method="POST" enctype="multipart/form-data">
<label for="title">Title:</label><br>
<input type="text" name="title" id="title" size="64"><br><br>
<label for="model">Model:</label><br>
<input type="text" name="model" id="model" size="64"><br><br>
<label for="year">Year:</label><br>
<input type="text" name="year" id="year" size="64"><br><br>
<label for="price">Price:</label><br>
<input type="text" name="price" id="price" size="64"><br><br>
<label for="location">Location:</label><br>
<input type="text" name="location" id="location" size="64"><br><br>
<label for="photo">Photo:</label><br>
<input type="file" name="photo" id="photo"><br><br>
<label for="password">Password:</label><br>
<input type="password" name="password" id="password"><br><br>
<input type="submit" value="upload">
</form>
</body>
</html>
Here is my bad attempt of the display page:
<?
$dbcnx = @mysql_connect("localhost", "root", "colum");
if (!$dbcnx)
{
echo( "connection to database server failed!" );
exit();
}
if (! @mysql_select_db("colum") )
{
echo( "Image Database Not Available!" );
exit();
}
$result = @mysql_query("SELECT * FROM trailer WHERE id=1");
if (!$result)
{
echo("Error performing query: " . mysql_error() . "");
exit();
}
while ( $row = mysql_fetch_array($result) )
{
$title = $row["title"];
$path = $row["path"];
}
?>
<html>
<body>
<img src="images/$title.JPG">
</body>
</html>
Can anyone help me as to where or what I am doing wrong here?
Thanks