Foros del Web » Programando para Internet » PHP »

Ayuda, Limitar el acceso a una base de datos

Estas en el tema de Ayuda, Limitar el acceso a una base de datos en el foro de PHP en Foros del Web. Bien nuevamente escribo una duda, quiero que al registrarse, se inicie una sesion con el determinado usuario, justo al logearte te lleva a otro php ...
  #1 (permalink)  
Antiguo 21/04/2010, 09:10
Avatar de dengaku  
Fecha de Ingreso: enero-2010
Mensajes: 69
Antigüedad: 14 años, 3 meses
Puntos: 1
Ayuda, Limitar el acceso a una base de datos

Bien nuevamente escribo una duda, quiero que al registrarse, se inicie una sesion con el determinado usuario, justo al logearte te lleva a otro php donde le muestra una base de datos pero solo tiene que mostrarle los datos que coincidan con el cod_usuario de la tabla usuarios, con el codigo_usuario de la tabla archivos

el login esta en este php
Código PHP:
<?PHP
// Iniciar sesión
   
session_start();

// Si se ha enviado el formulario
   
$nick $_REQUEST['nick'];
   
$pass $_REQUEST['pass'];
   
    if (isset (
$_REQUEST[Enviar])){
    
$errores false;
    
$nick $_REQUEST['nick'];
    
$pass $_REQUEST['pass'];
    
    if (
$nick=="") { 
       
$error[1]='  Complete el nick'
       
$errores=true;}
    if (
$pass=="") { 
       
$error[2]='  Complete la contraseña'
       
$errores=true;}
    
}
   if (isset(
$nick) && isset($pass) && ! $errores)
   {

   
// Comprobar que el usuario está autorizado a entrar
      
include("libreria.php");
        
$conexion=conecta();
      
$salt substr ($nick02);
      
$clave_crypt crypt ($pass$salt);
      
$instruccion "select nick, pass from usuarios where nick = '$nick'" .
         
" and pass = '$clave_crypt'";
      
$consulta mysql_query ($instruccion$conexion)
         or die (
"Fallo en la consulta");
      
$nfilas mysql_num_rows ($consulta);
      
mysql_close ($conexion);

   
// Los datos introducidos son correctos
      
if ($nfilas 0)
      {
         
$usuario_valido $nick;
         
// Con register_globals On
         // session_register ("usuario_valido");
         // Con register_globals Off
         
$_SESSION["usuario_valido"] = $usuario_valido;
      }
   }
?>

<!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>subearchivos.com</title>


<link href="stilo.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--

-->
</style>
</head>
<?php
        
if(isset($_SESSION["usuario_valido"])){
        
//re-direccionar a admindescarga.php
             
header("location: admindescarga.php");        
        }
        else{ 
?>

<body class="stilo2">

        

         <div id="Layer4"><img src="logo01 copy.jpg" width="800" height="600" /></div>
         <span class="Estilo2"></span>         <span class="Estilo1"></span>
         <div id="Layer3" class="stilo3">
           
           
           
           <form id="form1" name="form1" method="post" action="index.php">
           <table>
             <tr>
               <td>Usuario: </td>
               <td><?php print"<input type='text' name='nick' value='".$nick."' />";?><?php print $error[1]; ?>
               </td>
             </tr>
             <tr>
               <td> Contraseña: </td>
               <td><input type='password' name='pass'/>
           <?php print $error[2]; ?>
               </td>
             </tr>
             <tr>
               <td><input type="submit" name="Submit" value="Enviar"/>
               </td>
               <td><input type="reset" name="Reset" value="Borrar"/>
               </td>
             </tr>
           </table>
           </form>
         </div>
         <div id="Layer1" class="stilo1">
<p class="stilo1" align="center">Bienvenido/a a tu gestor de archivos PAMAI</p>
<p class="stilo1" align="center">&nbsp;</p>
</div>
</body>
<?php ?>
</html>
y el otro archivo donde quiero que muestre loas archivos subidos por el usuario que a iniciado sesión:
Código PHP:
<?php
    
//Iniciar sesión
   
session_start();
   
$cod_usuario=$_REQUEST['cod_usuario'];

 
?>
 
<!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>Administrar mis descargas </title>
<link href="stilo.css" rel="stylesheet" type="text/css" />
</head>

<body class="stilo2">
<div id="Layer1">
<?php
// Establecer el número de filas por página y la fila inicial
        
$num 3;// número de filas por página
          
$comienzo=$_REQUEST[comienzo];
          if (!isset(
$comienzo)) 
            
$comienzo 0;    


// Sesión iniciada
   
if (isset($_SESSION["usuario_valido"]))
   {
        include(
"libreria.php");
        
$conexion=conecta();

   
if (isset (
$_REQUEST['modificar'])){
    
$errores false;
    
//print_r($_REQUEST);
    
$maxdes $_REQUEST['max'];
    
$vida $_REQUEST['vida'];
    
$estad $_REQUEST['estado'];

    if (
$maxdes=="") { 
       
$error[1]='  Complete la casillas'
       
$errores=true;}
    if (
$vida=="") { 
       
$error[2]='  Complete la casilla'
       
$errores=true;}
    
print 
$errores."..........";

}

if (isset (
$_REQUEST['modificar']) and $errores==false){

$codarchivo $_REQUEST['cod'];
    
$conexion=conecta();
$sq2="update archivos set max_descargas='$maxdes', tiempo_vida='$vida', estado='$estad' where cod_archivo='$codarchivo'";
print 
$sq2;
$registros2=mysql_query($sq2,$conexion) or
              die(
"Problemas en el update".mysql_error());
 echo 
"Archivo fue modificado";
         
$pagina="admindescarga.php";
        
header("Location:$pagina");
 }        
    

        
//$sq3="select * from archivos where codigo_usuario=";
        //$registros=mysql_query($sq3,$conexion) or
          //die("Problemas en el select:".mysql_error());
        
        //listado subidas
        
        
$sql="select * from archivos where codigo_usuario=".$cod_usuario;
        
$registros=mysql_query($sql,$conexion) or
          die(
"Problemas en el select:".mysql_error());
        
    
        
        print 
"<p class='stilo5'>Mantenimiento:</p>";
           print 
"<table border='2' cellspacing='0' class='stilo4'>";
           print 
"<tr><td class='stilo6'>Nombre archivo</td><td>Tamaño</td><td>Numero descargas</td><td>Max descargas</td><td>Fecha Subida</td><td>Tiempo de vida</td><td>Estado</td></tr>";

        while (
$reg2=mysql_fetch_array($registros))
        {    
        
$estado=$reg2['estado'];
        
//$id=$reg['cod_archivo'];

        
        
              
print '<form action="admindescarga.php" method="post">';
            
            print 
'<input size=5 type="hidden" name="cod" value="'.$reg2['cod_archivo'].'">';
            print 
"<tr><td>".$reg2['nombre']."</td>";
            
              print 
"<td>".$reg2['size']."</td>";
            
               print 
"<td>".$reg2['num_descargas']."</td>";
            
            print 
'<td><input size=5 type="text" name="max" value="'.$reg2['max_descargas'].'"></td>';
        print (
"<font color='#990033'>$error[1]</font><BR>");"</td>";
        
            print 
"<td>".$reg2['fecha_subida']."</td>";
            
            print 
'<td><input size=5 type="text" name="vida" value="'.$reg2['tiempo_vida'].'"></td>';
        print (
"<font color='#990033'>$error[2]</font><BR>");"</td>";

            print 
"<td><select name='estado'>"
            print 
"<option value='-1' "
                if (
$estado == -1) { print " selected ";}
            print 
">Activo</option>";
            print 
"<option value='0' ";
                if (
$estado == 0) { print " selected ";}
            print 
">Inactivo</option>";
            print 
"</select>";
            
             print 
'<td><input type="submit" name="modificar" value="modificar"></td></tr>';
            print 
"</form>";
           }        
        print 
"</table>";
                    if (
$comienzo 0)
               print (
"[ <A HREF='$_SERVER[PHP_SELF]?comienzo=" . ($comienzo $num) . "'>Anterior</A> | ");
            else
               print (
"[ Anterior | ");
            if (
$nfilas > ($comienzo $num))
               print (
"<A HREF='$_SERVER[PHP_SELF]?comienzo=" . ($comienzo $num) . "'>Siguiente</A> ]\n");
            else
                print (
"Siguiente ]\n");

    
}

?>
</div>
</body>
</html>
No me muestra nada en la base de datos, no se si es que no coge bien los datos de la tabla usuarios.
  #2 (permalink)  
Antiguo 21/04/2010, 09:18
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Ayuda, Limitar el acceso a una base de datos

Debes depurar tus consultas. Usa las funciones que detectan los errores
Código PHP:
Ver original
  1. mysql_query('aqui va tu consulta') or die(mysql_error());
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 21/04/2010, 09:55
Avatar de dengaku  
Fecha de Ingreso: enero-2010
Mensajes: 69
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Ayuda, Limitar el acceso a una base de datos

um, e intentado esto

Código PHP:
                $uv=$_SESSION["usuario_valido"];
        
$sq3="select cod_usuario from usuarios where nick = '$uv'";
        
$registro1=mysql_query($sq3,$conexion) or
          die(
"Problemas en el select:".mysql_error());
        
        
$cu=$registro1
        
        
//listado subidas
        
        
$sql="select * from archivos where codigo_usuario = '$cu'";
        
$registros=mysql_query($sql,$conexion) or
          die(
"Problemas en el select:".mysql_error()); 
recojo el nick (asi se llama en al tabla) que esta en $_SESSION y selecciono el cod_usuario de usuarios siempre que sea igual a usuario_valido, despues saco la consulta $registro1 y lo paso a otra variable, tras esto realizo la última consulta conde saco todo de archivos siempre que codigo_usuario sea igual al $resgistro1, nos e si voy bien, pero tiene su lógica.

Etiquetas: limitar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:56.