Foros del Web » Programando para Internet » PHP »

Como evitar pasar variables inexistentes por $_GET

Estas en el tema de Como evitar pasar variables inexistentes por $_GET en el foro de PHP en Foros del Web. Código PHP: <?php include ( "conexion.php" ); $var = htmlentities ( $_GET [ 'noticia' ]); mysql_query ( "SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'" ); $a  =  mysql_query ( "select * from posteo where id='" . $var ...
  #1 (permalink)  
Antiguo 29/12/2010, 11:19
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 14 años, 9 meses
Puntos: 5
Como evitar pasar variables inexistentes por $_GET

Código PHP:
<?php
include ("conexion.php");
$var=htmlentities($_GET['noticia']);
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'");
$a mysql_query("select * from posteo where id='".$var."'"$db);
$varrr=htmlentities($_GET['noticia']);
?>
Por aca recibo la variable por url, mi pregunta es ¿Como puedo hacer que redireccione en caso de que no existe la consulta?.(mi problema es que cuando ejecuto una variable inexitente me muestra el contenido de la web sin nada, solo el diseño y quiero evitar eso ...)


Saludos! :)
  #2 (permalink)  
Antiguo 29/12/2010, 11:32
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años
Puntos: 39
Respuesta: Como evitar pasar variables inexistentes por $_GET

con un isset(); ejemplo

If (!isset($_GET['noticia'])) {
//direccionamiento
}


el isset nos dirá si existe o no la variable de get o post o cualquiera.

Saludos,
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/
  #3 (permalink)  
Antiguo 29/12/2010, 11:49
Avatar de softmaster  
Fecha de Ingreso: diciembre-2008
Mensajes: 230
Antigüedad: 15 años, 4 meses
Puntos: 12
Respuesta: Como evitar pasar variables inexistentes por $_GET

Otra forma es comprobar si la noticia existe antes de mostrar algo...

Lo podes hacer asi mira:


Código PHP:
//recibo variable
$var=mysql_real_escape_string($_GET['noticia']);

//compruebo si la noticia esta vacia sino compruebo que es un numero
  /* This will return false! */
  
if (empty($var))
     
header("Location: error.php");
  else
     if (
is_numeric($var)){
} else {
header("Location: error.php");
}

//Conexion con la base
mysql_connect("$localhost","$username_bd","$password_bd"); 

//selección de la base de datos con la que vamos a trabajar 
mysql_select_db("$database_bd"); 

//Ejecutamos la sentencia SQL


//comprobar noticia
$comprobar1=mysql_query("SELECT id FROM posteo WHERE id='".$var."'");
$comprobar1_exist mysql_num_rows($comprobar1);
if (
$comprobar1_exist==0) {
header("Location: error.php");
}
mysql_free_result($comprobar1); 
con esto comprobas si generar una consulta si recibiste el id y si es un numero y despues comprobar con una consulta a la base de datos si el id existe

Última edición por softmaster; 29/12/2010 a las 11:54 Razón: agregue info
  #4 (permalink)  
Antiguo 29/12/2010, 12:24
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 14 años, 9 meses
Puntos: 5
Respuesta: Como evitar pasar variables inexistentes por $_GET

Muchas gracias, k++

Etiquetas: pasar, variables
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 02:30.