Mi problema es que estoy tratando de crear un area de descarga a la que se puede acceder con un usuario y contraseña que se comprueba desde una base de datos mysql y que segun el usuario y contraseña que se coloque es el archivo que se puede descargar. tengo 2 archivos php y una base de datos, el archivo del formulario tiene el siguiente codigo:
Código HTML:
<form id="form1" name="form1" method="post" action="descarga.php"> <table width="400" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td colspan="3"> <table width="350" border="0" cellspacing="0" cellpadding="0"> <tr> <td>Nombre de usuario:</td> <td><label> <input type="text" name="usuario" id="usuario" /> </label></td> </tr> <tr> <td>Contraseña:</td> <td><label> <input type="password" name="clave" id="clave" /> </label></td> </tr> </table> <p> <label> <div align="center"> <input type="submit" name="button" id="button" value="Enviar" /> </div> </label> </p> </td> </tr> </table> </form>
Código HTML:
<? session_start(); if ($usuario && $clave) { $db_conn = mysql_connect("loclhost", "root", "root"); mysql_select_db("mybasededatos", $db_conn); $query = "select * from usuario " ."where usuario='$usuario' " ." and clave='$clave'"; $result = mysql_query($query, $db_conn); if (mysql_num_rows($result) >0 ) { // si están en la base de datos registra la id de usuario $valid_user = $userid; session_register("valid_user"); } } if (session_is_registered("valid_user")) { $db_conn = mysql_connect("loclhost", "root", "root"); mysql_select_db("mybasededatos", $db_conn); $query = "SELECT usuario.nombre, usuario.link FROM usuario WHERE usuario = '$usuario'"; $result = mysql_query($query, $db_conn); $row=mysql_fetch_array($result); $nombre=$row["nombre"]; $link=$row["link"]; $files=array($link); $filenames=array($nombre); $url="aqui se coloca la url"; $referer=ereg_replace("\?.","",$HTTP_REFERER); $thisfile="$HTTP_HOST$PHP_SELF"; if ($referer!=$thisfile) for ($i=0;$i<count($files);$i++) echo "<P><A HREF=\"$PHP_SELF?$i\">",$filenames[$i],"</A>\n"; else { $i=$QUERY_STRING; $total=$url . $files[$i]; Header ("Content-Type: application/octet-stream"); Header ("Content-Length: ".filesize($total)); Header("Content-Disposition: attachment; filename=$filenames[$i]"); readfile($total); } } else { if (isset($userid)) { // si han intentado hacer login y ha fallado echo "No has podido hacer login"; } else { // si no han intentado hacer login y no han hecho logged out echo "Usuario y contraseña incorrectos<br>"; } } ?>