Foros del Web » Programando para Internet » PHP »

como formulario php i javscript?

Estas en el tema de como formulario php i javscript? en el foro de PHP en Foros del Web. Estoy haciendo un formulario para recibirlo en un mail mediante php, pero quiero que compruebe que 2 campos tienen que estar obligatoriamente llenos. i que ...
  #1 (permalink)  
Antiguo 06/04/2004, 01:51
 
Fecha de Ingreso: abril-2004
Mensajes: 69
Antigüedad: 20 años
Puntos: 0
como formulario php i javscript?

Estoy haciendo un formulario para recibirlo en un mail mediante php, pero quiero que compruebe que 2 campos tienen que estar obligatoriamente llenos. i que el mail reciba todos los campos del formulario. A ver si alguien me ayuda. muchas gracias.
  #2 (permalink)  
Antiguo 06/04/2004, 02:53
 
Fecha de Ingreso: junio-2003
Mensajes: 744
Antigüedad: 20 años, 10 meses
Puntos: 0
Buenas, mira es sencillo..

En vez de hacer en el formulario un input submit haz un button con la propiedad onclick llamando a una funcion (por ej: comprobar_errores()) y arriba antes de cerrar el head del html haces la funcion comprobar_errores comprobando lo que quieras y cuando este todo como quieres haces un document.formulario.submit y ya esta..


Si no lo has entendido muy bien, te lo vuelvo a explicar con algun ejemplo pq no sé que nivel tienes...

Hasta luego!!!

P.d: Ahora que pienso tb podrías sacarlo solo con el php.. dime un poco más como quieres hacerlo..
__________________
Ibisof | Saludos desde Eivissa !!! :p

Última edición por Enea; 06/04/2004 a las 02:55
  #3 (permalink)  
Antiguo 06/04/2004, 03:06
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

La validacion de los valores de los formularios se debe hacer tanto en javascript como en PHP, siempre en los 2. Un script PHP nunca se debe fiar de lo que le llega desde el navegador, ya que es facilmente manipulable. Si solo validas en javscript, ya simplemente desactivando el soporte javascript del navegador ya no se validan.

La validacion javacript se hace de una forma parecida a lo que comenta Enea, solo que manteniendo el boton submit y metiendo la llamada a la funcion en el evento onsubmit del form. Si el formulario debe ser enviado, el codigo del onsubmit debe devolver true, si no se debe enviar, debe devolver false. Mas info en el foro de javascript.

Por el lado de PHP, la validacion la puedes hacer con isset() (www.php.net/isset) y empty() (www.php.net/empty). Si la validacion es incorrecta, puedes redireccionar a la pagina del formulario pasando el mensaje de error por GET para mostrarlo. O si el formulario es muy grande y quieres rellenar el formulario con los valores correctos, puedes en la validacion meter los validos en la sesion y mostrarlos en el formulario.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 06/04/2004, 03:11
 
Fecha de Ingreso: abril-2004
Mensajes: 69
Antigüedad: 20 años
Puntos: 0
ok

Entiendo lo del onclick, i eso es lo que tenia, pero al ponerle el document.form.submit no me lo envia.
Yo lo hacia en php por personalizar el email i porque el servidor web utiliza php, i ademas si fuera posible , me gustaria crear una copia del formulario en txt o algo en el servidor, por si el email se borrase o algo. Pongo el document.form.submit(); en el else cuando ya lo he comprobado lo que quiero. Mira a ver si me puedes ayudar, muchas gracias.
  #5 (permalink)  
Antiguo 06/04/2004, 04:36
 
Fecha de Ingreso: abril-2004
Mensajes: 69
Antigüedad: 20 años
Puntos: 0
casi ya

Practicamente me lo hace todo lo que quiero.
COmprueba primero en la hoja del formaulario si estan introducidos los campos obligatorios en JASCRIPT, i despues me abre una nueva ventana si son correctos los campos, en la que compongo el cuerpo del mensjae del mail, pero el mail me lo envia, pero no pasa los campos escritos en el formulario. aqui va el codigo:
----mail_comp.php---
<html><body>
<?php
$destinatario="[email protected]"; //cuenta a la que se envia el formulario
if (($Nombre=empty($_POST['Nombre'])) AND $Telefono=empty($_POST['Telefono']))
{
$Direccion=isset($_POST['Direccion']);
$Correo=isset($_POST['E-mail']);
$NombreLocal=isset($_POST['NombreLocal']);
$Caracteristicas=isset($_POST['Caracteristicas']);
$subject="Formulario de compra"; //asunto
$cuerpo=
"Este mensaje fue enviado por:\n" .
"Nombre: " . $Nombre."\n" .
"Direccion: " . $Direccion."\n" .
"Telefono: " . $Telefono."\n" .
"Correo: " . $Correo."\n" .
"NombreLocal: " . $NombreLocal."\n" .
"------------------------- COMENTARIO -------------------------\n\n" .
$Caracteristicas .
"\n\n------------------------------------------------------------\n" ;
mail($destinatario,$subject,$cuerpo);
}
else
{
print ("Debe introducir los campos obligatorios");
}
?></body></html>
En los campos q Telefono i nombre si que me escribe un valor, es 1. en los otros no encuentra los datos escritos del formulario .php.
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 20:26.