Foros del Web » Programando para Internet » PHP »

Verificación de valor proveniente de form...

Estas en el tema de Verificación de valor proveniente de form... en el foro de PHP en Foros del Web. Saludos, No conozco mucho de php, y bueno el asunto es que en una página recibo unos valores de un formulario, pero hay algunos campos ...
  #1 (permalink)  
Antiguo 08/11/2004, 09:32
 
Fecha de Ingreso: marzo-2004
Ubicación: San José, Costa Rica
Mensajes: 234
Antigüedad: 13 años, 8 meses
Puntos: 0
Verificación de valor proveniente de form...

Saludos,

No conozco mucho de php, y bueno el asunto es que en una página recibo unos valores de un formulario, pero hay algunos campos que pueden haberse dejado vacios, el problema es que con php a diferencia de asp, si trato de pasar ese valor a una variable me daría un error.

Entonces tengo que comprobar que cada campo haya sido llenado antes de asginarlo a una variable, el punto es que la única forma que conozco es:

if (isset($_GET['First_Name'])){
$first_name = $_GET['First_Name'];
} else {
$first_name = "";
}

Pero lo veo poco práctico para muchos campos... no hay una forma más abreviada?? o no puede encapsular eso en una función y solo pasar el campo el nombre de la variable y que en la función compruebe si existe y asigne el valor correspodiente a la variable??

Otra pregunta que me nació de esto mismo si en PHP se puede el usar el "?" como en otros leguajes en forma de un IF:

variable = (true)? valor1 : valor2

???

Gracias por su ayuda.
__________________
Quieres una cuenta de Gmail?
Solo enviame un privado... :-)
  #2 (permalink)  
Antiguo 08/11/2004, 10:10
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 14 años, 5 meses
Puntos: 0
ok

Ok yo siempre lo he realizado como lo planteas, pero interesante el topic por eso me apunto para estar pendiente
__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.
  #3 (permalink)  
Antiguo 09/11/2004, 06:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Puedes usar la misma sinxtax abreviada para un IF "casi" como lo propones:

http://www.php.net/manual/en/control...ive-syntax.php

A todo esto .. los $_GET, $_POST .. etc .. son arrays así que puedes recorrerlas con un bucle tipo: foreach()

Por ejemplo .. validar que se requiera la existencia de N campos:

Código PHP:
$campos_requeridos=Array('variable1','variable2');    
foreach (
$campos_requeridos as $campo){
    if (empty(
$_POST[$campo])){
        echo 
"Falta: ".$campo;
    } else {
         
// Esto es sintax "variable variables".
         // Aquí se "crea" la variable $xxxx y se asinga su valor = "se globaliza"
        
${$_POST[$campo]}=$_POST[$campo];
    }

Si usas todo eso bajo una función .. tendrías que tener cuidado con el ambito de las variables . tendrías que declarar como global la variable creada.

Otra cosa que puedes usar es la función:
http://www.php.net/manual/en/function.extract.php

Eso convierte a $variables un arary como podría ser los $_GET .. etc ..

Y también puedes bajar el nivel de mensajes de aviso/error que PHP va a mostrar con la función:

error_reporting()
www.php.net/error_reporting

Para que no te de un "Notice" sobre variables externas no definidas .. aunque a nivel de buena programación es recomendable hacer el "isset()".

Un saludo,
  #4 (permalink)  
Antiguo 15/02/2005, 16:38
Avatar de xyyy7  
Fecha de Ingreso: enero-2004
Ubicación: Maracay.-
Mensajes: 637
Antigüedad: 13 años, 10 meses
Puntos: 5
Muy bueno, cluster justamente era lo que andaba buscando ....


si detengo la accion arriba juntatente con el echo farta, ...seguidamente luego si estan los campos rellenos me imagino que debe continuar la ejecucion del script

entonces para que esto? :

Cita:
else {
// Esto es sintax "variable variables".
// Aquí se "crea" la variable $xxxx y se asinga su valor = "se globaliza"
${$_POST[$campo]}=$_POST[$campo];
}
.... eso si NO lo entendi muy bien!
__________________
Maracay Edo Aragua - Venezuela :
Mi Favorita :
http://www.MySQL.Com

Última edición por xyyy7; 15/02/2005 a las 16:53
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 19:46.