hola,
pues bien, tengo un formulario de contacto en php con la libreria de phpmailer.
el 50% ya lo tengo solucionado, enviar y recibir los mails los recibo y los envia perfectamente.
el problema esta en que al darle a enviar sin ningun dato puesto, envia lo envia en blanco.
y cuando falta un campo, no me dice los errores que deberia escribir. dice: "error inesperado" y arriba sale " mensaje enviado".
Las dos cosas a la vez!!!! esta descordinasimo
function valida_email($email) {
$re= '#^[a-z0-9.!\#$%&\'*+-/=?^_`{|}~]+@([0-9.]+|([^\s]+\.+[a-z]{2,6}))$#si';
return preg_match($re, $email);
}
function validarTelefono($phone)
{
$reg = "#^\(?\d{3}\)?[\s\.-]?\d{3}[\s\.-]?\d{4}$#";
return preg_match($reg, $phone);
}
$submit=$_POST['Submit'];
if($submit == Submit)
{
$status = "OK";
$email=$_POST['email'];
$message=$_POST['message'];
$subject=$_POST['subject'];
$name=$_POST['name'];
$phone=$_POST['phone'];
$title=$_POST['title'];
$otros2=$_POST['otros2'];
$msg="";
$msgerror="";
//error_reporting(E_ERROR | E_PARSE | E_CORE_ERROR);
if ( strlen($name) < 1 )
{
$msgerror .="* Nombre valido.<BR />";
$status= "NOTOK";
}
//if (!stristr($email,"@") OR !stristr($email,"."))
if(!valida_email($email))
{
$msgerror .="* Mail incorrecto.<BR />";
$status= "NOTOK";
}
//if ( strlen($phone) < 9 )
if(validarTelefono($phone))
{
$msgerror .="*Telefono compuesto por 9cifras.<BR />";
$status= "NOTOK";
}
if($title=="Opcion2")
{
$headers4="
[email protected]";
}else if($title=="Opcion1"){
$headers4="
[email protected]";
}else if($title=="error"){
$status="NOTOK";
$msgerror .="* Seleccione un titulo.<BR />";
}
if ( strlen($message) < 10 )
{
$msgerror .="* Mensaje minimo 10 caracteres.<BR/>";
$status= "NOTOK";
}
$body1="<html>
<head>
<p><font face=Tahoma, Helvetica, sans-serif size=2 color=#333333>
<strong>Formulari de Contacte Web:</strong></font><br>
<br><hr width=450px align=left><br>
<font face=Tahoma, Helvetica, sans-serif size=2>
<title>Formulario de Contacto Web</title>
</head>
<body>
<strong>Nombre:</strong> $name.<br>
<strong>Teléfono:</strong> $phone.<br>
<strong>Título:</strong> $title: $otros2.<br>
<strong>Email:</strong> $email.<br>
<strong>Mensaje:</strong> $message.</font></p>
</body>
</html> ";
require_once 'phpmailer/class.phpmailer.php';
$mail = new PHPMailer ();
$mail -> SetFrom ("
[email protected]","
[email protected]") ;
$mail -> AddAddress ("$email","$name");
$mail -> Subject = "$title: $otros2";
$mail -> IsHTML (true);
$mail -> IsSMTP();
$mail -> Host = 'mail.dominio.com';
$mail -> Port = 2626;
$mail -> SMTPDebug = 2;
$mail -> SMTPAuth = true;
$mail -> Username = '
[email protected]';
$mail -> Password = 'password';
$mail -> MsgHTML(file_get_contents('www.dominio.com/archivos/recibido.html'));
if ($mail -> Send())
{
$msg=" Missatge enviat. Gràcies.";
}else{
$msgerror=" Error inesperado.";
}
$mail = new PHPMailer ();
$mail -> SetFrom ("
[email protected]","
[email protected]");
$mail -> AddAddress("$headers4");
$mail -> Subject = "$title: $otros2";
$mail -> IsHTML (true); // pones (true) en caso de usar formato HTML
$mail -> IsSMTP();
$mail -> Host = 'mail.dominio.com';
$mail -> Port = 2626;
$mail -> SMTPAuth = true;
$mail -> Username = '
[email protected]';
$mail -> Password = 'password';
$mail -> MsgHTML($body1);
$mail -> Send();
}
cualquier dato sera bien recibido!!!
gracias, saludos!