Estoy realizando una intranet y me gustaria que el administrador una vez seleccionado un usuario de la base de datos, subira un documento en pdf (que en este caso seria su nomina) a el directorio nominas/ del servidor y se guardara en la base de datos la ruta del archivo, para mas adelante poder hacer una funcion en el perfil d elos usuarios, que dependiendo del usuario que sean les muestre su respectiva nomina.
Hasta ahora lo que tengo hecho es la tabla nominas:
Código:
CREATE TABLE IF NOT EXISTS `nominas` (
`id_nomina` int(10) NOT NULL AUTO_INCREMENT,
`usuario` varchar(30) COLLATE utf8_spanish_ci NOT NULL,
`nombre_nomina` varchar(15) COLLATE utf8_spanish_ci NOT NULL,
`url` varchar(20) COLLATE utf8_spanish_ci NOT NULL,
PRIMARY KEY (`id_nomina`),
KEY `id_usuario` (`usuario`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci AUTO_INCREMENT=1 ;
El formulario para la pagina del administrador para subir el archivo, en la que mediante un <select> puede seleccionar el nombre de usuario de la tabla "usuarios" :
Código PHP:
<div id="pagina">
<?php
$query = "SELECT usuarios.usuario FROM usuarios";
$result = mysql_query($query) or die(mysql_error());
$row= mysql_fetch_assoc($result);
$totalRows = mysql_num_rows($result);
?>
<form action="upload.php" method="post" enctype="multipart/form-data">
<select name="usuario">
<?php do { ?>
<option value="<?php echo $row['usuario']?>"><?php echo $row['usuario']?>
</option>
<?php
} while ($row = mysql_fetch_assoc($result));
$rows = mysql_num_rows($result);
if($rows > 0) {
mysql_data_seek($result, 0);
$row= mysql_fetch_assoc($$result);
}
?>
</select>
<b>Enviar un nuevo archivo: </b>
<br>
<input name="archivo" type="file" id="archivo">
<br>
<input type="submit" value="Enviar" name="boton" id="boton">
</form>
</div>
Y por ultimo el php para realizar el upload:
Código PHP:
<?php
$temp=$_FILES['archivo']['tmp_name'];
$usuario = $_POST['usuario'];
$directorio = "/opt/lampp/htdocs/Intranet/nominas";
$nombre_nomina = $_FILES['archivo']['name'];
$url=$directorio . "/" . $nombre_nomina;
if (move_uploaded_file($temp,$url))
{
$sql2 = "INSERT INTO nominas (usuario, nombre_nomina, url) VALUES ('$usuario', '$nombre_nomina', '$url')";
echo "El archivo se ha subido correctamente";
}
?>
La subida la hace correctamente, lo que no me guarda es nada en la tabla "nominas" de la base de datos. Es posible que haya mucho errores, soy nueva en esto del php y mysql y aun estoy muy verde.