Page 1 of 1

I have a code to upload a file to the server and ...

Posted: Mon Nov 23, 2009 12:41 pm
by sandbudd
I have a code to edit / upload a file to the server and display file name in db. I get this error?

Notice: Undefined index: header in /update_display.php on line 24 File not uploaded.

line 24 {
if (is_uploaded_file ($_FILES['header']['tmp_name']))
{

Complete code

<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');


?>

<?php
// Connect database.
$host=""; // Host name.
$db_user=""; // MySQL username.
$db_password=""; // MySQL password.
$database=""; // Database name.
mysql_connect($host,$db_user,$db_password);
mysql_select_db($database);

// ***** This part will process when you Click on "Submit" button *****
// Check, if you clicked "Submit" button

if (isset ($_POST['Submit']))
{
if (!empty ($_POST['header']))
{
if (is_uploaded_file ($_FILES['header']['tmp_name']))
{
//This is the directory where images will be saved
$target = 'images/'.$_FILES['header']['name'];

//This gets all the other information from the form
$header = $_FILES['header']['name'];

//Writes the photo to the server
move_uploaded_file ($_FILES['header']['tmp_name'], $target) or die ('File not moved.');
}
else
die ('File not uploaded.');
}

$_POST = array_map ('mysql_real_escape_string', $_POST);

$id = $_POST['id'];
$header = $_POST['header'];
$header2 = $_POST['header2'];
$header3 = $_POST['header3'];
$footer = $_POST['footer'];
$footer2 = $_POST['footer2'];
$footer3 = $_POST['footer3'];

// Do update statement.
$sql = mysql_query("
update `ads`
set `header`='{$header}',
`header2`='{$header2}',
`header3`='{$header3}',
`footer`='{$footer}',
`footer2`='{$footer2}',
`footer3`='{$footer3}'
where `id`='{$id}'
") or trigger_error (mysql_error());

if ($sql)
{ header("location:display.php"); exit (0); }
}
else
{
// ************* End update part *************

// *** Select data to show on text fields in form. ***

// Get id parameter (GET method)
$id = ((isset ($_GET['id']) && (ctype_digit ($_GET['id']))) ? mysql_real_escape_string ($_GET['id']) : '');

if (!empty ($id))
{
// Get records in all columns from table where column id equal in $id and put it in $result.
$result = mysql_query("
select *
from ads
where id='".$id."'
");

// Split records in $result by table rows and put them in $row.
$row = mysql_fetch_array ($result);

// Close database connection.
mysql_close();
}
?>

<!-- END OF PHP CODES AND START HTML TAGS -->

<html>
<script type="text/javascript">
<!--
function MM_goToURL() { //v3.0
var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
for (i=0; i<(args.length-1); i+=2) eval(args+".location='"+args[i+1]+"'");
}
//-->
</script>


<body>
<!-- set this form to POST method and target this form to itself ($PHP_SELF;)-->
<form id="form1" name="form1" method="post" action="">

<input type="hidden" name="id" value="<?php echo $id; ?>" />

<input name="header" type="file" id="header" value="<?php echo $row['header']; ?>" size="50" />
<table width="707" border="1" cellpadding="3" cellspacing="0" class="appfields">
<tr>
<td width="25%"><span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14">Header</span></td>
<td width="25%">&nbsp;</td>
</tr>
<tr>
<td><span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14">Header 2<br>
</span></td>
<td><input name="header2" type="text" id="header2" value="<?php echo $row['header2']; ?>"/></td>
</tr>
<tr>
<td><span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14">Header 3<strong><br>
</strong></span></td>
<td><strong>
<input name="header3" type="text" id="header3" value="<?php echo $row['header3']; ?>"/>
</strong></td>
</tr>
<tr>
<td><span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14">Footer<strong><br>
</strong></span></td>
<td><strong>
<input name="footer" type="text" id="footer" value="<?php echo $row['footer']; ?>"/>
</strong></td>
</tr>
<tr>
<td><span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14">Footer 2<br>
</span></td>
<td><strong>
<input name="footer2" type="text" id="footer2" value="<?php echo $row['footer2']; ?>"/>
</strong></td>
</tr>
<tr>
<td><span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14">Footer 3<br>
</span></td>
<td><strong>
<input name="footer3" type="text" id="footer3" value="<?php echo $row['footer3']; ?>"/>
</strong></td>
</tr>

</table>
<br>
<br>
<table width="707" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="submit" name="Submit" value="Submit" /></td>
<td><div align="right">
<input name="Cancel" type="submit" id="Cancel" onClick="MM_goToURL('parent','display.php');return document.MM_returnValue" value="Cancel">
</div></td>
</tr>
</table>

</form>
</body>
</html>
<?php } ?>

Posted: Mon Nov 23, 2009 3:10 pm
by Jonah Bron
Please wrap your code in tags.

That error means that there is no $_FILES['header'], which means no file is being sent to the server. Double check your form, and do some googling.

Re: I have a code to upload a file to the server and ...

Posted: Mon Nov 23, 2009 3:13 pm
by sandbudd

Code: Select all

 
 
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
 
 
?>
 
<?php
// Connect database.
$host=""; // Host name.
$db_user=""; // MySQL username.
$db_password=""; // MySQL password.
$database=""; // Database name.
mysql_connect($host,$db_user,$db_password);
mysql_select_db($database);
 
// ***** This part will process when you Click on "Submit" button *****
// Check, if you clicked "Submit" button
 
if (isset ($_POST['Submit']))
{
if (!empty ($_POST['header']))
{
if (is_uploaded_file ($_FILES['header']['tmp_name']))
{
//This is the directory where images will be saved
$target = 'images/'.$_FILES['header']['name'];
 
//This gets all the other information from the form
$header = $_FILES['header']['name'];
 
//Writes the photo to the server
move_uploaded_file ($_FILES['header']['tmp_name'], $target) or die ('File not moved.');
}
else
die ('File not uploaded.');
}
 
$_POST = array_map ('mysql_real_escape_string', $_POST);
 
$id = $_POST['id'];
$header = $_POST['header'];
$header2 = $_POST['header2'];
$header3 = $_POST['header3'];
$footer = $_POST['footer'];
$footer2 = $_POST['footer2'];
$footer3 = $_POST['footer3'];
 
// Do update statement.
$sql = mysql_query("
update `ads`
set `header`='{$header}',
`header2`='{$header2}',
`header3`='{$header3}',
`footer`='{$footer}',
`footer2`='{$footer2}',
`footer3`='{$footer3}'
where `id`='{$id}'
") or trigger_error (mysql_error());
 
if ($sql)
{ header("location:display.php"); exit (0); }
}
else
{
// ************* End update part *************
 
// *** Select data to show on text fields in form. ***
 
// Get id parameter (GET method)
$id = ((isset ($_GET['id']) && (ctype_digit ($_GET['id']))) ? mysql_real_escape_string ($_GET['id']) : '');
 
if (!empty ($id))
{
// Get records in all columns from table where column id equal in $id and put it in $result.
$result = mysql_query("
select *
from ads
where id='".$id."'
");
 
// Split records in $result by table rows and put them in $row.
$row = mysql_fetch_array ($result);
 
// Close database connection.
mysql_close();
}
?>
 
<!-- END OF PHP CODES AND START HTML TAGS -->
 
<html>
<script type="text/javascript">
<!--
function MM_goToURL() { //v3.0
var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
//-->
</script>
 
 
<body>
<!-- set this form to POST method and target this form to itself ($PHP_SELF;)-->
<form id="form1" name="form1" method="post" action="">
 
<input type="hidden" name="id" value="<?php echo $id; ?>" />
 
<input name="header" type="file" id="header" value="<?php echo $row['header']; ?>" size="50" />
<table width="707" border="1" cellpadding="3" cellspacing="0" class="appfields">
<tr>
<td width="25%"><span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14">Header</span></td>
<td width="25%">&nbsp;</td>
</tr>
<tr>
<td><span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14">Header 2<br>
</span></td>
<td><input name="header2" type="text" id="header2" value="<?php echo $row['header2']; ?>"/></td>
</tr>
<tr>
<td><span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14">Header 3<strong><br>
</strong></span></td>
<td><strong>
<input name="header3" type="text" id="header3" value="<?php echo $row['header3']; ?>"/>
</strong></td>
</tr>
<tr>
<td><span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14">Footer<strong><br>
</strong></span></td>
<td><strong>
<input name="footer" type="text" id="footer" value="<?php echo $row['footer']; ?>"/>
</strong></td>
</tr>
<tr>
<td><span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14">Footer 2<br>
</span></td>
<td><strong>
<input name="footer2" type="text" id="footer2" value="<?php echo $row['footer2']; ?>"/>
</strong></td>
</tr>
<tr>
<td><span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14">Footer 3<br>
</span></td>
<td><strong>
<input name="footer3" type="text" id="footer3" value="<?php echo $row['footer3']; ?>"/>
</strong></td>
</tr>
 
</table>
<br>
<br>
<table width="707" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><input type="submit" name="Submit" value="Submit" /></td>
<td><div align="right">
<input name="Cancel" type="submit" id="Cancel" onClick="MM_goToURL('parent','display.php');return document.MM_returnValue" value="Cancel">
</div></td>
</tr>
</table>
 
</form>
</body>
</html>
<?php } ?>