Foros del Web » Creando para Internet » Diseño web »

php + javascript para mandar mails

Estas en el tema de php + javascript para mandar mails en el foro de Diseño web en Foros del Web. Hola. Tengo un problema en mi web al enviar mails. Tengo el formulario Código HTML: <form method= "post" action= "contacto.php" name= "form2" id= "form2" > ...
  #1 (permalink)  
Antiguo 08/08/2008, 06:41
Avatar de frasko01  
Fecha de Ingreso: junio-2008
Mensajes: 200
Antigüedad: 9 años, 5 meses
Puntos: 3
php + javascript para mandar mails

Hola.

Tengo un problema en mi web al enviar mails.

Tengo el formulario

Código HTML:
<form method="post" action="contacto.php" name="form2" id="form2">
        <span id="contacto">Nombre:<br />
        <input type="text" name="nombre" /><br />
        E-mail:<br />
        <input type="text" name="email" /><br />
        Tel&eacute;fono:<br />
        <input type="text" name="telefono" /><br />
        Mensaje:<br />
        <textarea name="mensaje"></textarea><br /><br /></span>
        <input id="reset" alt="Borrar" type="image" src="imagenes/b_borrar.gif" onClick="Borrar();" />
        <input type="image" alt="Enviar" src="imagenes/b_enviar.gif" onclick="Enviar();" />
        
        </form> 
Ahora, las funciones javascript:

Código HTML:
<script type="text/javascript">
<!--
function Borrar(){
	document.getElementById("form2").reset();
}

function Enviar()
{
	document.write("<?php $envio = enviando(); ?>");
}


//-->
</script> 
Y la funcion de php

Código PHP:
<?
function enviando()
{
    
    
    
$nombre $_POST['nombre'];
    
$telefono $_POST['telefono'];
    
$email $_POST['email'];
    
$mensaje $_POST['mensaje'];
    
    
    
        
$header 'From: ' $email " \r\n";
        
$mensaje2 "Este mensaje fue enviado por " $nombre ." \r\n";
        
$mensaje2 .= "Su telefono es ".$telefono." y su e-mail es: " $email " \r\n";
        
$mensaje2 .= "Mensaje: " $mensaje " \r\n";
        
$mensaje2 .= "Enviado el " date('d/m/Y'time());
    
        
$para '[email protected]';
        
$asunto 'Contacto';
        
$env mail($para$asunto$mensaje2$header);
            
        
        if(
$env == TRUE)
            return 
1;
        else
            return 
0;
    
}
?>
Pues bien. Al pulsar enviar el navegador se queda con la pantalla en blanco y "cargando" continuamente.

Supongo que desde javascript no puedo llamar a una función PHP ¿o si?

Por favor echénme una mano. Gracias.

Saludos.
  #2 (permalink)  
Antiguo 09/08/2008, 21:49
 
Fecha de Ingreso: noviembre-2006
Ubicación: Evergreen Street
Mensajes: 239
Antigüedad: 11 años, 1 mes
Puntos: 2
Respuesta: php + javascript para mandar mails

Yo no soy muy aficionado al uso de javascript en los formularios, tanto para enviar como para validar, ya que el usuario puede desactivar el javascript en su máquina y el formulario ya no funciona.

He modificado el formulario y el archivo de contacto.php, te lo envío:
BAJAR FORMULARIO
Valida los campos del lado del servidor y al mismo tiempo si el correo es enviado presenta un mensaje de éxito.

En la línea 50 de contacto.php podés cambiar el Asunto y en la línea 51 escribís tu dirección de Email.

Otra observación el botón de borrar ya no se utiliza, pues si el usuario se equivoca con un dato es ilógico que borre todo solo para cambiar dicho dato.
  #3 (permalink)  
Antiguo 09/08/2008, 22:35
Avatar de berthely  
Fecha de Ingreso: junio-2008
Ubicación: VHSA Mexico
Mensajes: 453
Antigüedad: 9 años, 5 meses
Puntos: 9
Respuesta: php + javascript para mandar mails

Despues de que carga la pagina, no es conveniente, o mejor dicho no se pueden usar eventos que utilicen el comentao "document.write" de javascript, ya que le navegador se cuelga.

Tienes problemas con los conceptos de los programas

PHP: es un preprocesador, procesa una pagina antes de que la veamos, resultado: archivo html=php
* No podemos hacer llamadas con php dinamicamente, solo con ajax que yo sepa pero es cosa complicada.

Espero haber ayudado en algo. salu2
  #4 (permalink)  
Antiguo 12/11/2009, 07:59
 
Fecha de Ingreso: febrero-2004
Mensajes: 446
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: php + javascript para mandar mails

Sería interesante que una vez enviado el formulario.., en caso de que alguno de los campos no estubiese correcto, el "die" de cada if redirigiese de nuevo a la pagina del formulario. Y con un poco de css y html en alguna variable incrustada en los "parametros" de cada "die" marcase en rojo el campo a corregir o rellenar de nuevo y que el mensaje de error apareciese justo encima del campo erroneo..

¿Se podría hacer?

¿Podríamos enviar variables en funcion de las cuales cambiar el aspecto o crear mensajes de error desde la pagina de contacto.php a la de formulario.html?

¿Como podríamos hacerlo?

¿Me ayudais?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:15.