Foros del Web » Programando para Internet » PHP »

Enviar email al enviar formulario

Estas en el tema de Enviar email al enviar formulario en el foro de PHP en Foros del Web. Buenas. Estoy intentando hacer lo siguiente. Tengo un formulario de comentarios en la web, y me gustaria que cuando se publica el comentario se le ...
  #1 (permalink)  
Antiguo 05/08/2012, 03:34
 
Fecha de Ingreso: mayo-2004
Mensajes: 38
Antigüedad: 19 años, 11 meses
Puntos: 1
Enviar email al enviar formulario

Buenas.

Estoy intentando hacer lo siguiente.

Tengo un formulario de comentarios en la web, y me gustaria que cuando se publica el comentario se le enviara al usuario un email que ya tengo predefinido y funcionando.

El problema es que lo tengo como una funcion php y no se como activar el envento onclick para que llame a esa funcion.

Esto es lo que tengo:

Código PHP:

$user 
=& JFactory::getUser();
$usr_id $user->get('id');
$autor_email $this->item->author->email;


function 
email_autor()
{
          
$to "xxxxx" ;
         
$from "xxxxx";
         
$subject "xxxxx";
         
$body "xxxxx";
         if (
mail($to,$from$subject$body)) {
           echo(
"<p>Message successfully sent!</p>");
          } else {
           echo(
"<p>Message delivery failed...</p>");
          };

Las primeras lineas son para coger la ID del autor del comentario y el email del autor del articulo.

En el boton enviar tengo esto:

Código HTML:
 <input type="submit" class="button" id="submitCommentButton" value="<?php echo JText::_('K2_SUBMIT_COMMENT'); ?> " onclick="email_autor()" /> 
Alguna idea de como puedo solucionarlo??

Gracias.
  #2 (permalink)  
Antiguo 05/08/2012, 04:20
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Enviar email al enviar formulario

No entiendo porqué necesitas javascript para enviar el correo, digo, si estás usando PHP directamente para publicar el comentario, ahí mismo puedes enviarlo sin problemas.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 05/08/2012, 05:26
 
Fecha de Ingreso: mayo-2004
Mensajes: 38
Antigüedad: 19 años, 11 meses
Puntos: 1
Respuesta: Enviar email al enviar formulario

Cita:
Iniciado por Triby Ver Mensaje
No entiendo porqué necesitas javascript para enviar el correo, digo, si estás usando PHP directamente para publicar el comentario, ahí mismo puedes enviarlo sin problemas.
Gracias!!! No se me habia ocurrido.... es lo que tiene ser diseñador y meterse en compromisos con los amigos....
  #4 (permalink)  
Antiguo 05/08/2012, 15:00
 
Fecha de Ingreso: octubre-2011
Ubicación: Zahara, Sevilla, Granada...
Mensajes: 12
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Enviar email al enviar formulario

Hola,

Pienso que lo que buscas es algo así:

Código PHP:
<?php 
if (isset($_POST['i_nombre'])) {
    
//inicializo las variables (no estaría mal validar los datos para evitar inyeción SQL
    
$nombre    $_POST['i_nombre'];
    
$email    $_POST['i_email'];

$sql="insert into tabla(campo_usuario, campo_email) values ('$nombre','$email')";

$destinatario "[email protected]"
$asunto "Asunto que quieras"
$cuerpo ' <p>Email donde recibes todo lo que quieras</p>
            <p>Nombre: '
.$nombre.'</p>
            <p>Email: '
.$email.'</p>'

//para el envío en formato HTML 
$headers "MIME-Version: 1.0\r\n"
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"

//dirección del remitente 
$headers .= "From: '.$nombre.' <'.$email.'>\r\n"

mail($destinatario,$asunto,$cuerpo,$headers) ;

    echo 
"<div class='message-box success'>
            <p>mensaje explicando que todo ha salido bien</p>
          </div>"

} else { 
?>
<form class="iform" action="/inscripcion" id="iform" method="post"> 
    <fieldset class="in15"><legend>Datos Jugador 1</legend>    
        <p>Nombre y Apellidos<br />
        <input type="text" name="i_nombre" id="i_nombre" size="40" maxlength="150" value="" /></p>
        <p>Email<br />
        <input type="text" name="i_email" id="i_email" size="40" maxlength="50" value="" />
        </p>
    </fieldset>
<p><input type="submit" name="i_enviar" id="i_enviar" value="Enviar"/></p>
</form>
<?php }//fin del else ?>
Es algo sencillo y lo suyo sería ponerlo algo más seguro y hacer alguna otra comprobación.

Espero que te sirva.

Saludos
  #5 (permalink)  
Antiguo 05/08/2012, 15:02
 
Fecha de Ingreso: octubre-2011
Ubicación: Zahara, Sevilla, Granada...
Mensajes: 12
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Enviar email al enviar formulario

Disculpa no había leido bien tu mensaje... y se me fue la cabeza

Etiquetas: email, formulario, usuarios
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 18:58.