MULTIMEDIA, Video digital, Grabación, Diseño gráfico, Diseño web, Programación > Webmasters - Diseño Web - Programación - Diseño gráfico
parece que envia pero no llega (formulario php) (SOLUCIONADO)
akil3s:
Hola foreros.
Tengo un problema con una web que estoy modificando para una amiga (es una plantilla gratuita). El caso es que tengo un problema para que me funcione el tipico formulario. Esta escrito en PHP,p ero yo no tengo ni idea de este lenguaje, he mirado en varios sitios y por lo que veo deberia funcionar pero no lo hace. He conseguido que al dar a enviar me muestre el correo del que lo envia (para ver si ese paso esta correcto) pero luego el correo nunca llega a esa cuenta. Ademas tampoco me devuelve a la web con un mensaje de "correo enviado correctamente" o algo asi (se que esa parte la tengo que poner pero no se como hacerlo)
Espero haberme explicado bien.
Os dejo el codigo que tengo por si alguien ve el problema:
enviar.php
--- Código: ---<?php
$name = $_POST["Nombre"];
$email = $_POST["E-mail"];
$asunto = $_POST["Asunto"];
$mensaje = $_POST["Mensaje"];
$envio .="Name: ". $name ."\n";
$envio .="E-Mail: ".$email. "\n";
$envio .="Web: ".$web. "\n";
$envio .="Comentario: ". $comentario. "\n";
$receptor = "[email protected]";
$emisor = $email;
$subject = $asunto;
$mailheaders = $receptor;
echo $name;
echo $email;
mail($emisor, $subject, $mensaje, $mailheaders);
echo ("<a href='javascript:history.back(1)'>Regresar</a>")
?>
--- Fin del código ---
contact.html
--- Código: ---<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Miss tijera</title>
<meta name="keywords" content="Black Fox, Contact Page, Free CSS Template, full-site, 5 pages, HTML" />
<meta name="description" content="Black Fox Contact Page - free CSS template from templatemo.com" />
<link href="css/templatemo_style.css" rel="stylesheet" type="text/css" />
<link href="css/jquery.ennui.contentslider.css" rel="stylesheet" type="text/css" media="screen,projection" />
<style type="text/css">
<!--
.Estilo2 {
font-size: 14;
font-weight: bold;
}
-->
</style>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
</head>
<body>
<div id="Layer1" style="position:absolute; left:198px; top:63px; width:146px; height:111px; z-index:1"><a href="index.html"><img src="images/templatemo_logo.png" alt="logo" /></a></div>
<div id="templatemo_menu_wrapper">
<div id="templatemo_menu">
<ul>
<li><a href="index.html">Home</a></li>
<li></li>
<li></li>
<li></li>
<li><a href="contact.html" class="current">Contacto</a></li>
</ul>
</div> <!-- end of templatemo_menu -->
</div> <!-- end of menu wrapper -->
<div id="templatemo_header_wrapper">
<div id="templatemo_header">
<div id="site_title">
<h1><a href="index.html"> </a></h1>
</div>
<div id="templatemo_slider">
<div id="one" class="contentslider">
<div class="cs_wrapper">
<div class="cs_slider">
<div class="cs_article">
<a href="http://www.templatemo.com/page/1" target="_parent">
<img src="images/slider/templatemo_slide02.jpg" alt="Project 1" /></a>
</div>
<div class="cs_article">
<a href="http://www.templatemo.com/page/2" target="_parent">
<img src="images/slider/templatemo_slide01.jpg" alt="Project 2" /></a>
</div>
<div class="cs_article">
<a href="http://www.templatemo.com/page/3" target="_parent">
<img src="images/slider/templatemo_slide03.jpg" alt="Project 3" /></a>
</div>
<div class="cs_article">
<a href="http://www.templatemo.com/page/4" target="_parent">
<img src="images/slider/templatemo_slide04.jpg" alt="Project 4" /></a>
</div>
</div>
<!-- End cs_slider -->
</div>
<!-- End cs_wrapper -->
</div>
<!-- End contentslider -->
<!-- Site JavaScript -->
<script type="text/javascript" src="js/jquery-1.3.1.min.js"></script>
<script type="text/javascript" src="js/jquery.easing.1.3.js"></script>
<script type="text/javascript" src="js/jquery.ennui.contentslider.js"></script>
<script type="text/javascript">
$(function() {
$('#one').ContentSlider({
width : '430px',
height : '200px',
speed : 600,
easing : 'easeInOutQuart'
});
});
</script>
<script src="js/jquery.chili-2.2.js" type="text/javascript"></script>
<script src="js/chili/recipes.js" type="text/javascript"></script>
<div class="cleaner"></div>
</div>
<!-- end of templatemo_slider -->
</div>
<!-- header -->
</div>
<!-- end header wrapper -->
<div id="templatemo_content_wrapper">
<div id="templatemo_content">
<h1>Contacto</h1>
<div class="two_column float_l">
<div id="contact_form">
<p>Si necesitas ponerte en contacto con nosotros sobre cualquier duda, consulta o mejora, pudes hacerlo desde este formaulario.<br />
Serás atendido a la mayor brevedad posible. </p>
<p> </p>
<h3> Formulario de contacto</h3>
<form name='formulario' id='formulario' method='post' action='enviar.php'>
<p>Nombre:
<input type='text' name='Nombre' id='Nombre'>
</br>
</p>
<p>E- mail :
<input type='text' name='E-mail' id='E-mail'>
</br>
</p>
<p>Asunto :
<input type='text' name='Asunto' id='Asunto'>
</br>
</p>
<p>Mensaje
<textarea name="Mensaje" id="Mensaje" ></textarea>
</br>
</br>
<input type='submit' value='Enviar Formulario'>
<input type='reset' value='Reiniciar Formulario'>
</p>
</form>
</div>
</div>
<div class="two_column float_r">
<p>Aquí tienes nuestra dirección, horario y nùmeros de telefono de contacto para esatar a tu total disposición.</p>
<p> </p>
<div class="two_column float_r">
<h6>Dirección:</h6>
<span class="Estilo2">C/ Jaime I el conquistador
</span>
<div class="cleaner_h40 Estilo2">22 Posterior </div>
<h6>Horario:</h6>
<h6>Lun - Vie: 10:00 - 14:00<br />
Lun - Vie: 15:30 - 19:30 <br />
Sab: 9:00 - 14:00 </h6>
<div class="cleaner_h40"></div>
<h6>Teléfono de contacto: </h6>
<p>91.128.17.25 <br />
647.571.271</p>
<p>MAPA <br />
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.es/maps/ms?msid=211678978825118820288.0004bbaf052d88862f014&msa=0&hl=es&ie=UTF8&ll=40.234874,-3.763408&spn=0.000111,0.000019&t=h&output=embed"></iframe><br /><small>Ver <a href="http://maps.google.es/maps/ms?msid=211678978825118820288.0004bbaf052d88862f014&msa=0&hl=es&ie=UTF8&ll=40.234874,-3.763408&spn=0.000111,0.000019&t=h&source=embed" style="color:#0000FF;text-align:left">Calle de Jaime I 'El Conquistador', 22</a> en un mapa más grande</small>
</p>
</div>
</div>
<div class="cleaner"></div>
</div> <!-- end of content -->
</div> <!-- end of content_wrapper -->
<div id="templatemo_footer_wrapper">
<div id="templatemo_footer">
<div class="footer_box">
<div class="footer_menu">
<h3>Miss Tijera </h3>
<img src="images/templatemo_image_04.jpg" alt="image" />
<p>Miss Tijera, tu peluqueria en Parla.</p>
<div class="button"><a href="#"></a></div>
</div>
</div>
<div class="footer_box">
<div class="footer_menu">
<h3>Navegación</h3>
<ul class="footer_menu">
<li><a href="index.html">Home</a></li>
<li><a href="contact.html">Contacto</a></li>
</ul>
</div>
</div>
<div class="cleaner"></div>
</div> <!-- end of footer -->
</div> <!-- end of footer wrapper -->
<div id="templatemo_copyright_wrapper">
<div id="templatemo_copyright">
Copyright © 2012 <a href="http://www.misstijera.com">Miss Tijera </a>|
akil3s</div> </div> <!-- end of templatemo_copyright -->
</div> <!-- end of copyright wrapper -->
</body>
</html>
--- Fin del código ---
Gracias por anticipado.
shicefgo:
Hola.
De momento veo que el primer parámetro de la función mail() debe ser el receptor del correo, y parece que el que tiene es la cadena 'E-mail'. Es decir, prueba con:
--- Código: ---mail($receptor, $asunto, $mensaje);
--- Fin del código ---
Un saludo.
akil3s:
No se si te entiendo bien, (disculpa mi ignoracia, pero no se nada de nada de php :danae:)
quieres decir que en la linea
--- Código: ---mail($emisor, $subject, $mensaje, $mailheaders);
--- Fin del código ---
debo cambiar donde pone $emisor por
--- Código: ---mail($receptor, $asunto, $mensaje);
--- Fin del código ---
Siento ser tan torpe, pero es que no me entero de nada :(. Esto me pasa por querer ayudar...
Gracias shicefgo
akil3s:
Ya me respondo yo solo jsjsjsjs efectivamente cambiando eso ya llega ;-) lo unico que llega como no deseado (supongo que sera lo normal) y no me devuelve ni a la pagina del formulario ni un mensaje de "enviado correctamente". Eso se podria hacer??
Gracias por tu ayuda!!!
shicefgo:
Tal vez llegue como no deseado debido a la dirección que se utilice como remitente.
Sí, se puede mostrar un mensaje después del correo.
La función mail() devuelve un valor de tipo bool (= que sólo puede ser verdadero o falso).
Si el valor devuelto es verdadero (true) el correo habrá sido aceptado para su envío, sin que eso signifique necesariamente que haya llegado a su destino. Si el valor devuelto es falso (false) significa que el correo ha sido rechazado.
Puedes preparar un archivo para el caso de que el correo haya sido aceptado y otro para lo contrario (o utilizar alguno que ya tengas) y añade un código parecido al siguiente justo después de la llamada a mail() (llamemos a los archivos "correo_aceptado.php" y "correo_rechazado.php" por ejemplo):
--- Código: ---if ($mail($receptor, $asunto, $mensaje)) {
include('correo_aceptado.php');
}
else {
include('correo_rechazado.php');
}
--- Fin del código ---
Los archivos correo_aceptado.php y correo_rechazado.php (o cualquiera otros que decidas usar) tienen que estar en la misma carpeta que el archivo donde esté la función mail() que envía el correo.
Todo esto se puede hacer algo más sofisticado, de hecho yo he construido algún que otro formulario de envío de e-mails con phpmailer y utilizando algo de javascript para comprobaciones.
Saludos.
Navegación
[#] Página Siguiente
Ir a la versión completa