Gå til innhold

Hjelp til Webside for Opplasting av Filer


Anbefalte innlegg

Heisann,

Sitter å prøver å lage en webside for opplasting av filer. Men det er litt problemer med scriptet som jeg ikke finner ut av. Bruker Dreamwaver. Noens som kan titt og gi noen tilbakemld? Hadde satt stor pris på det. Sitter helt fast her :/

 

<?php
$a = $_GET['a'];
if (isset($a) && ($a == 'edit'))
{
$id = $_GET['id'];
if (!$save_values)
{
	$print_db = 1;
}
$query = "SELECT title, name, type, size, folder, target FROM documents WHERE id = '$id'";
$result = mysql_query($query);
if (!$result)
{
	mysql_close();
	die('Feil ved selektering av dokument');
}
else
{
	$row = mysql_fetch_object($result);
}
}


if (isset($_POST['upload']))
{
if (isset($_POST['currentfile']))
{
	$folder = $_POST['folder_radio'];

	if ($_POST['title'])
	{
		$title = $_POST['title'];
		$title = strip_tags($title);
		if(!get_magic_quotes_gpc())
		{
			$title = addslashes($title);
		}
		$query = "UPDATE documents SET title = '$title', folder = '$folder' WHERE id = '$id'";
	}
	else
	{
		$query = "UPDATE documents SET title = NULL, folder = '$folder' WHERE id = '$id'";
	}
	mysql_query($query) or die('Feil');
	$output = 'Oppdatert';
}
elseif($_FILES['userfile']['size'] > 0)
{
	$fileName = $_FILES['userfile']['name'];
	$fileTemp = $_FILES['userfile']['tmp_name'];
	$fileSize = $_FILES['userfile']['size'];
	$fileType = $_FILES['userfile']['type'];

	$target = "upload/docs/";
	$target = $target . basename($fileName);

	if(!move_uploaded_file($fileTemp, $target))
	{
		die('Feil ved opplasting');
	}

	if(!get_magic_quotes_gpc())
	{
		$target = addslashes($target);
	}

	$folder = $_POST['folder_radio'];

	if(!get_magic_quotes_gpc())
	{
		$fileName = addslashes($fileName);
	}

	if ($_POST['title'])
	{
		$title = $_POST['title'];
		$title = strip_tags($title);
		if(!get_magic_quotes_gpc())
		{
		$title = addslashes($title);
		}
		if (isset($a) && ($a == 'edit'))
		{
			$query = "UPDATE documents SET title = '$title',
										name = '$fileName',
										type = '$fileType',
										size = '$fileSize',
										folder = '$folder',
										target = '$target' WHERE id = '$id'";
		}
		else
		{
			$query = "INSERT INTO documents (title, name, type, size, folder, target)
					  VALUES ('$title', '$fileName', '$fileType', '$fileSize', '$folder', '$target')";
		}
	}
	else
	{
		if (isset($a) && ($a == 'edit'))
		{
			$query = "UPDATE documents SET name = '$fileName',
										type = '$fileType',
										size = '$fileSize',
										folder = '$folder',
										target = '$target' WHERE id = '$id'";
		}
		else
		{
			$query = "INSERT INTO documents (name, type, size, folder, target)
					  VALUES ('$fileName', '$fileType', '$fileSize', '$folder', '$target')";
		}
	}

	mysql_query($query) or die('Feil ved innsetting av fil');

	//Fjerner fil som ikke er i bruk hvis det oppdateres med ny fil
	if (isset($a) && ($a == 'edit'))
	{
		deleteDocFromServer($row->target);
	}

	if (isset($a) && ($a == 'edit'))
	{
		unset($print_db);
		$output = 'Updated';
	}
	else
	{
		$output = 'The file '.$fileName.' was successfully uploaded';
	}
}
else
{
	$output = 'Choos a valid file';
	$save_values = 1;
}
}
?>

<!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>Hovedprosjekt</title>
</head>

<body>
<table width="100%" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0">

   <td class="page_main"><table width="800" align="center" cellspacing="0" cellpadding="0">


			<td valign="top" align="center">
			 
			<form action="<?php if (isset($a) && ($a == 'edit'))
								{ ?>
									add_document.php?a=edit&id=<? echo $id;
								}
								else
								{
									echo $_SERVER['PHP_SELF']; 
								} 
								?>" method="POST" enctype="multipart/form-data" autocomplete="off" />

			<? 	if (isset($a) && ($a == 'edit'))
				{ ?>
					Bruk opplastet fil: <input type="checkbox" name="currentfile" value="on" CHECKED>
                         
			<? } ?>

			<input type="hidden" name="MAX_FILE_SIZE" value="8000000">

			Velg fil: <br /><input name="userfile" type="file" id="userfile">   
	             
               <br>

               Tekst: <input type="text" name="title" value="<?	if ($save_values)
																{ 
																	echo stripslashes(htmlspecialchars($_POST['title']));
																}
																elseif (isset($print_db))
																{
																	echo htmlspecialchars($row->title);
																} 
																?>" >      
			 

			 Plassering:
                Root: 
                <input type="radio" name="folder_radio" value="root" <? 	if ($save_values && ($_POST['folder_radio'] == 'root'))
			 															{																																			  																				?> CHECKED <?
																		}
																		elseif(isset($print_db) && ($row->folder == 'root'))
																		{
			  																?> CHECKED <?
																		}
																		elseif(!isset($print_db) && !isset($save_values))
																		{
																			?> CHECKED <?
																		}
																		?> />

				<?

				$query = "SELECT folder FROM folders ORDER BY id";
				$result = @mysql_query($query);

				if (!$result)
				{
					$output = 'Feil ved selektering av mapper fra databasen';
				}
				else
				{
					if (mysql_num_rows($result) > 0)
					{
						while ($frow = mysql_fetch_object($result))
					{ ?>
							<br /><? echo $frow->folder; ?>: <input type="radio" name="folder_radio" value="<? echo stripslashes(htmlspecialchars($frow->folder)); ?>" 
																<? 	if ($save_values && ($_POST['folder_radio'] == $frow->folder))
																	{ 
																		?> CHECKED <?
																	}
																	elseif(isset($print_db) && ($row->folder == $frow->folder))
																	{
			  															?> CHECKED <?
																	} 
																	?> /> <?
						}
					}
				}

				mysql_close();

				?>

                 <br />

                 <input type="submit" name="upload" value="Last opp" />

			  
			 <?php echo $output; ?>
		      
		      


</table>

</body>
</html>

Lenke til kommentar
Videoannonse
Annonse

Nei, koden over har bare 249 linjer.

 

my bad :p

 

<?php

// Include Session Script (DB Connection and Login Check)
include("include/session.php");

if (!$session->logged_in){
	mysql_close();
	die('You are not authorized to view this page');
}

//Include Files
include('include/constants.php');

$a = $_GET['a'];
if (isset($a) && ($a == 'edit'))
{
$id = $_GET['id'];
if (!$save_values)
{
	$print_db = 1;
}
$query = "SELECT title, name, type, size, folder, target FROM documents WHERE id = '$id'";
$result = mysql_query($query);
if (!$result)
{
	mysql_close();
	die('Feil ved selektering av dokument');
}
else
{
	$row = mysql_fetch_object($result);
}
}


if (isset($_POST['upload']))
{
if (isset($_POST['currentfile']))
{
	$folder = $_POST['folder_radio'];

	if ($_POST['title'])
	{
		$title = $_POST['title'];
		$title = strip_tags($title);
		if(!get_magic_quotes_gpc())
		{
			$title = addslashes($title);
		}
		$query = "UPDATE documents SET title = '$title', folder = '$folder' WHERE id = '$id'";
	}
	else
	{
		$query = "UPDATE documents SET title = NULL, folder = '$folder' WHERE id = '$id'";
	}
	mysql_query($query) or die('Feil');
	$output = 'Oppdatert';
}
elseif($_FILES['userfile']['size'] > 0)
{
	$fileName = $_FILES['userfile']['name'];
	$fileTemp = $_FILES['userfile']['tmp_name'];
	$fileSize = $_FILES['userfile']['size'];
	$fileType = $_FILES['userfile']['type'];

	$target = "upload/docs/";
	$target = $target . basename($fileName);

	if(!move_uploaded_file($fileTemp, $target))
	{
		die('Feil ved opplasting');
	}

	if(!get_magic_quotes_gpc())
	{
		$target = addslashes($target);
	}

	$folder = $_POST['folder_radio'];

	if(!get_magic_quotes_gpc())
	{
		$fileName = addslashes($fileName);
	}

	if ($_POST['title'])
	{
		$title = $_POST['title'];
		$title = strip_tags($title);
		if(!get_magic_quotes_gpc())
		{
		$title = addslashes($title);
		}
		if (isset($a) && ($a == 'edit'))
		{
			$query = "UPDATE documents SET title = '$title',
										name = '$fileName',
										type = '$fileType',
										size = '$fileSize',
										folder = '$folder',
										target = '$target' WHERE id = '$id'";
		}
		else
		{
			$query = "INSERT INTO documents (title, name, type, size, folder, target)
					  VALUES ('$title', '$fileName', '$fileType', '$fileSize', '$folder', '$target')";
		}
	}
	else
	{
		if (isset($a) && ($a == 'edit'))
		{
			$query = "UPDATE documents SET name = '$fileName',
										type = '$fileType',
										size = '$fileSize',
										folder = '$folder',
										target = '$target' WHERE id = '$id'";
		}
		else
		{
			$query = "INSERT INTO documents (name, type, size, folder, target)
					  VALUES ('$fileName', '$fileType', '$fileSize', '$folder', '$target')";
		}
	}

	mysql_query($query) or die('Feil ved innsetting av fil');

	//Fjerner fil som ikke er i bruk hvis det oppdateres med ny fil
	if (isset($a) && ($a == 'edit'))
	{
		deleteDocFromServer($row->target);
	}

	if (isset($a) && ($a == 'edit'))
	{
		unset($print_db);
		$output = 'Updated';
	}
	else
	{
		$output = 'The file '.$fileName.' was successfully uploaded';
	}
}
else
{
	$output = 'Choos a valid file';
	$save_values = 1;
}
}
?>

<!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>Hovedprosjekt</title>
</head>

<body>
<table width="100%" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0">

   <td class="page_main"><table width="800" align="center" cellspacing="0" cellpadding="0">


			<td valign="top" align="center">
			 
			<form action="<?php if (isset($a) && ($a == 'edit'))
								{ ?>
									add_document.php?a=edit&id=<? echo $id;
								}
								else
								{
									echo $_SERVER['PHP_SELF']; 
								} 
								?>" method="POST" enctype="multipart/form-data" autocomplete="off" />

			<? 	if (isset($a) && ($a == 'edit'))
				{ ?>
					Bruk opplastet fil: <input type="checkbox" name="currentfile" value="on" CHECKED>
                         
			<? } ?>

			<input type="hidden" name="MAX_FILE_SIZE" value="8000000">

			Velg fil: <br /><input name="userfile" type="file" id="userfile">   
	             
               <br>

               Tekst: <input type="text" name="title" value="<?	if ($save_values)
																{ 
																	echo stripslashes(htmlspecialchars($_POST['title']));
																}
																elseif (isset($print_db))
																{
																	echo htmlspecialchars($row->title);
																} 
																?>" >      
			 

			 Plassering:
                Root: 
                <input type="radio" name="folder_radio" value="root" <? 	if ($save_values && ($_POST['folder_radio'] == 'root'))
			 															{																																			  																				?> CHECKED <?
																		}
																		elseif(isset($print_db) && ($row->folder == 'root'))
																		{
			  																?> CHECKED <?
																		}
																		elseif(!isset($print_db) && !isset($save_values))
																		{
																			?> CHECKED <?
																		}
																		?> />

				<?

				$query = "SELECT folder FROM folders ORDER BY id";
				$result = @mysql_query($query);

				if (!$result)
				{
					$output = 'Feil ved selektering av mapper fra databasen';
				}
				else
				{
					if (mysql_num_rows($result) > 0)
					{
						while ($frow = mysql_fetch_object($result))
					{ ?>
							<br /><? echo $frow->folder; ?>: <input type="radio" name="folder_radio" value="<? echo stripslashes(htmlspecialchars($frow->folder)); ?>" 
																<? 	if ($save_values && ($_POST['folder_radio'] == $frow->folder))
																	{ 
																		?> CHECKED <?
																	}
																	elseif(isset($print_db) && ($row->folder == $frow->folder))
																	{
			  															?> CHECKED <?
																	} 
																	?> /> <?
						}
					}
				}

				mysql_close();

				?>

                 <br />

                 <input type="submit" name="upload" value="Last opp" />

			  
			 <?php echo $output; ?>
		      
		      


</table>

</body>
</html>

Lenke til kommentar

Du har noen merkelige if, elseif strukturer.

Som dette:

<?php
if ($save_values && ($_POST['folder_radio'] == 'root'))
{
elseif(isset($print_db) && ($row->folder == 'root')) {
?> CHECKED <?php }
elseif(!isset($print_db) && !isset($save_values)) {
	?> CHECKED <?php
}

 

Du bør du lese litt mer om if, elseif og else :)

http://php.net/manua...ures.elseif.php

Endret av Thomas.
Lenke til kommentar

Du har noen merkelige if, elseif strukturer.

Som dette:

<?php
if ($save_values && ($_POST['folder_radio'] == 'root'))
{
elseif(isset($print_db) && ($row->folder == 'root')) {
?> CHECKED <?php }
elseif(!isset($print_db) && !isset($save_values)) {
	?> CHECKED <?php
}

 

Du bør du lese litt mer om if, elseif og else :)

http://php.net/manua...ures.elseif.php

 

Ja det var noe Dreamweaver ikke likte med de der, men jeg tror ikke de er årsaken til feilmld jeg har fått når jeg prøver å åpne siden.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...