tome como base el formulario de
http://www.w3schools.com/php/showphp.asp?filename=demo_form_validation_complete
Código:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Formulario de Contacto</title>
</head>
<body>
<div class="formulario_imc">
<?php
// define variables and set to empty values
$apellido = $nombre = $telefono = $email = $distrito = $objetivo = $mensaje = $form_ok = "";
$telefono_Err = $email_Err = "";
$telefonoclass = $email_class = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$form_ok = TRUE; //verifica que el formulario esta ok
if (empty($_POST["telefono"])) {
$telefono_Err = "Ingresa tu número telefónico";
$telefono_class = "has-error";
$form_ok = FALSE;
} else {
$telefono = test_input($_POST["telefono"]);
// check if phone only contains numbers
if (!preg_match("/^[0-9]*$/",$telefono)) {
$telefono_Err = "Solo se permiten números";
$telefono_class = "has-error";
$form_ok = FALSE;
}
}
if (empty($_POST["email"])) {
$emailErr = "Ingresa tu email";
$email_class = "has-error";
$form_ok = FALSE;
} else {
$email = test_input($_POST["email"]);
// check if e-mail address is well-formed
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Ingresa un correo válido";
$email_class = "has-error";
$form_ok = FALSE;
}
}
if (empty($_POST["apellido"])) {
$apellido = "";
} else {
$apellido = test_input($_POST["apellido"]);
}
if (empty($_POST["nombre"])) {
$nombre = "";
} else {
$nombre = test_input($_POST["nombre"]);
}
if (empty($_POST["distrito"])) {
$distrito = "";
} else {
$distrito = test_input($_POST["distrito"]);
}
if (empty($_POST["objetivo"])) {
$objetivo = "";
} else {
$objetivo = test_input($_POST["objetivo"]);
}
if (empty($_POST["mensaje"])) {
$mensaje = "";
} else {
$mensaje = test_input($_POST["mensaje"]);
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
//despues de verificar el contenido del formulario
if($form_ok) {
$to_in = "info@miweb.com";
$subject_in = "Nuevo Cliente registrado:".$apellido.", ".$nombre." (".$email.") " ;
$message_in = "
<html>
<html>
<head>
<title>Nuevo Cliente registrado</title>
<style>
table, tr, th, td {
border: 1px;
}
th {
background:#000;
color:#FFF;
}
table {
width:100%;
}
</style>
</head>
<body>
<table>
<tr>
<th>Categoría</th>
<th>Apellidos y nombre</th>
<th>Teléfono</th>
<th>Email</th>
<th>Distrito</th>
<th>Objetivo</th>
</tr>
<tr>
<td>".$categoria."</td>
<td>".$apellido.",".$nombre."</td>
<td>".$telefono."</td>
<td>".$email."</td>
<td>".$distrito."</td>
<td>".$objetivo."</td>
</tr>
</table>
<table>
<tr>
<th>Mensaje</th>
</tr>
<tr>
<td>".$mensaje."</td>
</tr>
</table>
</body>
</html>
";
$subject_out .= "Confirmación de recepción de mensaje" ;
$message_out .= "
<html>
<head>
<title>Confirmación de recepción de mensaje</title>
</head>
<body>
<p><strong>Confirmación de recepción de mensaje</strong></p>
<p>Hemos recibido tu mensaje, nos comunicaremos contigo en un plazo máximo de 48 horas.</p>
<p></p>
<p>Atentamente</p>
</body>
</html>
" ;
$headers_in = "MIME-Version: 1.0" . "\r\n";
$headers_in .= 'From: web Server <miweb@miweb.com>' . "\r\n" ;
$headers_in .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers_out = "MIME-Version: 1.0" . "\r\n";
$headers_out .= 'From: web <info@miweb.com> ' . "\r\n" ;
$headers_out .= 'Reply-To: info@miweb.com' . "\r\n";
$headers_out .= "Content-type:text/html;charset=UTF-8" . "\r\n";
"X-Mailer: PHP/" . phpversion();
$mail_in = mail($to_in,'=?utf-8?B?'.base64_encode($subject_in).'?=',$message_in,$headers_in);
$mail_out= mail ($email,'=?utf-8?B?'.base64_encode($subject_out).'?=',$message_out,$headers_out);
if ($mail_in) {
require("../admin/settings.php");
$categoria=$_POST['categoria'];
$apellido=$_POST['apellido'];
$nombre=$_POST['nombre'];
$telefono=$_POST['telefono'];
$email=$_POST['email'];
$distrito=$_POST['distrito'];
$objetivo=$_POST['objetivo'];
$mensaje=$_POST['mensaje'];
$opcion_1="no_determinado";
$opcion_2="no_determinado";
$fecha_registro=$_POST['fecha_registro'];
$fecha_contacto="";
$insertar= "INSERT INTO contactos (
categoria,
apellido,
nombre,
telefono,
email,
distrito,
objetivo,
mensaje,
opcion_1,
opcion_2,
fecha_registro,
fecha_contacto
)
VALUES (
'$categoria',
'$apellido',
'$nombre',
'$telefono',
'$email',
'$distrito',
'$objetivo',
'$mensaje',
'$opcion_1',
'$opcion_2',
'$fecha_registro',
'$fecha_contacto'
)";
if (mysqli_query($conn, $insertar)) {
//echo "Registro creado con éxito";
} else {
echo "Error: " . $insertar . "<br>" . mysqli_error($conn);
}
mysqli_close ($conn);
?>
<div class="email_table">
<div class="email_table_cell">
<p><span class="btn btn-success">Registro completado</span></p>
<p>Se enviaron los datos satisfactoriamente, muy pronto nos pondremos en contacto contigo!</p>
</div>
</div>
<?php
}} else { {
?>
<p>Solicita mayor información y con gusto te responderemos.</p>
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post" enctype="multipart/form-data" name="calculadora_imc">
<div class="form-group">
<label for="apellido">Apellido</label>
<input type="text" class="form-control input-sm" nombre="apellido" id="apellido" placeholder="Apellido" value="<?php echo $apellido;?>" >
</div>
<div class="form-group">
<label for="nombre">Nombre</label>
<input type="text" class="form-control input-sm" nombre="nombre" id="nombre" placeholder="Nombre" value="<?php echo $nombre;?>" >
</div>
<div class="form-group <?php echo $telefono_class;?>">
<label for="telefono">Telefono</label> <span class="error"> * <?php echo $telefono_Err;?></span>
<input type="text" class="form-control input-sm has-error" name="telefono" id="telefono" placeholder="Telefono" value="<?php echo $telefono;?>">
</div>
<div class="form-group <?php echo $email_class;?>">
<label for="email">Email</label> <span class="error"> * <?php echo $email_Err;?></span>
<input type="text" class="form-control input-sm has-error" name="email" id="email" placeholder="Email" value="<?php echo $email;?>">
</div>
<div class="form-group">
<label for="distrito">Distrito</label>
<input type="text" class="form-control input-sm" nombre="distrito" id="distrito" placeholder="Distrito" value="<?php echo $distrito;?>" >
</div>
<div class="form-group">
<label for="objetivo">Objetivo</label>
<select class="form-control input-sm" nombre="objetivo" id="objetivo" >
<option value="<?php echo $objetivo;?>" selected><?php echo $objetivo;?></option>
<option value="Reducción de grasa corporal">Reducción de grasa corporal</option>
<option value="Aumento de masa muscular">Aumento de masa muscular</option>
<option value="Tonificación">Tonificación</option>
<option value="Mejora de energía">Mejora de energía</option>
<option value="Bienestar físico y emocional">Bienestar físico y emocional</option>
<option value="Coordinación">Coordinación</option>
<option value="Otros">Otros</option>
</select>
</div>
<div class="form-group">
<label for="mensaje">Mensaje</label>
<textarea class="form-control input-sm " nombre="mensaje" id="mensaje" placeholder="Mensaje" rows="3"><?php echo $mensaje;?></textarea>
</div>
<p><span class="error"> * Datos mínimos requeridos</span></p>
<input class="btn btn-primary btn-sm" type="submit" name="enviar" id="enviar" value="Enviar"/>
<input id="categoria" name="categoria" type="hidden" value="Cliente" >
<input id="fecha_registro" name="fecha_registro" type="hidden" value="<?php echo date("Y-m-d")?>">
</form>
<?php
} }//end of else block
?>
</div>
</body>
</html>