Ver Mensaje Individual
  #16 (permalink)  
Antiguo 04/05/2005, 12:25
Avatar de nicolaspar
nicolaspar
 
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Quiero aclarar que este tipo de "charlas" no las tomo, ni como criticas, ni como peleas (aclaro esto antes de continuar, por que mucha gente cree eso y despues terminamos todos en la pileta de barro y aceite:D), sino como cruces de conocimientos, ya que para esos estamos aca, y es para aprender, y esta en particular esta interesante.
Aclarado eso, te comento que tenes los conseptos mezclados, y no muy claros.
Es válido lo que decis de validar el contenido, pero poniendo un trim no lo estas haciendo.
Una cosa es el isset que lo que hace es devolverte 1 o 0 dependiendo de si la var esta seteada o no.
Siguiendo con esto, y tratando de no salirme mucho del tema, si vos haces:
$var = $_GET["otraVar"];
Estas asignando a $var algo que no esta seteado (en el caso de que otraVar no este por get), por lo que en si el php.ini decis no mostrar los warning, no tendrás un error en pantalla, pero si un error lógico en la aplicación.
O sea, para esto lo logico es:
#Si es un string:
$var = isset($_GET["otraVar"]) ? $_GET["otraVar"] : 'undefined';
Esto te asegura que $var estará siempre seteada, sea con el valor pasado por get, o por el valor puesto entre los ''.
El tema de la sintaxis es algo de cada uno, por lo que es lo mismo que hacer:
if(isset($_GET["otraVar"])):
$var = $_GET["otraVar"];
else:
$var = 'undefined';
endif;
O hacer:
if(isset($_GET["otraVar"])){
$var = $_GET["otraVar"];
}else{
$var = 'undefined';
}

A esto agregale un trim (que no te solucionara nada), o pasalo por alguna función que te limpie este str de ',--,/**/, etc.
Si es un valor númerico entero, con pasarlo por un intval() será mas que suficiente.
Si queres mas seguridad podes pasarlo por un hash y un md5, validar integridades y demás que salen para otro lado.
El tema que decis "pero necesitas hacerlo por separado para que funcione bien" es lo que esta haciendo el if, podrías usar el and, para decir haceme la primer condicion y la segunda, o el && para decir haceme la primera, y la segunda solo si la anterior es valida, por lo que hacer esto:

if(isset($_GET["cantidad_child"]) && !empty($_GET["cantidad_child"] ) ){

Es hacer ambas cosas en la manera que están ordenadas en el if, primero el isset, despues el not empty.
Si me equivoque en algo, que esprovable, que alguién lo corrija.

Saludos.
__________________
Mi punto de partida es Que Bueno Lo Nuevo