Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: d91 en 2 Junio 2015, 21:01 PM

Título: dirigirse a otro pagina enviando valores con $_GET
Publicado por: d91 en 2 Junio 2015, 21:01 PM
hola a todos, estoy intentando implementar que despues de hacer la consulta de insercion con php  y sqlite se redirija a otra pagina enviando una variable con el codigo que he insertado pero no encuentro la sintaxis que lo ejecute,
Código (php) [Seleccionar]

if($bd->query($sql)){
echo '<meta http-equiv="refresh" content="0;url=modulos/return_insert_est.php?var='$codigo'">';
}

el problema lo tengo al asignar el codigo a la variable var porque el error dice: unexpected $codigo, y si escribo
Código (php) [Seleccionar]

if($bd->query($sql)){
echo '<meta http-equiv="refresh" content="0;url=modulos/return_insert_est.php?var='<?php echo $codigo?>'">';
}

la variable aparece vacia porque estoy redundando con el echo, agradecere sus aportes
Título: Re: dirigirse a otro pagina enviando valores con $_GET
Publicado por: engel lex en 3 Junio 2015, 01:05 AM
puedes usar una variable de sesion que se cree y al leerse se destruya

Título: Re: dirigirse a otro pagina enviando valores con $_GET
Publicado por: d91 en 3 Junio 2015, 01:37 AM
estoy trabajando con sesiones en php por lo del logueo pero si hago esto despues de leer lo que necesito:
Código (php) [Seleccionar]

$_SESSION['var']==null;

no estare afectando a las demas?
Título: Re: dirigirse a otro pagina enviando valores con $_GET
Publicado por: engel lex en 3 Junio 2015, 01:41 AM
no... solo afectas a "var"

puedes hacer

Código (php) [Seleccionar]
if(isset($_SESSION['var']) && $_SESSION['var']!=null){
//hacer algo
}
$_SESSION['var']==null;
Título: Re: dirigirse a otro pagina enviando valores con $_GET
Publicado por: LaThortilla (Effort) en 5 Junio 2015, 17:54 PM
Intenta asi:

Te faltan los ('.') por eso te da error de sintaxis por que no estas concatenando

Código (php) [Seleccionar]
if($bd->query($sql)){
echo '<meta http-equiv="refresh" content="0;url=modulos/return_insert_est.php?var='.$codigo.'">';
}



Y este codigo esta mal:
// Toma en cuenta que todo este codigo esta entre <?php por lo tanto no se permite poner etiquetas <?php dentro de otras etiquetas <?php
Código (php) [Seleccionar]
if($bd->query($sql)){
echo '<meta http-equiv="refresh" content="0;url=modulos/return_insert_est.php?var='<?php echo $codigo?>'">'; //<-- ERROR
}


Ahora que la solución mas practica para direccionamiento a otra pagina desde php es:
Código (php) [Seleccionar]
if($bd->query($sql)){
header ("Location: ./modulos/return_insert_est.php?var=".$codigo);
}
Título: Re: dirigirse a otro pagina enviando valores con $_GET
Publicado por: dimitrix en 7 Junio 2015, 07:19 AM
@engel No olvides inicializarla...
Título: Re: dirigirse a otro pagina enviando valores con $_GET
Publicado por: engel lex en 7 Junio 2015, 07:27 AM
Cita de: dimitrix en  7 Junio 2015, 07:19 AM
@engel No olvides inicializarla...

Me resumo a la idea base, no?

:silbar:
Título: Re: dirigirse a otro pagina enviando valores con $_GET
Publicado por: dimitrix en 7 Junio 2015, 07:55 AM
Bueno bueno, si el chico no se ha suicido porque no le funcionaba...
Título: Re: dirigirse a otro pagina enviando valores con $_GET
Publicado por: LaThortilla (Effort) en 10 Junio 2015, 00:25 AM
No se por que se complica con una linea de código mal escrita...
Título: Re: dirigirse a otro pagina enviando valores con $_GET
Publicado por: gAb1 en 10 Junio 2015, 02:32 AM
Si no me equivoco es preferible usar unset() ya que no solo limpia el contenido de la variable, si no que también elimina la variable de la tabla.

Yo hago $var o $_SESSION['var'] = NULL para declarar una variable que no tiene contenido inicial. Pero date cuenta que lo que eso hace es reescribir el contenido (lo haya o no previamente). Sin embargo la variable sigue existiendo. Y unset() elimina la variable entera.

Y como dice Effort, la mejor manera de redireccionar en php es usando header(). Pero no te olvides de que no puede haber ningún tipo de output antes de llamarlo.