Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/03/2013, 10:17
oscarvam
 
Fecha de Ingreso: marzo-2013
Mensajes: 3
Antigüedad: 11 años, 10 meses
Puntos: 0
Problema con form html y php

Hola a todos, soy nuevo por aquí, tengo un pequeño problema con un formulario html con archivo php. No consigo encontrar el fallo, pero no me funciona el formulario, espero que me podais ayudar. gracias. (espero a ver posteado en el sitio correcto, si no es asi pido disculpas)

Es el siguiente:

HTML:

Cita:
<form id="contact_form" name="contactform" method="post" action="email.php" >
<span id="success_message" style="display:none;" class="msg">Su mensaje ha sido enviado</span>

<div class="clearfix"></div>
<div class="clearfix">
<input name="name" type="text" id="contact_name" value="Nombre" onFocus="MM_setTextOfTextfield('name','','')" />
<span id="name_msg" class="msg "></span>
<span class="clear"></span> </div>
<div class="clearfix">
<input name="email" type="text" id="contact_email" value="e-Mail" onFocus="MM_setTextOfTextfield('email','','')" />
<span id="email_msg" class="msg "></span>
<span class="clear"></span> </div>
<div class="clearfix">
<textarea name="message" cols="5" rows="10" id="contact_message" onFocus="MM_setTextOfTextfield('message','','')">M ensaje</textarea>
<span id="message_msg" class="msg "></span>
<span class="clear"></span> </div>
<div class="buttons"><input class="button" type="reset" value="Borrar" /> <input name="submit" class="button" type="submit" id="submit_btn" value="Enviar" /></div>
</form>

PHP: (email.php)

Cita:
<?php

$send_email_to = "[email protected]";
$email_subject = "Mensaje enviado desde el formulario de Oscarvam";

function send_email($name,$email,$email_message)
{
global $send_email_to;
global $email_subject;

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
$headers .= "From: ".$email. "\r\n";

$message = "<strong>Email = </strong>".$email."<br>";
$message .= "<strong>Name = </strong>".$name."<br>";
$message .= "<strong>Message = </strong>".$email_message."<br>";
@mail($send_email_to, $email_subject, $message,$headers);
return true;
}

function validate($name,$email,$message)
{
$return_array = array();
$return_array['success'] = '1';
$return_array['name_msg'] = '';
$return_array['email_msg'] = '';
$return_array['message_msg'] = '';

if($email == '')
{
$return_array['success'] = '0';
$return_array['email_msg'] = 'introduzca un e-mail';
}
else
{
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email)) {
$return_array['success'] = '0';
$return_array['email_msg'] = 'e-mail incorrecto';
}
}

if($name == '')
{
$return_array['success'] = '0';
$return_array['name_msg'] = 'introduzca un nombre';
}
else
{
$string_exp = "/^[A-Za-z .'-]+$/";
if (!preg_match($string_exp, $name)) {
$return_array['success'] = '0';
$return_array['name_msg'] = 'nombre incorrecto.';
}
}


if($message == '')
{
$return_array['success'] = '0';
$return_array['message_msg'] = 'introduzca un mensaje';
}
else
{
if (strlen($message) < 2) {
$return_array['success'] = '0';
$return_array['message_msg'] = 'mensaje incorrecto.';
}
}
return $return_array;
}

$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];


$return_array = validate($name,$email,$message);
if($return_array['success'] == '1')
{
send_email($name,$email,$message);
}

header('Content-type: text/json');
echo json_encode($return_array);
die();

?>