Nueva pregunta

Pregunta:

Fecha: 09-05-2017 13:50:13 (En Español)

Restricción de datos[No resuelta]

Que tal estoy trabajando con unos perfiles pero quiera poder hacer que los usuarios puedan visualizar sus datos como tal, pero cuando entre a otro perfil no muestre todos los datos del otro jugador ejem:

Juan (usuario logueado y dueño de estos datos)
Información | Estadísticas | Sanciones | Pagos

Lo que podrá ver Juan del perfil de:
Pepe (Usuario tercero a Juan y no es dueño de los datos) que solo pueda ver
Información

Pero no tengo ni idea de como hacer, alguien me podria dar una idea de como conseguir esto?

Saludos
Etiquetas: MySQL - MySQL Desarrollo - PHP - PHP Avanzado - Pregunta - Web Votos: 0 - Respuestas: 7 - Vistas: 14 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 10-05-2017 03:27:23 Hola, podrías compartir el código?
    Lo que hago yo cuando es así, es abrir tags php y preguntar... por ej
    <div class="form-group form-group-sm">
                            <label for="exampleInputName4" class="col-sm-2 control-label" >Procedimientos</label>
                            <div class="col-sm-4">
                                <input type="text" class="form-control" id="observaciones" <?php echo ($usuario->rol_id ==1||$usuario->rol_id ==6)?'':' disabled '; ?> >    
                            </div>
                            <label for="exampleInputName4" class="col-sm-1 control-label">HC</label>
                            <div class="col-sm-2">
                                <input type="text" class="form-control" id="hc" readonly>
                            </div>
                            <label for="exampleInputName4" class="col-sm-1 control-label">Cama</label>
                            <div class="col-sm-2">
                                <input type="text" class="form-control" id="cama" readonly>
                            </div>                                                
                    </div>
    


    En ese caso, tengo una clase que me trae los usuarios de la base de datos y tiene una function que me devuelve el rol_id.... en ese caso, si el rol_id es 6, no muestro el input.

    Espero haberte ayudado. No estaría mal si compartes el código para poder verlo mejor.

    Un saludo
      Votos: 1 - Link respuesta
     
  • Fecha: 11-05-2017 09:43:24 Que tal muchas gracias con la ayuda y perdona pero sigo sin entender tengo algo de conocimiento pero no estoy tan avanzado jajaja mira te paso esto para que tal vez me puedas ayudar
    https://pastebin.com/EXgcw6hD
      Votos: 0 - Link respuesta
     
  • Fecha: 12-05-2017 02:53:33 Adjunto un pedacito de código y te muestro:

    $usuario = $_GET['id'];
        $sql_pu = mysqli_query($conexion, "SELECT * FROM equalia_usuarios WHERE Usuario = '$usuario' ");
        $dato = mysqli_fetch_array($sql_pu);
    
    Para recorrer los campos de $dato, tienes que usar foreach, como te muestro abajo.
    Para ver lo que trae, podes hacer un print_r($dato);
    El foreach sería algo así
    foreach ($dato as $row){
           $row['web_permisos'] =.... ;
    } 
    
     


    Sería así:
    <?php 
    $web_permisos = 0;
    foreach ($dato as $row){
            if($row['web_permisos'] == 1) { $web_permisos =  1;}
    }
    if($web_permisos  == 1)  {  ?>                  
                    
                <li class="active"><a href="#Info"><i class="livicon" data-s="24" data-n="info"></i> Información</a></li>
                <li><a href="#Est"><i class="livicon" data-s="24" data-n="star-half"></i> Estadisticas</a></li>
                <li><a href="#Inf"><i class="livicon" data-s="24" data-n="warning"></i> Infracciones</a></li>
                <li><a href="#Pagos"><i class="livicon" data-s="24" data-n="credit-card"></i> Pagos</a></li>
    <?php }  // cierro el if
    else { echo "no tiene permisos"; } 
    ?>
     
    


    Espero no equivocarme y me hayas entendido. No ando con mucho tiempo.
    Un saludo
      Votos: 1 - Link respuesta
     
  • Fecha: 12-05-2017 06:31:25 Te agradezco la ayuda pero aun tengo un problema
    Lo que quiera hacer es hacer que el usuario dueño del perfil pueda ver todos sus datos

    Información | Estadísticas | Sanciones | Pagos

    pero si el intenta ver otro perfil el solo pueda ver el dato de

    Información

    En lo que me ayudaste fue que si el usuario su 'web_permiso' = 0 este no pueda ver nada solo podria ver
    Información |

    pero también lo vería en su perfil, no se si me este explicando bien
      Votos: 0 - Link respuesta
     
  • Fecha: 12-05-2017 08:51:45 En ese caso deberías guardar el login de la sesión y agregarlo como condición en el if.

    if ($_SESSION['user'] == $...)

    Se me ocurre eso. Sino compartí todo el código y lo miro más tranquilo a la noche.

    Un saludo
      Votos: 1 - Link respuesta
     
  • Fecha: 22-05-2017 10:00:00 Que tal ya pude como me habias dicho
    <ul class="nav nav-tabs">
    			<?php 
    linea 66			if ($_SESSION['login'] == $_GET['id']){ 
    				?>                  
                    
                <li class="active"><a href="#Info"><i class="livicon" data-s="24" data-n="info"></i> Información</a></li>
                <li><a href="#Est"><i class="livicon" data-s="24" data-n="star-half"></i> Estadisticas</a></li>
                <li><a href="#Inf"><i class="livicon" data-s="24" data-n="warning"></i> Infracciones</a></li>
                <li><a href="#Pagos"><i class="livicon" data-s="24" data-n="credit-card"></i> Pagos</a></li>
    
    
    			<?php }elseif( $dato['Rango'] == 301) {?>
    
    				<li class="active"><a href="#Info"><i class="livicon" data-s="24" data-n="info"></i> Información</a></li>
    				<li><a href="#Est"><i class="livicon" data-s="24" data-n="star-half"></i> Estadisticas</a></li>
    
    				<?php } else {?>
    
    				<li class="active"><a href="#Info"><i class="livicon" data-s="24" data-n="info"></i> Información</a></li>
    
    				<?php } ?>		 
    			 </ul><!-- .nav-tabs -->	
    


    Pero ahora cuando el usuario no esta logueado me sale en la pagina

    Notice: Undefined index: login in C:\xampp\htdocs\Fryst\usuario.php on line 66
      Votos: 0 - Link respuesta
     
  • Fecha: 23-05-2017 04:16:16 Hola Carlos, tan solo debes utilizar la función nativa de PHP isset() para verificar si la clave 'login' esta o no definida en tu array $_SESSION, veamos:

    Remplaza esta línea:
    if ($_SESSION['login'] == $_GET['id']){

    Por esta:
    if (isset($_SESSION['login']) && $_SESSION['login'] == $_GET['id']){


    Saludos y buen código!
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com