06/07/2012, 04:51
|
| | | Fecha de Ingreso: enero-2010 Ubicación: Santander
Mensajes: 413
Antigüedad: 14 años, 10 meses Puntos: 6 | |
Recibiendo formularios vacios Muy buenas.
Necesito vuestra ayuda ya que por algun motivo que desconozco me envian desde mi web formulario vacios, cuando por logica no se podria.
os dejo el codigo para ver si alguien me da una solución.
Formulario
Código:
<form id="pie" onSubmit="return validar(this)" action="enviar.php" method="post">
<input type="text" name="nombre" id="nombre" alt="Nombre" value="Nombre" onfocus="cambiar(true,'nombre','Nombre')" onBlur="cambiar(false,'nombre','Nombre')"/>
<input type="text" name="mail" id="mail" alt="E-mail" value="E-mail" onFocus="cambiar(true,'mail','E-mail')" onBlur="cambiar(false,'mail','E-mail')" />
<input type="text" name="telefono" id="telefono" alt="Telefono" value="Telefono" onFocus="cambiar(true,'telefono','Telefono')" onBlur="cambiar(false,'telefono','Telefono')" />
<select name="tipo" id="tipo">
<option value="">¿Que necesitas?</option>
<option value="Diseño web completo">Diseño web completo</option>
<option value="Diseño web completo + Hosting y Dominio">Diseño web completo + Hosting y Dominio</option>
<option value="Diseño logotipo"> Diseño logotipo</option>
<option value="Diseño publicidad"> Diseño publicidad</option>
<option value="Diseño 2D tiendas, stand para ferias"> Diseño 3D tiendas, stand para ferias</option>
<option value="Diseño tienda virtual"> Diseño tienda online</option>
<option value="Depuración de codigo"> Depuración de codigo</option>
<option value="Actualización de codigo"> Actualización de codigo</option>
<option value="Personalización de blog"> Personalización de blog</option>
</select>
<select name="conocer" id="conocer">
<option value="">¿Como nos conociste?</option>
<option value="A traves de internet"> A traves de internet</option>
<option value="A traves de un amigo"> A traves de un amigo</option>
<option value="A traves de un foro"> A traves de un foro</option>
</select>
<label id="msg"><p>Describenos tú idea.</p></label>
<textarea name="msg" class="color" id="msg" alt="Comentario" value="Comentario" onFocus="cambiar(true,'msg','Comentario')" onBlur="cambiar(false,'msg','Comentario')"></textarea>
<div id="btn_form">
<input type="submit" value="enviar" alt="enviar" />
</div>
</form>
Este es el archivo de validacion
Código:
function validar(f){
var error="";
var f=document.forms[0];
var nombre=f.nombre.value;
var email=f.mail.value;
var telefono=f.telefono.value;
var tipo=f.tipo.value;
var conocer=f.conocer.value;
var msg=f.msg.value;
if(!isString(nombre) || nombre=="Nombre"){
error += "\n <br /><span> El nombre es obligatorio.</span>";
document.getElementById("nombre").style.borderColor= "#f00";
}
if(!isMail(email) || email=="E-mail"){
error += "\n <br /><span> El mail no es correcto.</span>";
document.getElementById("mail").style.borderColor= "#f00";
}
if(!isTelephone(telefono)){
error += "\n <br /><span> El telefono no es correcto.</span>";
document.getElementById("telefono").style.borderColor= "#f00";
}
if(!isString(tipo) || tipo==""){
error += "\n <br /><span> El tipo de servicios es necesario.</span>";
document.getElementById("tipo").style.borderColor= "#f00";
}
if(!isString(conocer) || conocer==""){
error += "\n <br /><span>Como nos conociste es necesario.</span>";
document.getElementById("conocer").style.borderColor= "#f00";
}
if(!isString(msg) || msg=="Comentario"){
error += "\n <br /><span> El comentario es obligatorio.</span>";
document.getElementById("msg").style.borderColor= "#f00";
}
if(error==""){
return true;
} else{
formMsg("<span2>Revise los siguientes errores:</span2>" + error);
return false;
}
}
function limpia(objeto){
objeto.style.borderColor="#978b7e";
}
function cambiar(b,campo,porDefecto){
var input = document.getElementById(campo);
if (b && (input.value == "" || input.value == porDefecto)) {
input.value = "";
input.style.color = "#5599cc";
} else if (!b && input.value == "") {
input.value = porDefecto;
input.style.color = "#5599cc";
} else {
input.style.color = "#5599cc";
}
}
function inicio(){
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++ ){
if (inputs[i].value != inputs[i].alt) {
//inputs[i].style.color = "#000";
inputs[i].value = inputs[i].alt;
}
}
}
function formMsg(t){
$("#formMsg").stop(true,true).html(t).show().delay(4000).fadeOut(4000);
}
Y este el php de envio
Código:
<?php
$nombre = $_POST['nombre'];
$mail = $_POST['mail'];
$telefono = $_POST['telefono'];
$proyecto = $_POST['tipo'];
$conocer = $_POST['conocer'];
$mensaje = $_POST['msg'];
$header = 'From: ' . $mail . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";
$mensaje = "Este correo electronico fue enviado por " .$nombre." \r\n";
$mensaje .= "Realizando una consulta sobre el siguiente proyecto : " .$proyecto. " \r\n";
$mensaje .= "Su numero de telefono es el: " .$telefono. " \r\n";
$mensaje .= "Su e-mail es: " .$mail. " \r\n";
$mensaje .= "Como nos conociste:".$conocer."\r\n";
$mensaje .= "Mensaje: " .$_POST['msg']. " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());
$para = '[email protected]';
$asunto = 'Desde PaxarinDesing inicio';
mail($para, $asunto, utf8_decode($mensaje), $header);
/**
Validate an email address.
Provide email address (raw input)
Returns true if the email address has the email
address format and the domain exists.
*/
function isValidEmail($email) {
$isValid = true;
if (strstr($_SERVER['HTTP_HOST'],'localhost') == FALSE) {
$atIndex = strrpos($email, "@");
if (is_bool($atIndex) && !$atIndex) {
$isValid = false;
} else {
$domain = substr($email, $atIndex+1);
$local = substr($email, 0, $atIndex);
$localLen = strlen($local);
$domainLen = strlen($domain);
if ($localLen < 1 || $localLen > 64) {
// local part length exceeded
$isValid = false;
} else if ($domainLen < 1 || $domainLen > 255) {
// domain part length exceeded
$isValid = false;
} else if ($local[0] == '.' || $local[$localLen-1] == '.') {
// local part starts or ends with '.'
$isValid = false;
} else if (preg_match('/\\.\\./', $local)) {
// local part has two consecutive dots
$isValid = false;
} else if (!preg_match('/^[A-Za-z0-9\\-\\.]+$/', $domain)) {
// character not valid in domain part
$isValid = false;
} else if (preg_match('/\\.\\./', $domain)) {
// domain part has two consecutive dots
$isValid = false;
} else if (!preg_match('/^(\\\\.|[A-Za-z0-9!#%&`_=\\/$\'*+?^{}|~.-])+$/', str_replace("\\\\","",$local))) {
// character not valid in local part unless
// local part is quoted
if (!preg_match('/^"(\\\\"|[^"])+"$/',str_replace("\\\\","",$local))) $isValid = false;
}
if ($isValid && !(checkdnsrr($domain,"MX") || checkdnsrr($domain,"A"))) {
// domain not found in DNS
$isValid = false;
}
}
}
return $isValid;
}
echo "<script>window.location='http://www.paxarindesign.es/resp_formu.html'</script>";
?>
La dirección de mi web por si quereis probar algo es http://www.paxarindesign.es
Los formularios me los envian desde el formulario que hay en el inicio
Un saludo y gracias |