Foros del Web » Programando para Internet » PHP »

Caracteres extramos header localition

Estas en el tema de Caracteres extramos header localition en el foro de PHP en Foros del Web. Cuando redirecciono con header localition, se añade #_ a la url header ("Localition: http://www.google.es/"); Dirección final: http://www.google.es/#_ Alguna idea de como evitar esto Saludos y ...
  #1 (permalink)  
Antiguo 23/08/2011, 05:42
 
Fecha de Ingreso: octubre-2009
Mensajes: 54
Antigüedad: 15 años
Puntos: 2
Caracteres extramos header localition

Cuando redirecciono con header localition, se añade #_ a la url

header ("Localition: http://www.google.es/");

Dirección final: http://www.google.es/#_

Alguna idea de como evitar esto

Saludos y gracias de ante mano.
  #2 (permalink)  
Antiguo 23/08/2011, 06:27
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, 5 meses
Puntos: 1517
Respuesta: Caracteres extramos header localition

Si lo estás haciendo exactamente como lo mencionas, verifica si en el php.ini encuentras alguna directiva que indique esos caracteres. Haz una búsqueda en el php.ini a ver si encuentras #_
__________________
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 23/08/2011, 06:58
 
Fecha de Ingreso: octubre-2009
Mensajes: 54
Antigüedad: 15 años
Puntos: 2
Respuesta: Caracteres extramos header localition

Hola abimaelrc,

No tengo acceso al php.ini, la web esta online en hosting compartido.

Acabo de comprobar que no ocurre esto mismo en otras circunstancias, ocurre en este caso:

Realizo una consulta a mysql:

"Select id,nombre,fecha from juegos WHERE id = '1'"

Cuando obtendo el registro cambio acentos y espacios del nombre:

$search = array('Á', 'É', 'Í', 'Ó', 'Ú', 'á', 'é', 'í', 'ó', 'ú', 'Ü', 'ü', 'Ñ', 'ñ', ' ', '-');
$replace = array('a', 'e', 'i', 'o', 'u', 'a', 'e', 'i', 'o', 'u', 'u', 'u', 'n', 'n', '_', '_');

$name = str_replace($search, $replace, trim(strtolower($sql[1])));

Aquí armo la ruta:

$rurl = 'http://www.web.com/juegos/'.$sql[0].'-'.$name.'/';

Aqui redirijo:

header ("Location: $rurl");


Saludos y gracias.
  #4 (permalink)  
Antiguo 23/08/2011, 07:04
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, 5 meses
Puntos: 1517
Respuesta: Caracteres extramos header localition

En todo caso, haz un echo a la $sql[0].'-'.$name y verifica que te trae.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 23/08/2011, 07:23
 
Fecha de Ingreso: octubre-2009
Mensajes: 54
Antigüedad: 15 años
Puntos: 2
Respuesta: Caracteres extramos header localition

He verificado la variable y el resultado es el normal, además los caracteres extraños aparecen al final de la ultima barra

http://www.web.com/juegos/1-nombre/#_

Puede ser que tenga algo que ver con las redirecciones htacces

Saludos.
  #6 (permalink)  
Antiguo 23/08/2011, 07:24
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, 5 meses
Puntos: 1517
Respuesta: Caracteres extramos header localition

Oh, también puede ser, ¿como lo tienes declarado?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 23/08/2011, 08:33
 
Fecha de Ingreso: octubre-2009
Mensajes: 54
Antigüedad: 15 años
Puntos: 2
Respuesta: Caracteres extramos header localition

Lo tengo declarado así:

RewriteRule ^juegos/([0-9]*)-([[:punct:]/:\-\'{}()._&a-zA-Z0-9+=]*)/$ index.php?ver=jueg&idt=$1&name=$2

Disculpa la tardanza, he estado realizando unas pruebas al pensar que podría tener algo que ver las cookies o las sesiones cosas que he descartado, pero he sacado esta conclusión:

el problema viene desde la URL desde la que hago la redirección

Se hace una redirección a facebook, este redirecciona hacia:

http://www.web.com/fb.php?code=ydXyE...CGv89o8rnbta#_

Si hago un echo a $_GET['code'] no aparece "#_", puesto no cuenta como parametro

Pero al redireccionar con header a cualquier pagina, este código se traspasa a la URL nueva

PD: fb.php no cuenta con ninguna redireccion en htaccess

Saludos
  #8 (permalink)  
Antiguo 23/08/2011, 08:54
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, 5 meses
Puntos: 1517
Respuesta: Caracteres extramos header localition

Que tienes en index.php
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 23/08/2011, 09:18
 
Fecha de Ingreso: octubre-2009
Mensajes: 54
Antigüedad: 15 años
Puntos: 2
Respuesta: Caracteres extramos header localition

El index es: http://www.web.com/juegos/1-nombre/

Tengo el botón de fb connect, con evento onlogin hacia http://www.web.com/fb.php

onlogin="location.href='http://www.web.com/fb.php'"


Cuando el usuario se loguea en facebook es redireccionado hacia:

http://www.web.com/fb.php?state=66ds...CGv89o8rnbta#_


En este momento yo hago unas comprobaciones internas y si el resultado es el esperado "TRUE", redirecciono otra vez hacia:

http://www.web.com/juegos/1-nombre/

Aqui es donde esta el error, se traspasa el maldito #_ de la url "fb.php" hacia la nueva url
  #10 (permalink)  
Antiguo 23/08/2011, 11:44
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, 5 meses
Puntos: 1517
Respuesta: Caracteres extramos header localition

Es que sin ver todo el código es difícil indicarte. Una forma de resolver el problema es limpiar el resultado antes de redireccionar.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #11 (permalink)  
Antiguo 23/08/2011, 14:08
 
Fecha de Ingreso: octubre-2009
Mensajes: 54
Antigüedad: 15 años
Puntos: 2
Respuesta: Caracteres extramos header localition

Hola abimaelrc, te estaría agradecido si me explicases o me dieses información sobre como puedo limpiar el resultado antes de direccionar.

El problema es este:

Recibo parámetros vía $_GET en una pagina

fb.php?state=56f56g55&code=5656566tyy#_

$_GET['state'] = Correcto
$_GET['code'] = Correcto

Pero aparecen estos caracteres al final "#_", que no corresponde a $_GET['code']

Ahora al hacer header("Location http://www.lawebquesea.com/"), estos códigos raros se traspasan a la nueva url
  #12 (permalink)  
Antiguo 23/08/2011, 14:17
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, 5 meses
Puntos: 1517
Respuesta: Caracteres extramos header localition

Algo como
Código PHP:
Ver original
  1. $url = str_replace('#_', '', $url_a_editar);
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #13 (permalink)  
Antiguo 23/08/2011, 14:23
 
Fecha de Ingreso: octubre-2009
Mensajes: 54
Antigüedad: 15 años
Puntos: 2
Respuesta: Caracteres extramos header localition

Hola, asi no lo puedo solucionar date cuenta que el codigo "#_" no corresponde a ninguna variable

Etiquetas: caracteres, header
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 21:44.