Foros del Web » Programando para Internet » PHP »

Se busca FUNCIÓN que....

Estas en el tema de Se busca FUNCIÓN que.... en el foro de PHP en Foros del Web. Ando en busca de alguna función, que en un registro de un formulario indique campos obligatorios y que asi a su vez no envie los ...
  #1 (permalink)  
Antiguo 23/02/2005, 21:23
Avatar de Jony.  
Fecha de Ingreso: noviembre-2004
Ubicación: Chile!
Mensajes: 497
Antigüedad: 20 años
Puntos: 0
Se busca FUNCIÓN que....

Ando en busca de alguna función, que en un registro de un formulario indique campos obligatorios y que asi a su vez no envie los datos que se guardan en la base de datos.

Por ejemplo si los campos Nombre y Email no se llenaron, que no se envien los datos, y pedirle al usuario en este caso que los llene si no el envio de la información no se ejecutara!

Espero que entienda!!! es tan simple como decir que quiero campos que sean obligatorios

Espero que exista esta función, se despide coordialmente
Jonathan Ramírez
__________________
*CL* Jonathan / Te amo en todo momento y por siempre...
Webjimenez - Mis fotos personales - Hospedaje web a tu medida por $ 5 dolares

Última edición por Jony.; 23/02/2005 a las 21:25
  #2 (permalink)  
Antiguo 23/02/2005, 21:26
 
Fecha de Ingreso: febrero-2004
Mensajes: 221
Antigüedad: 20 años, 9 meses
Puntos: 0
Aprende PHP :)
  #3 (permalink)  
Antiguo 23/02/2005, 21:31
Avatar de Terminator ®  
Fecha de Ingreso: julio-2004
Ubicación: San Isidro, Buenos Aires
Mensajes: 176
Antigüedad: 20 años, 4 meses
Puntos: 0
Una idea:
if ($_GET['mail'] = "" or $_GET['nombre'] = "")
{
echo "No se ingresaron todos los datos";
}
else
{
//procesar info
}
__________________
PC Impacto
  #4 (permalink)  
Antiguo 23/02/2005, 21:41
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 21 años, 6 meses
Puntos: 2
no creo que exista una funciona para ello, lo tienes que hacer tu, con IF-ELSE... o bien, lo más usado, es hacerlo con JavaScript.
__________________
I Love Programming...
  #5 (permalink)  
Antiguo 23/02/2005, 22:08
 
Fecha de Ingreso: septiembre-2002
Mensajes: 23
Antigüedad: 22 años, 2 meses
Puntos: 0
Si trabajas con Dreamweaver trae ya un behavior incorporado que te genera el script para validacion de formulario, si no son campos de tipo radio, listbox o combobox funciona muy bien y genera código en JScript.
  #6 (permalink)  
Antiguo 23/02/2005, 22:24
 
Fecha de Ingreso: febrero-2004
Mensajes: 221
Antigüedad: 20 años, 9 meses
Puntos: 0
Cita:
Iniciado por FuLaNo_
no creo que exista una funciona para ello, lo tienes que hacer tu, con IF-ELSE... o bien, lo más usado, es hacerlo con JavaScript.
Si lo haces con Javascript, tambien debes hacerlo con PHP.
Javascript es simplemente mas usado para ahorrar transferencia y ancho de banda.
  #7 (permalink)  
Antiguo 23/02/2005, 22:25
 
Fecha de Ingreso: febrero-2002
Ubicación: Chile
Mensajes: 1.573
Antigüedad: 22 años, 9 meses
Puntos: 2
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?





function mostrarformulario($nombre,$apellido,$email,$comentarios,$Submit)

{

//$nombre = $_POST['nombre'];
//$apellido =$_POST['apellido'];
//$email  =$_POST['email'];
//$comentarios =$_POST['comentarios'];
//$Submit= $_POST['Submit'];
echo "<form name=\"form1\" method=\"post\" action=\"f2.php\">";
if(
$Submit==NULL)
echo 
"\t";
elseif(
$nombre == NULL)
echo 
"falta nombre";

echo 
"  <p>nombre";
echo 
"    <input name=\"nombre\" type=\"text\" value=\"$nombre\" id=\"nombre\">";
echo 
"</p>";

if(
$Submit==NULL)
echo 
"\t";
elseif(
$apellido== NULL)
echo 
"falta apellido";

echo 
"  <p>apellido";
echo 
"    <input name=\"apellido\" type=\"text\"  value=\"$apellido\" id=\"apellido\">";
echo 
"</p>";

if(
$Submit==NULL)
echo 
"\t";
elseif(
$email== NULL)
echo 
"falta email";

echo 
" <p>email ";
echo 
"    <input name=\"email\" type=\"text\" value=\"$email\" id=\"email\">";
echo 
"</p>";

if(
$Submit==NULL)
{
echo 
"\t";
}
elseif(
$comentarios== NULL)
{
echo 
"faltan comentarios";
}

echo 
"  <p>comentarios ";
echo 
"    <textarea name=\"comentarios\" id=\"comentarios\">$comentarios</textarea>";
echo 
"</p>";

echo 
"<input type=\"submit\" name=\"Submit\" value=\"Enviar\">";
echo 
"</form>";
}
$nombre $_POST['nombre'];
$apellido =$_POST['apellido'];
$email  =$_POST['email'];
$comentarios =$_POST['comentarios'];

$Submit$_POST['Submit'];

if(
$Submit==NULL)
mostrarformulario($nombre,$apellido,$email,$comentarios,$Submit);

elseif (
$nombre == NULL || $apellido== NULL || $email == NULL || $comentarios == NULL)

mostrarformulario($nombre,$apellido,$email,$comentarios,$Submit);

else
echo 
"todo ok";
//aqui codigo para enviar a la mysql

?>


</body>
</html>


yo lo hago asi

no se si sera lo mas optimo, pero es lo que hay...

Última edición por NRLABS; 23/02/2005 a las 22:31
  #8 (permalink)  
Antiguo 23/02/2005, 22:49
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 21 años, 6 meses
Puntos: 2
Si usas JavaScript no es necesario validar todos los campos del formulario en el script PHP, solo tienes que verificar que se haya enviado por POST, y de no ser así volver al formulario (esto es simplemente para que no se pueda llenar por GET o se envie vacio)
__________________
I Love Programming...
  #9 (permalink)  
Antiguo 24/02/2005, 07:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por FuLaNo_
Si usas JavaScript no es necesario validar todos los campos del formulario en el script PHP, solo tienes que verificar que se haya enviado por POST, y de no ser así volver al formulario (esto es simplemente para que no se pueda llenar por GET o se envie vacio)
Ten cuidado con esa forma de trabajar .. por qué alguno vendrá con un formulario ejecutado en otro servidor (hasta un simple navegador) con tus rutinas javascript desactivadas y ahí pasará de todo .. Valida siempre en PHP por preacución y seguridad.

Un saludo,
  #10 (permalink)  
Antiguo 24/02/2005, 07:31
 
Fecha de Ingreso: febrero-2002
Ubicación: Chile
Mensajes: 1.573
Antigüedad: 22 años, 9 meses
Puntos: 2
Cita:
Iniciado por Cluster
Ten cuidado con esa forma de trabajar .. por qué alguno vendrá con un formulario ejecutado en otro servidor (hasta un simple navegador) con tus rutinas javascript desactivadas y ahí pasará de todo .. Valida siempre en PHP por preacución y seguridad.

Un saludo,
disculpa estimado cluster, yo le pegue un codigo mas arriba,

la idea es comprobar los campos, guardar lo que ya escribio y ademas
procesar los datos en un mismo php,

¿podrias fijarte si es optimo el programa? ¿que me recomendarias tu, dos paginas?,¿algo que mejorar a ese script?

Gracias y un saludo
  #11 (permalink)  
Antiguo 24/02/2005, 07:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por NRLABS
disculpa estimado cluster, yo le pegue un codigo mas arriba,

la idea es comprobar los campos, guardar lo que ya escribio y ademas
procesar los datos en un mismo php,

¿podrias fijarte si es optimo el programa? ¿que me recomendarias tu, dos paginas?,¿algo que mejorar a ese script?

Gracias y un saludo
Con respecto al código que pusistes ..

if($Submit==NULL)

usaría isset() ... o empty() mejor para ese caso que es lo que realmente andas buscando "que exista (esté definido) y que tenga un valor .. "

Por lo demás . .para validar campos requeridos por ejemplo podrías usar un array tipo:

Código PHP:
$campos_requeridos=Array('nombre_cliente','tipo_cliente','rut_cliente','rut_digito_cliente','direccion_cliente');
    
foreach (
$campos_requeridos as $campo){
    if (empty(
$_POST[$campo])){
        
$_SESSION['form']=$_POST;
        
$_SESSION['error_form']=1;
        
header("Location: $pag");
        exit;
    }

Bueno .. ahí uso sesiones .. si hay alguno que no tiene valor .. redirecciono automáticamente al formulario (esté en esa misma página o en otra ..) creando por médio (o volcando) todo el array superglobal $_POST que me contiene las variables del formulario para hacerlas llegar al formulario (leerlas de la sesión ..)

Con la misma filosofía .. podrías ir recolectando en un array todos los errores que tengas y donde se producen .. para al final redireccionar a tu formulario y ahí presentar los errores (mensajes) que correspondan.. En fin .. soluciones hay muchas.

Un saludo,
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 12:14.