Foros del Web » Programando para Internet » PHP »

Problema con $_GET a través de URL

Estas en el tema de Problema con $_GET a través de URL en el foro de PHP en Foros del Web. Hola, Resulta que yo tengo este condicional. Código PHP: $responder  =  $_GET [ "responder" ];          if(isset( $responder )) { $archivo  =  $_POST [ 'titulo' ]. '_' ...
  #1 (permalink)  
Antiguo 04/10/2011, 02:03
 
Fecha de Ingreso: abril-2011
Ubicación: España, Mdrid
Mensajes: 89
Antigüedad: 13 años
Puntos: 1
Problema con $_GET a través de URL

Hola,
Resulta que yo tengo este condicional.

Código PHP:
$responder $_GET["responder"];         

if(isset(
$responder)) {

$archivo $_POST['titulo'].'_'.$_SESSION['nombre_usuario'].'_conrespuesta.php';

$alerta "Estas respondiendo";

}

else {

    
$archivo $_POST['titulo'].'_'.$_SESSION['nombre_usuario'].'.php'


Es algo extraño puesto que cuando entro a la página con el $_GET["responder"]; me sale la alerta de que "Estoy respondiendo" pero el archivo que tengo declarado arriba ($archivo = $_POST['titulo'].'_'.$_SESSION['nombre_usuario'].'_conrespuesta.php';
) no se cumple es decir coge el archivo del else. Pero la cosa no se queda ahí porque cuando quito el "else" directamente no imprime nada como si el primer "$archivo" no existiese.

Gracias de antemano.
  #2 (permalink)  
Antiguo 04/10/2011, 02:39
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problema con $_GET a través de URL

Primero que nada, no esta bien asignar una variable sin saber si el indice existe en $_GET o no, o haces la comparacion directamente con $_GET o asignas un valor por default a $responder en caso de que no exista el indice:

Código PHP:
Ver original
  1. // Comparando directamente:
  2. if(isset($_GET['responder'])) {
  3. }
  4.  
  5. // Valor por default con asignacion ternaria:
  6. $responder = (isset($_GET['responder'])) ? true : false;
  7. if($responder) {
  8. }

Y, si sigue sin funcionar como esperas, verifica lo que estas recibiendo en $_GET, $_POST y $_SESSION:

Código PHP:
Ver original
  1. echo '<pre>';
  2. var_dump($_GET, $_POST, $_SESSION);
  3. echo '</pre>';
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 04/10/2011, 03:04
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 8 meses
Puntos: 297
Respuesta: Problema con $_GET a través de URL

De todas formas, aunque $_GET['responder'] no exista, $responder tendría una valor NULL que yo sepa, y por lo tanto el isset() devolvería false.

Lo que yo haría es:

Código PHP:
Ver original
  1. if ($_GET['responder']) {
  2.  
  3.     $archivo = $_POST['titulo'].'_'.$_SESSION['nombre_usuario'].'_conrespuesta.php';
  4.  
  5.     $alerta = "Estas respondiendo";
  6.  
  7. } else {
  8.  
  9.     $archivo = $_POST['titulo'].'_'.$_SESSION['nombre_usuario'].'.php'
  10.  
  11. }
  #4 (permalink)  
Antiguo 04/10/2011, 15:33
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problema con $_GET a través de URL

El problema de if($_GET['responder']), directamente, sin isset() es que si tienes el reporte de errores activo para warnings y la variable no se proporciono por URL veras el mensaje de indice no definido, por eso, si o si, debes verificar que exista.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 05/10/2011, 05:47
 
Fecha de Ingreso: abril-2011
Ubicación: España, Mdrid
Mensajes: 89
Antigüedad: 13 años
Puntos: 1
Respuesta: Problema con $_GET a través de URL

Sigue sin funcionar. ¿Pongo aquí todo el código?
  #6 (permalink)  
Antiguo 05/10/2011, 12:53
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problema con $_GET a través de URL

Si, pero tambien cuentanos que obtuviste con el var_dump que te sugeri.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: $_get, url
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 01:47.