Foros del Web » Programando para Internet » PHP »

PHP OO Formulario PHP

Estas en el tema de Formulario PHP en el foro de PHP en Foros del Web. Hola he hecho un formulario en PHP y en java... todo fuciona bien pero no sé porque de vez en cuando recibo e-mails vacíos cuando ...
  #1 (permalink)  
Antiguo 06/10/2011, 00:59
 
Fecha de Ingreso: octubre-2011
Ubicación: Girona
Mensajes: 4
Antigüedad: 12 años, 6 meses
Puntos: 0
Formulario PHP

Hola he hecho un formulario en PHP y en java... todo fuciona bien pero no sé porque de vez en cuando recibo e-mails vacíos cuando hay una obligación para escribir.
escribo el codigo para que me podáis decir donde he fallado. me haríais un favor muy grande!!
sludos
gracias

Envío PHP:

<?php
$to = "[email protected]";
$subject = "CAD transfer francia";
$msg = "CAD-transfer francia\n Un usuario solicita información o ha incluido algún comentario:\n";
$msg .= "Nombre: $_POST[nom]\n";
$msg .= "E-Mail: $_POST[email]\n";
$msg .= "Empresa: $_POST[societe]\n";
$error = array(00123,00124,00125,00126,00127,00234,00256);
$mailheaders = "Remitente: Usuario $_POST[nombre]\n";
mail($to, $subject, $msg, $mailheaders);
?>


Documento de vuelta html:

<script type="text/javascript">
<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}
function MM_validateForm() { //v4.0
if (document.getElementById){
var i,p,q,nm,test,num,min,max,errors='',args=MM_valida teForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmaill')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' falta la la direccion de correo.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' champ obligatoire.\n'; }
} if (errors) alert('formulaire incorrect:\n'+errors);
document.MM_returnValue = (errors == '');
} }
//-->
</script>
<div id="pagina">
<form action="envio-300-francia.php" method="post" name="contacto web" id="contacto web" onsubmit="MM_validateForm('nom','','R','email','', 'R','societe','','R');return document.MM_returnValue">
<p> Pr&eacute;nom et Nom <span class="obligatorio"> *</span>
<input name="nom" type="text" id="nom" size="32" maxlength="64" />
email <span class="obligatorio">*</span><br />
<input name="email" type="text" id="email" size="32" maxlength="64" />

<br />Soci&eacute;t&eacute;<span class="obligatorio">*</span><br />
<input name="societe" type="text" id="societe" size="32" maxlength="64" />
</p>
<p class="obligatorio"><em>*Champ obligatoire</em><br />
<br />
<input name="borrar" type="reset" class="boton" id="borrar" value="Effacer" />
&nbsp;
<input name="button" type="submit" id="button" value="Envoyer" />
</p>
</form>
</div>
  #2 (permalink)  
Antiguo 06/10/2011, 01:10
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Formulario PHP

Donde esta la "obligacion" para escribir?

La validacion en javascript solo funcionara cuando el navegador tenga activo javascript, siempre es necesario hacer tambien una validacion en PHP para evitarte ese y muchos otros problemas.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 06/10/2011, 01:34
 
Fecha de Ingreso: octubre-2011
Ubicación: Girona
Mensajes: 4
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Formulario PHP

perdona al igual no me he explicado bien, si no escribes los datos en el formulario pone formulario incorrecto y "el receptor, yo" no lo recibes, entonces de vez en cuando los recibo bacíos.
pero cuando pruebo sale bien.

saludos
Marlés
  #4 (permalink)  
Antiguo 06/10/2011, 02:00
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Formulario PHP

A ver, al parecer quien no se explico bien fui yo:

1- Tu formulario tiene validacion por medio de javascript nada mas
2- Tu usas un navegador con javascript habilitado
3- Que pasa si deshabilitas javascript?, seguro no veras la parte (en frances?) del alert('formulaire incorrect:\n'+errors);
4- En tu PHP solo recibes los datos sin hacer validacion y envias el correo
5- Si un usuario no tiene habilitado javascript en su navegador, podra enviar perfectamente correos vacios
6- Los bots (programas para realizar tareas repetitivas) tambien podran enviar correos vacios

Resumen: Debes validar los datos del formulario en PHP antes de enviar el correo.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 06/10/2011, 02:25
 
Fecha de Ingreso: octubre-2011
Ubicación: Girona
Mensajes: 4
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Formulario PHP

ok, ya entiendo, al igual parezco un poco dura pero... como se valida?
:(
saluso
  #6 (permalink)  
Antiguo 07/10/2011, 00:55
 
Fecha de Ingreso: octubre-2011
Ubicación: Girona
Mensajes: 4
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Formulario PHP

Ya he visto como se valida!! con los comportamientos, espero que asi funcione
muchas gracias
saludos....

Etiquetas: formulario, html, usuarios
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 07:09.