Foros del Web » Programando para Internet » PHP »

validar formulario con php

Estas en el tema de validar formulario con php en el foro de PHP en Foros del Web. Hola: primera vez que posteo aquí, desde muchas gracias a todos php ni idea estoy aprendiendo, y me pasa lo siguiente: tengo un form con ...
  #1 (permalink)  
Antiguo 17/12/2007, 12:58
 
Fecha de Ingreso: septiembre-2007
Mensajes: 24
Antigüedad: 16 años, 7 meses
Puntos: 0
validar formulario con php

Hola:

primera vez que posteo aquí, desde muchas gracias a todos
php ni idea estoy aprendiendo,
y me pasa lo siguiente:

tengo un form con un par de campos
ahora la idea esta en verificar los campos antes de enviar el form
y he echo esto pero nada de nada
no lo consigo hacer
una mano por favor si?

<body>
<form action="" method="post" name="form"
id="form">
Nombre: <input name="nombre" type="text"><br>
Marca: <input name="marca" type="text"><br>
Precio: <input name="precio" type="text"><br>
<input name="Guardar" text="Guardar" type="submit"><br>
<input name="Salir" text="Salir" type="submit"><br>
</form>
<?php if ($_REQUEST['nombre']==""){$_REQUEST['nombre']="Ingrese el Producto";}
?>
</body>
  #2 (permalink)  
Antiguo 17/12/2007, 13:01
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: validar formulario con php

amigo si envia por POST como lo indica en su form que pone

<form name="formulario" action="" method="POST">
...

pues debe recibir los datos de la misma forma quedaria

Código PHP:
<?php
if ($_POST[name] == "")
{
echo 
"Ingrese Nombre";
}
else
{
echo 
"$_POST[nombre]";
}
?>
despues lo demas se entiende no....
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #3 (permalink)  
Antiguo 17/12/2007, 13:06
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: validar formulario con php

sigo, es mas, puedes incluso si tienes mas botones aplicar que solo se ejecute el codigo cada cierto boton me explico....

Código:
<form name="aqui" action="" method="POST">
<input type="text" name="nombre">
<input type="submit" name="enviar" value="Ingresar">&nbsp;
<input type="submit" name="quitar" value="Eliminar">
</form>
y al recibir hacemos

Código PHP:
<?php
//ingresamos por ej...

if (isset($_POST[enviar]) && $_POST[nombre] != "")
//aqui dice si aprete el boton Ingresar y nombre es distinto de vacio ejecuto
//else de lo contrario no ejecuto
{
echo 
"Ingresamos  $_POST[nombre]";
}
else
{
echo 
"Ingrese Nombre";
}

//caso eliminar
if (isset($_POST[quitar]) && $_POST[nombre] != "")
//aqui dice si aprete el boton eliminar y nombre es distinto de vacio ejecuto
//else de lo contrario no ejecuto
{
echo 
"Eliminamos $_POST[nombre]";
}
else
{
echo 
"Ingrese Nombre";
}
?>

espero se entienda más, saludos
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #4 (permalink)  
Antiguo 17/12/2007, 13:18
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Re: validar formulario con php

Ok... Bienvenido a php como primera cosa :D

Vamos a dejar algunas cosas claras antes de llegar a contestar tu pregunta.

PHP se interpreta, por lo tanto todas las paginas php solo se ejecutan en el servidor, por lo tanto, cualquier validacion que quieras hacer en una pagina que ya esta cargada, puedes hacerlo via Javascript (ya que este lenguaje es ejecutado y no interpretado)

Una vez tienes tu formulario en la pagina, podemos decir que la pagina esta "interpretada" y de esta manera PHP ya cumplio su funcion.

Ahi es donde podrias agregar Javascript para validar tus campos.

Si los datos quisieras validarlos una vez enviado el formulario, ahi puedes utilizar php, pero debes tener claro cuales son los campos que vas a enviar y en que "metodo" (<form method="post" o method="get">)

Si los envias via post debes rescatarlos con $_POST['nombreDelCampo'] y si es con get lo haces con $_GET['nombreDelCampo'].

Ahora... si quieres hacerlo sin enviar el formulario, busca informacion de javascript para esto, y ve como acomodarlo a tu form.

Te dejo un ejemplo de javascript para que lo testees.
Código PHP:
<script language="javascript"
function 
verifica(){ 
    if(
document.form.nombre.value.length 2){ //si el largo de nombre es menor a 2 caracteres
        
alert("Debe ingresar un nombre"); //mensaje a la pantalla
        
document.form.nombre.focus(); //el puntero del mouse queda en nombre
        
return 0//devolvemos un cero para dejar de validar
    
}
    if(
document.form.marca.value.length 2){ //si el largo de marca es menor a 2 caracteres
        
alert("Debe ingresar una marca"); //mensaje a la pantalla
        
document.form.marca.focus(); //el puntero del mouse queda en marca
        
return 0//devolvemos un cero para dejar de validar
    
}
    if(
document.form.precio.value.length <= 0){ //si el largo de precio es igual o menor a 0 caracteres
        
alert("Debe ingresar un precio"); //mensaje a la pantalla
        
document.form.precio.focus(); //el puntero del mouse queda en precio
        
return 0//devolvemos un cero para dejar de validar
    
}else{ //sino enviamos el formulario
        
document.form.submit(); //enviamos formulario    
    
}

</script> 
</head> 
<body> 
    <form action="" method="post" name="form" id="form">
        Nombre: <input name="nombre" type="text"><br>
        Marca: <input name="marca" type="text"><br>
        Precio: <input name="precio" type="text"><br>
        <input name="Guardar" value="Guardar" type="button" onClick="javascript:verifica()"><br>
        <input name="Salir" value="Salir" type="button"><br>
    </form>
</body> 
Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #5 (permalink)  
Antiguo 18/12/2007, 11:33
 
Fecha de Ingreso: septiembre-2007
Mensajes: 24
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: validar formulario con php

muchísimas gracias, por sus respuestas
la idea es ir aprendiendo con algo, y se me ocurrió armar un sistema de pedidos
por esto el tema de los formularios,
ahora, yo algo de javascript cazo, pero php nada,
la pregunta del millón
cuando usar php y cuando no??
en la realidad existe una mezcla de java y php??
  #6 (permalink)  
Antiguo 18/12/2007, 13:26
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Re: validar formulario con php

si existe, la verdad esque si alguien tiene el javascript desactivado no validara nada, no es malo lo que propone Marvin, ya que javascript no necesita recargar la web para validar como lo hace php, pero hay ejemplitos con capas que bien puedes ocupar o el mismo ajax, ya que la validacion via server PHP es lo mas seguro....
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #7 (permalink)  
Antiguo 11/01/2008, 08:32
 
Fecha de Ingreso: diciembre-2007
Mensajes: 5
Antigüedad: 16 años, 4 meses
Puntos: 1
Re: validar formulario con php

Aparte de la validación javascript antes de enviar el formulario, Para evitar que los hackers inserten código no deseado hagan sql o email injection también es recomendable hacer una validacion en el lado del servidor. Recomiendo usar una función como esta:

<?php
function ValidarDatos($campo){
//Array con las posibles cadenas a utilizar por un hacker
$CadenasProhibidas = array("Content-Type:",
"MIME-Version:", //evita email injection
"Content-Transfer-Encoding:",
"Return-path:",
"Subject:",
"From:",
"Envelope-to:",
"To:",
"bcc:",
"cc:",
"UNION", // evita sql injection
"DELETE",
"DROP",
"SELECT",
"INSERT",
"UPDATE",
"CRERATE",
"TRUNCATE",
"ALTER",
"INTO",
"DISTINCT",
"GROUP BY",
"WHERE",
"RENAME",
"DEFINE",
"UNDEFINE",
"PROMPT",
"ACCEPT",
"VIEW",
"COUNT",
"HAVING",
"'",
'"',
"{",
"}",
"[",
"]",
"HOTMAIL", // evita introducir direcciones web
"WWW",
".COM",
"@",
"W W W",
". c o m",
"http://",
"$", //variables y comodines
"&",
"*"
);
//Comprobamos que entre los datos no se encuentre alguna de
//las cadenas del array. Si se encuentra alguna cadena se
//dirige a una página de Forbidden

foreach($CadenasProhibidas as $valor){
if(strpos(strtolower($campo), strtolower($valor)) !== false){
echo("<script>
alert('No puede introducir direcciones web, comillas, corchetes, código de programación o cualquier dato no relativo a los campos del formulario');
history.back();</script>");
exit;
}
}
}

//Asignamos la variable POST y llamada a la función Validardatos($texto)
$texto= $_POST["texto"];
ValidarDatos($texto);
?>
  #8 (permalink)  
Antiguo 23/01/2008, 17:14
 
Fecha de Ingreso: noviembre-2007
Mensajes: 118
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: validar formulario con php

Pregunta de novato...

pero donde pongo el PHP ... en la pagina de form.html (donde esta el formulario) y si es ahi, donde pongo el codigo PHP


o


en una pagina de confirmacin.php, donde nos envia el form....
algo asi..

<form name="form1" action="confirmacion.php" method="post">


En otras palabras, la validacion PHP se debe hacer antes o despues de enviado el formulario?

Gracias de antemano
  #9 (permalink)  
Antiguo 23/01/2008, 19:27
 
Fecha de Ingreso: mayo-2007
Ubicación: Chile
Mensajes: 42
Antigüedad: 16 años, 11 meses
Puntos: 1
Re: validar formulario con php

Yo haria la validacion de la segunda forma que indicaste, creando un php y llamarlo con le action del formulario.

La validacion del formulario como tengo la funcion para revisar en php, la hago una vez enviado el formulario para que llege de lado de sevidor.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 06:47.