View previous topic :: View next topic
Author
Message
mikebyrne Joined: 16 Nov 2007 Posts: 54
Posted: Tue Mar 25, 2008 6:27 pm Post subject: Uploading pictre + storing destination address in a variable
Ive just added a upload button to my form and what I really want the code to do is save the file in the specfied location (../Admin_files/Pictures) and save the target address to $Image which I will then pass to the database ie (../Admin_files/Pictures/Picture.jpeg)
Im not too sure how to code the move_uploaded_file()
Code:
// Where the file is going to be placed
$target_path = "../Admin_files/Pictures";
/* Add the original filename to our target path.
Result is "uploads/filename.extension" */
$_FILES['uploadedfile']['tmp_name'];
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo "The file ". basename( $_FILES['uploadedfile']['name']).
" has been uploaded";
} else{
echo "There was an error uploading the file, please try again!";
}
My complete code is
Code:
<?PHP
require_once("adminconnect.php");
$ProductName = mysql_real_escape_string(trim($_POST['ProductName']));
$Description = mysql_real_escape_string(trim($_POST['Description']));
$Price = mysql_real_escape_string(trim($_POST['Price']));
$Stockamount = mysql_real_escape_string(trim($_POST['Stockamount']));
$Type = $_POST['Type'];
$Display = strtoupper($_POST['display']);
$Image = $_POST['Image'];
$Image2 = $_POST['Image2'];
$tbl_name="product";
if($_POST["action"] == "Add"){
$valid=1;
if ($_POST['Type'] =="") {
$valid=0;
$style_name = "background-color:#FF5959";
$error_type = "Please enter the product type<br>";
}
if ($_POST['ProductName']=="") {
$valid=0;
$style_name = "background-color:#FF5959";
$error_name = "The Product Name seems to be mising?<br>";
}
if ($_POST['Description']=="") {
$valid=0;
$style_name = "background-color:#FF5959";
$error_description = "Your description seems to be mising?<br>";
}
if ($_POST['Stockamount']=="") {
$valid=0;
$style_name = "background-color:#FF5959";
$error_amount = "Please enter the ammount of stock recivied<br>";
}
if(empty($_POST['Price']))
{
$valid=0;
$style_name = "background-color:#FF5959";
$error_price = "Please enter the price<br>";
}
if(preg_match("/\A[0-9]{1,16}(\.[0-9]{2}){0,1}$/",$_POST['Price']) != 1)
{
$valid = 0;
$style_name = "background-color:#FF5959";
$error_price = 'Price is invalid. Numbers only (eg: 123.05)';
}
if(empty($_POST['Stockamount']))
{
$valid=0;
$style_name = "background-color:#FF5959";
$error_amount = "Please enter a stock ammount<br>";
}
if(preg_match("/\A[0-9]{1,16}(\.[0-9]{2}){0,1}$/",$_POST['Stockamount']) != 1)
{
$valid = 0;
$style_name = "background-color:#FF5959";
$error_amount = 'Ammonut is invalid. Numbers only (eg: 1,2,3)';
}
if ($valid==1) {
$sql="INSERT INTO $tbl_name (Producttype, ProductName,Stockamount,Display, Description,Price, Image, Image2) VALUES ('$Type','$ProductName','$Stockamount','$Display' ,'$Description', '$Price', '$Image', '$Image2')";
echo $_POST['Type'];
echo $_POST['ProductName'];
echo $_POST['Stockamount'];
echo $_POST['Display'];
echo $_POST['Description'];
echo $_POST['Price'];
echo $_POST['Image'];
echo $_POST['Image2'];
echo $sql;
$result=mysql_query($sql)or die(mysql_error()."<p>With Query<br>$sql");
}
}
?>
<!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=iso-8859-1" />
<title>e-commerce admin page sample |item</title>
<link href="../Admin_files/admin.css" rel="stylesheet" type="text/css" />
<script type="text/JavaScript" src="../includes/wrapper.js"></script>
</head>
<body>
<div id="Box">
<div id="logoBox"><a href="http://www.btrax.com/" target="_blank"><img src="../Admin_files/logo.gif" width="51" height="125" border="0" /></a></div>
<div id="contentBox">
<form action="add.php" onsubmit="return valid()" method="post">
<!-- logo start -->
<div id="container">
<div class="padTop28">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
</div>
<div class="clr">
<!-- -->
</div>
<!-- logo finish -->
<!-- menu start -->
<div id="container">
<div id="menu1">
<div id="menu_off"><!-- --></div>
<div id="menu_text_off"><a href="../admin_files/start.php" class="black">Order</a></div>
<div id="menu_space1"><!-- --></div>
<div id="menu_off"><!-- --></div>
<div id="menu_text_off"><a href="../admin_files/sales.php" class="black">Sales</a></div>
<div id="menu_space1"><!-- --></div>
<div id="menu_off"><!-- --></div>
<div id="menu_text_off"><a href="../admin_files/list.php" class="black">Edit item</a></div>
<div id="menu_space1"><!-- --></div>
<div id="menu_off"><!-- --></div>
<div id="menu_text_off"><a href="../admin_files/postage.php" class="black">Postage fee</a></div>
<div id="menu_space1"><!-- --></div>
<div id="menu_off"><!-- --></div>
<div id="menu_text_off"><a href="../admin_files/adminreg.php" class="black">Add User</a></div>
<div id="menu_space1"><!-- --></div>
<div id="menu_on"><!-- --></div>
<div id="menu_text_on"><a href="../admin_files/add.php" class="black_on">Add Product</a></div>
<div id="menu_space1"><!-- --></div>
</div>
<!-- -->
<!-- Double Space undernath CD -->
<div class="clr"><!-- --></div> <div class="clr"><!-- --></div>
<div class="padTop5"><!-- --></div>
<div class="clr"><!-- --></div>
<div class="clr"><!-- --></div> <div class="clr"><!-- --></div>
<div class="padTop5"><!-- --></div>
<div class="clr"><!-- --></div>
<!-- menu finish -->
<!-- top start -->
<div id="container">
<div id="line">
<!-- -->
</div>
</div>
<div class="clr">
<!-- -->
</div>
<div id="containerBg1">
<div class="padTop15">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
<div id="titleText">EDIT ITEM</div>
<div class="clr">
<!-- -->
</div>
<div class="padTop15">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
</div>
<div class="clr">
<!-- -->
</div>
<!-- top finish -->
<!-- data title start -->
<div id="containerBg2">
<div class="padTop2">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
<div class="titleBox">
<table width="850" border="0" cellspacing="0" cellpadding="0">
<tr align="left">
<td width="33"> </td>
<td width="290" align="left">IMAGE</td>
<td width="527">DETAIL</td>
</tr>
</table>
</div>
<div class="clr">
<!-- -->
</div>
</div>
<div class="clr">
<!-- -->
</div>
<!-- data title finish -->
<!-- 1px space start -->
<div id="containerBg1">
<div class="padTop1">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
</div>
<div class="clr">
<!-- -->
</div>
<!-- 1px space finish -->
<!-- data top start -->
<div id="containerBg3">
<div class="padTop1">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
</div>
<div class="clr">
<!-- -->
</div>
<!-- data top finish -->
<!-- data content start -->
<div id="containerBg4">
<div class="padTop15">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
<div class="padTop1">
<!-- data Left start -->
<div class="editLeft">
<!-- picture1 start -->
<div class="editLeftBox">PICTURE 1:</div>
<div class="clr">
<!-- -->
</div>
<div class="padTop5">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
<div class="editLeftBox"><img src="Pictures/No_image.png" alt="pic1" width="150" height="200" /></div>
<div class="clr">
<!-- -->
</div>
<div class="padTop5">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
<div class="editLeftBox">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Choose a file to upload: <input name="uploadedfile" type="file" /><br />
<input type="submit" value="Upload File" />
</div>
<div class="clr">
<!-- -->
</div>
<!-- picture1 finish -->
<div class="padTop50">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
<!-- picture2 start -->
<div class="editLeftBox">PICTURE 2:</div>
<div class="clr">
<!-- -->
</div>
<div class="padTop5">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
<div class="editLeftBox"><img src="Pictures/No_image.png" alt="pic1" width="150" height="200" /></div>
<div class="clr">
<!-- -->
</div>
<div class="padTop5">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
<div class="editLeftBox">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Choose a file to upload: <input name="uploadedfile" type="file" /><br />
<input type="submit" value="Upload File" />
</div>
<div class="clr">
<!-- -->
</div>
<!-- picture2 finish -->
</div>
<!-- data Left finish -->
<!-- data Right start -->
<div class="editRight">
<!-- dat start -->
<div class="editRightBox">
<div class="editRightText">Product Type:</div>
<div class="editRightForm">
<select name="Type" class="000">
<option value="">------</option> returns $_POST['Type'] = ""
<option value="Game" >GAME</option> returns $_POST['Type'] = "Game"
<option value="DVD" >DVD</option> returns $_POST['Type'] = "DVD"
<option value="CD" >CD</option> returns $_POST['Type'] = "CD"
</select>
<td width="269"><font color="#FF0000" style="font-size: 8pt"><?php echo $error_type; ?></font></td>
</div>
<div class="clr">
<!-- -->
</div>
</div>
<div class="clr">
<!-- -->
</div>
<!-- data finish -->
<div class="padTop3">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
<!-- dat start -->
<div class="editRightBox">
<div class="editRightText">Product Name:</div>
<div class="editRightForm">
<input type="text" class="itemEditForm02" name="ProductName" value="<?php $row['ProductName'];?>" />
<td width="269"><font color="#FF0000" style="font-size: 8pt"><?php echo $error_name; ?></font></td>
</div>
<div class="clr">
<!-- -->
</div>
</div>
<div class="clr">
<!-- -->
</div>
<!-- data finish -->
<div class="padTop3">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
<!-- dat start -->
<div class="editRightBox">
<div class="editRightText">Description:</div>
<div class="editRightForm">
<textarea type="text" class="itemEditForm03" name="Description" ><?php echo $row['Description'];?></textarea>
<font color="#FF0000" style="font-size: 8pt"><?php echo $error_description; ?></font>
<div class="clr">
<!-- -->
</div>
</div>
<div class="clr">
<!-- -->
</div>
<!-- data finish -->
<div class="padTop3">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
<!-- dat start -->
<div class="editRightBox">
<div class="editRightText">Stock Rec'd:</div>
<div class="editRightForm">
<input type="text" class="itemEditForm02" name="Stockamount" value="<?php $row['Stockamount'];?>" />
<td width="269"><font color="#FF0000" style="font-size: 8pt"><?php echo $error_amount; ?></font></td>
</div>
<div class="clr">
<!-- -->
</div>
</div>
<div class="clr">
<!-- -->
</div>
<!-- data finish -->
<div class="padTop3">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
<!-- dat start -->
<div class="editRightBox">
<div class="editRightText">Price:</div>
<div class="editRightForm">
<div class="editItemPrice1">€</div>
<div class="editItemPrice2">
<input type="text" class="itemEditForm04" name="Price" value="<?php $row['Price'];?>" /> <td width="269"><font color="#FF0000" style="font-size: 8pt"><?php echo $error_price; ?></font></td>
</div>
<div class="clr">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
</div>
<div class="clr">
<!-- -->
</div>
<!-- data finish -->
<div class="padTop3">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
<!-- dat start -->
<div class="editRightBox">
<div class="clr">
<!-- -->
</div>
</div>
<div class="clr">
<!-- -->
</div>
</div>
<div class="clr">
<!-- -->
</div>
<!-- data finish -->
<div class="padTop3">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
<!-- dat start -->
<div class="editRightBox">
<div class="editRightText">Display:</div>
<div class="editRightForm">
<div class="editRadio1">
<input name="display" type="radio" value="yes" checked="checked" />
</div>
<div class="editRadio2">show</div>
<div class="editRadio3">
<input name="display" type="radio" value="no" />
</div>
<div class="editRadio4">hide</div>
</div>
<div class="clr">
<!-- -->
</div>
</div>
<div class="clr">
<!-- -->
</div>
<!-- data finish -->
<div class="padTop75">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
</div>
<!-- data Right finish -->
</div>
<div class="clr">
<!-- -->
</div>
<div class="padTop11">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
<div id="dottedIn">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
<!-- data finish -->
<!-- btn start -->
<div class="clr">
<!-- -->
</div>
<div class="padTop16">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
<div id="btn">
<input type=hidden name=action value="Add">
<input type="submit" name="Submit" value="" style="border:0;background:url(../Admin_files/btn_update.gif) no-repeat;width:73px;height:23px;">
<div id="btnSpace">
<!-- -->
</div>
<input type="reset" value="" style="border:0;background:url(../Admin_files/btn_clear.gif) no-repeat;width:73px;height:23px;" onclick="return confirm('Are you sure you want to clear all data?')">
<div class="clr">
<!-- -->
</div>
</div>
<div class="clr">
<!-- -->
</div>
<div class="padTop16">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
<!-- btn finish -->
</div>
<div class="clr">
<!-- -->
</div>
<!-- data content finish -->
<!-- data btm start -->
<div id="containerBg3">
<div class="padTop1">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
</div>
<div class="clr">
<!-- -->
</div>
<!-- data btm finish -->
</form>
</div>
<!-- btm start -->
<div id="containerBg1">
<div class="padTop15">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
</div>
<div class="clr">
<!-- -->
</div>
<div id="container">
<div id="line">
<!-- -->
</div>
</div>
<div class="clr">
<!-- -->
</div>
<div class="padTop16">
<!-- -->
</div>
<div class="clr">
<!-- -->
</div>
<!-- btm finish -->
</div>
</body>
</html>
Back to top
lostboy Joined: 02 May 2004 Posts: 4958 Location: toronto, canada
Posted: Wed Mar 26, 2008 4:06 am Post subject:
Mike,
I think you just need to add the destination file name for the uploaded file. See my sample from one of my apps below
Code:
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
if (!move_uploaded_file(($_FILES['userfile']['tmp_name']), $uploadfile)) {
echo "Possible file upload attack!\n";
}
_________________ Lostboy
Cat, the other other white meat
Please read Posting Etiquette before posting
You can always try Google
Back to top
mikebyrne Joined: 16 Nov 2007 Posts: 54
Posted: Wed Mar 26, 2008 4:10 am Post subject:
I was trying sometihng like
Code:
<?
// Where the file is going to be placed
$target_path = "../Admin_files/Pictures".$_FILES['uploadedfile']['name'];
/* Add the original filename to our target path.
Result is "uploads/filename.extension" */
$_FILES['uploadedfile']['tmp_name'];
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo "The file ". basename( $_FILES['uploadedfile']['name']).
" has been uploaded";
} else{
echo "There was an error uploading the file, please try again!";
}
But Im really not sure where to place it within my code
Back to top
lostboy Joined: 02 May 2004 Posts: 4958 Location: toronto, canada
Posted: Wed Mar 26, 2008 4:54 am Post subject:
deal with it first, right after the check for $_POST _________________ Lostboy
Cat, the other other white meat
Please read Posting Etiquette before posting
You can always try Google
Back to top
mikebyrne Joined: 16 Nov 2007 Posts: 54
Posted: Thu Mar 27, 2008 2:10 am Post subject:
At present I have the code here but its not working just getting the error msg There was an error uploading the file, please try again!
<?PHP
require_once("adminconnect.php");
$ProductName = mysql_real_escape_string(trim($_POST['ProductName']));
$Description = mysql_real_escape_string(trim($_POST['Description']));
$Price = mysql_real_escape_string(trim($_POST['Price']));
$Stockamount = mysql_real_escape_string(trim($_POST['Stockamount']));
$Type = $_POST['Type'];
$Display = strtoupper($_POST['display']);
$Image = $_POST['Image'];
$Image2 = $_POST['Image2'];
// Where the file is going to be placed
$target_path = "../Admin_files/Pictures/".$_FILES['uploadedfile']['name'];
/* Add the original filename to our target path.
Result is "uploads/filename.extension" */
$_FILES['uploadedfile']['tmp_name'];
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo "The file ". basename( $_FILES['uploadedfile']['name']).
" has been uploaded";
} else{
echo "There was an error uploading the file, please try again!";
}
$tbl_name="product";
[/ocde]
Im not too worried about the validation side of things at present Id jst love to get the file saving to my location and some way of recording the path so I can save it to the DB
Back to top
lostboy Joined: 02 May 2004 Posts: 4958 Location: toronto, canada
Posted: Thu Mar 27, 2008 2:58 am Post subject:
Its likely that you don't have permissions to move the file to the target location...try adding in some error reporting...
As for the path, you already know the path since its going to a folder that you control...just same the name in the db _________________ Lostboy
Cat, the other other white meat
Please read Posting Etiquette before posting
You can always try Google
Back to top
mikebyrne Joined: 16 Nov 2007 Posts: 54
Posted: Thu Mar 27, 2008 3:09 am Post subject:
Could you give me an example of whst i could do and i'll try first thing tomorrow?
Back to top