Seguí un tutorial sobre cómo enviar los datos de un formulario a un mail, lo seguí al pie de la letra y me funcionó.
El problema es que quiero modificarlo, ya que al dar clic en "enviar" me envía a una nueva página de nombre send.php y me aparece el mensaje "Mensaje enviado correctamente" y se queda ahí. Lo que quiero es que no se vaya a una nueva página sino que permanezca en la misma página de contacto, y el mensaje también.
El código es el siguiente:
Código:
El código del formulario:<?php $nombre = $_POST['nombre']; $mail = $_POST['mail']; $empresa = $_POST['empresa']; $localidad = $_POST['localidad']; $sexo = $_POST['sexo']; $header = 'From: ' . $mail . " \r\n"; $header .= "X-Mailer: PHP/" . phpversion() . " \r\n"; $header .= "Mime-Version: 1.0 \r\n"; $header .= "Content-Type: text/plain"; $mensaje = "Este mensaje fue enviado por " . $nombre . ", de la empresa " . $empresa . ", en el estado de " . $localidad . " \r\n"; $mensaje .= "Su e-mail es: " . $mail . " \r\n"; $mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n"; $mensaje .= "Enviado el " . date('d/m/Y', time()); $para = '[email protected]'; $asunto = 'Contacto desde trabajopagina'; mail($para, $asunto, utf8_decode($mensaje), $header); echo 'Mensaje enviado correctamente'; ?>
Código:
Mis conocimientos de php son muy pocos, habrá posibilidad de que al cambiar el documento .html a .php, pueda colocar el código en la misma página?<form action="send.php" method="post" name="contacto" target="_self" id="contacto"> <table width="450" border="0" align="center" cellpadding="3" cellspacing="2"> <tr> <td>Nombre completo</td> <td><input name="nombre" type="text" id="nombre" size="30" /></td> </tr> <tr> <td width="182">Empresa</td> <td width="258"><input name="empresa" type="text" id="empresa" size="30" /></td> </tr> <tr> <td align="left"><span class="contacto"> <label for="email2">Dirección de correo</label> electrónico</span></td> <td><input name="mail" type="text" id="mail" size="30" maxlength="30" /></td> </tr> <tr> <td>Estado</td> <td><select name="localidad" id="localidad"> <option selected="selected">Aguascalientes</option> <option>Baja California</option> <option>Campeche</option> <option>Coahuila</option> <option>Chiapas</option> <option>Chihuahua</option> <option>Durango</option> <option>Estado de México</option> <option>Guanajuato</option> <option>Guerrero</option> <option>Hidalgo</option> <option>Jalisco</option> <option>Michoacán</option> <option>Morelos</option> <option>México, D.F</option> <option>Nayarit</option> <option>Nuevo León</option> <option>Oaxaca</option> <option>Puebla</option> <option>Querétaro</option> <option>Quintana Roo</option> <option>San Luis Potosí</option> <option>Sinaloa</option> <option>Sonora</option> <option>Tabasco</option> <option>Tamaulipas</option> <option>Tlaxcala</option> <option>Veracruz</option> <option>Yucatán</option> <option>Zacatecas</option> </select></td> </tr> <tr> <td>Sexo</td> <td><select name="sexo" id="sexo"> <option>Masculino</option> <option>Femenino</option> </select></td> </tr> <tr> <td><label for="mensaje">Deje su comentario</label></td> <td><textarea name="mensaje" cols="30" rows="3" id="comentario2"></textarea></td> </tr> <tr> <td><input name="enviar" type="submit" id="enviar" onclick="MM_validateForm('nombre','','R','mail','','RisEmail','comentario2','','R');return document.MM_returnValue" value="Enviar" /></td> <td class="tabla"> </td> </tr> </table> </form>
Si se puede me podrían decir en que manera colocarlo? o si hay otra manera más sencilla. Les agradezco mucho cualquier ayuda que me puedan dar.