Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Problema al visitar otro perfil

Hola, el problema es que cuándo intento "visitar" otro perfil (perfil/2/demo), este me re direcciona al inicio, osea me dice que el usuario no existe.

usuario.php
<?php require_once('../conexion.php');

  $menu='usuario';

  if(!isset($_GET['iduser'])) header('Location:'.$dato[0]);

  $iduser=$_GET['iduser'];

  $accion_usuario=sprintf("SELECT * FROM d_users WHERE id=$iduser AND user=%s",
    formatearcadena($_GET['nombre'],'text'));
  $consulta_usuario=mysqli_query($conexion,$accion_usuario);
  $datos_usuario=mysqli_fetch_assoc($consulta_usuario);
  $cantidad_usuario=mysqli_num_rows($consulta_usuario); 

  if($cantidad_usuario==0) header('Location:'.$dato[0]);

  if($datos_usuario['id']==$_SESSION['iduser']) header('Location:'.$dato[0].'user/perfil');

?>

<?php mysqli_free_result($consulta_usuario); ?>
perfil.php
<?php require_once('../conexion.php');

$menu='perfil';

if(!isset($_SESSION['iduser'])) header('Location:'.$dato[0]);

$iduser=$_SESSION['iduser'];

//Cansultar datos del user
$accion_perfil="SELECT * FROM d_users WHERE id=$iduser";
$consulta_perfil=mysqli_query($conexion,$accion_perfil);
$datos_perfil=mysqli_fetch_assoc($consulta_perfil);
$cantidad_perfil=mysqli_num_rows($consulta_perfil);


?>

<?php mysqli_free_result($consulta_perfil); ?>
0
Puntos
97
Visitas
12
Resp
Por andresc9410 hace 2 semanas
Principiante
Respuesta #1
hola, parece que no recibe $_GET['user'], vamos a hacer una cosa.. abajo de tu primera linea del fichero usuario.php pega esto y ejecuta la pagina poniendo la id y el usuario:
var_dump($_GET);
exit;
de manera que quede así:
<?php require_once('../conexion.php');
var_dump($_GET);
exit;
y pegas en el hilo lo que aparece por pantalla ;P
0
Puntos
Por alber hace 2 semanas
Administrador
Respuesta #2
hola solo es una idea que puede ser una mala idea, pero seria bueno saber también como se comporta el htaccess,
0
Puntos
Por sergioalex hace 2 semanas
Experto Sitio web
Respuesta #3
alber dijo: hola, parece que no recibe $_GET['user'], vamos a hacer una cosa.. abajo de tu primera linea del fichero usuario.php pega esto y ejecuta la pagina poniendo la id y el usuario:
var_dump($_GET);
exit;
de manera que quede así:
<?php require_once('../conexion.php');
var_dump($_GET);
exit;
y pegas en el hilo lo que aparece por pantalla ;P
Aparece esto: array(2) { ["iduser"]=> string(2) "/2" ["nombre"]=> string(4) "demo" }
0
Puntos
Por andresc9410 hace 2 semanas
Principiante
Respuesta #4
sergioalex dijo: hola solo es una idea que puede ser una mala idea, pero seria bueno saber también como se comporta el htaccess,
Exacto por eso quiero ver primero que se está enviando por get..

Si el parámetro no llega es por el htaccess seguro y ahora que lo dices no estaría mal que lo publicará en el hilo :)
0
Puntos
Por alber hace 2 semanas
Administrador
Respuesta #5
#RewriteBase /
RewriteEngine on

RewriteRule ^user/perfil user/perfil.php
RewriteRule ^perfil(.+)/(.+) user/usuario.php?iduser=$1&nombre=$2
0
Puntos
Por andresc9410 hace 2 semanas
Principiante
Respuesta #6
andresc9410 dijo:
#RewriteBase /
RewriteEngine on

RewriteRule ^user/perfil user/perfil.php
RewriteRule ^perfil(.+)/(.+) user/usuario.php?iduser=$1&nombre=$2
hola amigo prueba asi tefalta el: /..

RewriteRule ^perfil/(.+)/(.+) user/usuario.php?iduser=$1&nombre=$2
1
Puntos
Por sergioalex hace 2 semanas
Experto Sitio web
Respuesta #7
Ok el problema está en que recibes como id user /2 cuando tienes que recibir solo 2 sin el /.

Prueba ajustando el htaccess como te comenta el compañero y nos cuentas.

Otra opción es formatear el valor como entero o eliminar el / mediante php:
$iduser=str_replace("/", "", $_GET['iduser']);
0
Puntos
Por alber hace 2 semanas
Administrador
Respuesta #8
sergioalex dijo:
andresc9410 dijo:
#RewriteBase /
RewriteEngine on

RewriteRule ^user/perfil user/perfil.php
RewriteRule ^perfil(.+)/(.+) user/usuario.php?iduser=$1&nombre=$2
hola amigo prueba asi tefalta el: /..

RewriteRule ^perfil/(.+)/(.+) user/usuario.php?iduser=$1&nombre=$2
Si, aparentemente era eso, gracias; una pregunta, ahora me sale un error, dice Undefined variable: datos_perfil
, tengo el contenido del avatar y el nombre en un include, esto afecta?
0
Puntos
Por andresc9410 hace 2 semanas
Principiante
Respuesta #9
hola amigo lo que dice que hay o tienes una varia que no as definido en el codigo, o esta mal escrita.. revisa bien y nos cuentas..
0
Puntos
Por sergioalex hace 2 semanas
Experto Sitio web
Respuesta #10
aaaaaaaaaaaa puede que te falte un ; , ya sabes que eso no se pone solo jejejej
0
Puntos
Por sergioalex hace 2 semanas
Experto Sitio web
Respuesta #11
sergioalex dijo: aaaaaaaaaaaa puede que te falte un ; , ya sabes que eso no se pone solo jejejej
jeje si, gracias.
0
Puntos
Por andresc9410 hace 2 semanas
Principiante
Respuesta #12
andresc9410 dijo:
sergioalex dijo: aaaaaaaaaaaa puede que te falte un ; , ya sabes que eso no se pone solo jejejej
jeje si, gracias.
Denada y gracias por compartir en el foro, te cuidas
1
Puntos
Por sergioalex hace 2 semanas
Experto Sitio web
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate