y quiero hacer mi propia validación desde el formulario porque tengo correo, assumpto, nombre, mensaje,recapatcha y a lo mejor dentro de un tiempo quiero poner el teléfono por ejemplo
si pongo un correo y un mensaje y pongo enviar envia el mensaje
aunque yo tenga las validaciones hechas en el formulario
siempre prevalece class.phpmailer.php de el formulario lo que no se es que tengo que comentar
no pongo el codigo de class.phpmailer.php porque son 2323 linias
PHPMailer v5.1
http://sourceforge.net/projects/phpm...0for%20php5_6/
class.phpmailer.php
linia 775 por ejemplo he quitado esta linia porque mostraba cuando un mensaje avia sido enviado correctamente para un usuari no le interesa este mensaje
//$this->smtp->do_debug = $this->SMTPDebug;
Advanced Example using Gmail (for PHPMailer v5.0.0 and up)
http://phpmailer.worxware.com/index....=exampleagmail
tengo este fichero que se llama phpmailer.php
<html>
<head>
<link rel="stylesheet" type="text/css" media="screen" href="css/estilos.css" />
</head>
<body>
Código PHP:
<?php
include("class.phpmailer.php");
//include("class.smtp.php");
$mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch
$mail->IsSMTP(); // telling the class to use SMTP
try {
$mail->Host = "localhost"; // SMTP server
$mail->SMTPDebug = 2; // enables SMTP debug information (for testing)
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
$mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server
$mail->Port = 465; // set the SMTP port for the GMAIL server
$mail->Username = "[email protected]"; // GMAIL username
$mail->Password = "*******"; // GMAIL password
$mail->AddAddress(strtolower($_POST['correo']),strtolower($_POST['nombre']) );
$mail->SetFrom('[email protected]', 'empresa');
$mail->Subject=("empresa ".strtolower($_POST['assumpto']));
$mail->MsgHTML(strtolower($_POST['mensaje']));
$mail->Send();
echo "<span class='correcta'><h2>Mensaje enviado correctamente</h2></span>\n";
} catch (phpmailerException $e) {
Aquí me salia invalid adress y body si no es tan llenos los 2 campos
// echo $e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
// echo $e->getMessage(); //Boring error messages from anything else!
}
?>
</html>
tengo este fichero que se llama contactar.php es el formulario donde hago las validaciones aun me faltan validaciones en el fichero
<form action="contactar.php" method="post" name="contactar" enctype="multipart/form-data">
<p>Campos obligatoris <span class="obligatorio">*</span></p>
<div>
<label for="correo">Correo <span class="obligatorio">*</span></label>
<input type="text" name="correo" id="correo" value="<?php echo $_POST['correo'] ?>" maxlength="38" size="28" />
<?php
if($_POST['enviar'] and !$_POST['correo'] ){
echo "<span class='validacion'></br>Introduzca el correo</span>";
}
?>
</div>
<div>
<label for="assumpto">Assumpto <span class="obligatorio">*</span></label>
<input type="text" name="assumpto" id="assumpto" value="<?php echo $_POST['assumpte'] ?>" maxlength="38" size="28"/>
<?php
if($_POST['enviar'] and !$_POST['assumpto'] ){
echo "<span class='validacion'></br>Introdusca el assumpto</span>";
}
else if($_POST['enviar'] and preg_match('/[^a-zA-Z ]/' ,$_POST['assumpto'] ) ){
echo "<span class='validacion'></br>El assumpto tiene que ser alfabetico</span>";
}
else if ( $_POST['enviar'] and strlen($_POST['assumpto'])<='5' or strlen($_POST['assumpto'])>='38'){
echo "<span class='validacion'></br>
El mensaje tiene que tener entre 5 i 38 palabras</span>";
}
?>
</div>
<div>
<input type="text" name="nombre" id="nombre" value="<?php echo $_POST['nombre'] ?>" maxlength="38" size="28">
<label for="nombre">Nom i Cogs <span class="obligatorio">*</span></label>
<?php
if($_POST['enviar'] and !$_POST['nombre'] ){
echo "<span class='validacion'></br>Introduzca el nombre</span>";
}
else if($_POST['enviar'] and preg_match('/[^a-zA-Z ]/',$_POST['nombre']) ){
echo "<span class='validacion'></br>El nombre tiene que ser alfabetico</span>";
}
else if($_POST['enviar'] and str_word_count($_POST['nombre']) !=3 ){
echo "<span class='validacion'></br>Faltan los apallidos</span>";
}
else if ( $_POST['enviar'] and strlen($_POST['nombre'])<='9' or strlen($_POST['nombre'])>='38'){
echo "<span class='validacion'></br>El nombre i apellidos tiene de tener entre 9 i 38 palabras</span>";
}
?>
</div>
<div>
<textarea type="text" id="mensaje" name="mensaje" cols="32" rows="10"><?php echo $_POST['mensaje'] ?></textarea>
<label for="mensaje">Mensaje<span class="obligatorio">*</span></label>
<?php
if($_POST['enviar'] and !$_POST['mensaje'] ){
echo "<span class='validacion'>Introduzca el mensaje</span></br>";
}
else if($_POST['enviar'] and preg_match('/[^a-zA-Z0-9 ]/',$_POST['mensaje']) ){
echo "<span class='validacion'></br>
El mensaje solo puede contener valores numéricos i alfanuméricos</span>";
}
else if ( $_POST['enviar'] and strlen($_POST['mensaje'])<='15' or strlen($_POST['mensaje'])>='250'){
echo "<span class='validacion'></br>El mensaje tiene que tener entre 15 y 250 palabras</span>";
}
?>
</div>
<div>
<label for="recaptcha">recaptcha <span class="obligatorio">*</span></label>
<?php
include("correo/recaptcha.php");
?>
</div>
<div class="botones">
<input type="submit" name="enviar" value="enviar" id="enviar" />
</div>
</form>
<?php
include("correo/phpmailer.php");
?>
</div>