Hola amigos del foro. Tengo un problema con el codigo. al ejecutarlo me salta el sig. error para cada text box: Notice: Undefined variable: error1 in ... index.php on line 45
Notice: Undefined variable: error2 in ... index.php on line 46 y haci susesivamente.
Pero dentro de los textbox dice: (el primero de ejemplo) <br /><b>Notice</b>: Undefined index: nombre in <b>index.php</b> on line <b>45</b><br />
Espero no haberlos entreveradoo. jee
Adjunto el codigo aver si pueden ayudarme. y desde ya muchas gracias.
index.php
Código PHP:
Ver original<html>
<head>
<title>Contacto</title>
<link rel='stylesheet' href='estilos.css'>
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js'></script>
<script src='funciones.js'></script>
</head>
<body>
<?php
if(isset($_POST['boton'])){ if($_POST['nombre'] == ''){
$error1 = '<span class="error">Ingrese su nombre</span>';
}else if($_POST['email'] == '' or
!preg_match("/^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/",$_POST['email'])){ $error2 = '<span class="error">Ingrese un email correcto</span>';
}else if($_POST['asunto'] == ''){
$error3 = '<span class="error">Ingrese un asunto</span>';
}else if($_POST['mensaje'] == ''){
$error4 = '<span class="error">Ingrese un mensaje</span>';
}else{
$nombre = $_POST['nombre'];
$email = $_POST['email'];
$asunto = $_POST['asunto']; //Asunto
$cuerpo = $_POST['mensaje']; //Cuerpo del mensaje
//Cabeceras del correo
$headers = "From: $nombre $email\r\n"; //Quien envia?
$headers .= "X-Mailer: PHP5\n";
$headers .= 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; //
if(mail($dest,$asunto,$cuerpo,$headers)){ $result = '<div class="result_ok">Email enviado correctamente :)</a>';
// si el envio fue exitoso reseteamos lo que el usuario escribio:
$_POST['nombre'] = '';
$_POST['email'] = '';
$_POST['asunto'] = '';
$_POST['mensaje'] = '';
}else{
$result = '<div class="result_fail">Hubo un error al enviar el mensaje :(</a>';
}
}
}
?>
<form class='contacto' method='POST' action=''>
<div><label>Tu Nombre:</label><input type='text' class='nombre' name='nombre' value='<?php echo $_POST['nombre']; ?>'><?php echo $error1 ?></div>
<div><label>Tu Email:</label><input type='text' class='email' name='email' value='<?php echo $_POST['email']; ?>'><?php echo $error2 ?></div>
<div><label>Asunto:</label><input type='text' class='asunto' name='asunto' value='<?php echo $_POST['asunto']; ?>'><?php echo $error3 ?></div>
<div><label>Mensaje:</label><textarea rows='6' class='mensaje' name='mensaje'><?php echo $_POST['mensaje']; ?>'</textarea><?php echo $error4 ?></div>
<div><input type='submit' value='Envia Mensaje' class='boton' name='boton'></div>
<?php echo $result; ?>
</form>
</body>
</html>
funciones.js
Código Javascript
:
Ver original$(function() {
var emailreg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
$(".boton").click(function(){
$(".error").fadeOut().remove();
if ($(".nombre").val() == "") {
$(".nombre").focus().after('<span class="error">Ingrese su nombre</span>');
return false;
}
if ($(".email").val() == "" || !emailreg.test($(".email").val())) {
$(".email").focus().after('<span class="error">Ingrese un email correcto</span>');
return false;
}
if ($(".asunto").val() == "") {
$(".asunto").focus().after('<span class="error">Ingrese un asunto</span>');
return false;
}
if ($(".mensaje").val() == "") {
$(".mensaje").focus().after('<span class="error">Ingrese un mensaje</span>');
return false;
}
});
$(".nombre, .asunto, .mensaje").bind('blur keyup', function(){
if ($(this).val() != "") {
$('.error').fadeOut();
return false;
}
});
$(".email").bind('blur keyup', function(){
if ($(".email").val() != "" && emailreg.test($(".email").val())) {
$('.error').fadeOut();
return false;
}
});
});
estilo.css
Código CSS:
Ver original*{
font-family: sans-serif;
font-size: 12px;
color: #798e94;
}
body{
width: 400px;
margin: auto;
background-color: #E2ECEE;
}
.contacto{
border: 1px solid #CED5D7;
border-radius: 6px;
padding: 45px 45px 20px;
margin-top: 50px;
background-color: white;
box-shadow: 0px 5px 10px #B5C1C5, 0 0 0 10px #EEF5F7 inset;
}
.contacto label{
display: block;
font-weight: bold;
}
.contacto div{
margin-bottom: 15px;
}
.contacto input[type='text'], .contacto textarea{
padding: 7px 6px;
width: 294px;
border: 1px solid #CED5D7;
resize: none;
box-shadow:0 0 0 3px #EEF5F7;
margin: 5px 0;
}
.contacto input[type='text']:focus, .contacto textarea:focus{
outline: none;
box-shadow:0 0 0 3px #dde9ec;
}
.contacto input[type='text'].invalido, .contacto textarea.invalido{
box-shadow:0 0 0 3px #FFC9C9;
}
.contacto input[type='submit']{
border: 1px solid #CED5D7;
box-shadow:0 0 0 3px #EEF5F7;
padding: 8px 16px;
border-radius: 20px;
font-weight: bold;
text-shadow: 1px 1px 0px white;
background: #e4f1f6;
background: -moz-linear-gradient(top, #e4f1f6 0%, #cfe6ef 100%);
background: -webkit-linear-gradient(top, #e4f1f6 0%,#cfe6ef 100%);
}
.contacto input[type='submit']:hover{
background: #edfcff;
background: -moz-linear-gradient(top, #edfcff 0%, #cfe6ef 100%);
background: -webkit-linear-gradient(top, #edfcff 0%,#cfe6ef 100%);
}
.contacto input[type='submit']:active{
background: #cfe6ef;
background: -moz-linear-gradient(top, #cfe6ef 0%, #edfcff 100%);
background: -webkit-linear-gradient(top, #cfe6ef 0%,#edfcff 100%);
}
.error{
background-color: #BC1010;
border-radius: 4px 4px 4px 4px;
color: white;
font-weight: bold;
margin-left: 16px;
margin-top: 6px;
padding: 6px 12px;
position: absolute;
}
.error:before{
border-color: transparent #BC1010 transparent transparent;
border-style: solid;
border-width: 6px 8px;
content: "";
display: block;
height: 0;
left: -16px;
position: absolute;
top: 8px;
width: 0;
}
.result_fail{
background: none repeat scroll 0 0 #BC1010;
border-radius: 20px 20px 20px 20px;
color: white;
font-weight: bold;
padding: 10px 20px;
text-align: center;
}
.result_ok{
background: none repeat scroll 0 0 #1EA700;
border-radius: 20px 20px 20px 20px;
color: white;
font-weight: bold;
padding: 10px 20px;
text-align: center;
}