Foros del Web » Programando para Internet » PHP »

Enviar email de bienvenida en formulario de registro con PHP

Estas en el tema de Enviar email de bienvenida en formulario de registro con PHP en el foro de PHP en Foros del Web. Buenas noches, Tengo un formulario que usa un script escrito en PHP para registrar en una base de datos MySQL nombre, apellido, seudónimo, contraseña, cuenta ...
  #1 (permalink)  
Antiguo 19/10/2007, 20:08
Avatar de Daam  
Fecha de Ingreso: octubre-2007
Ubicación: Planeta Tierra
Mensajes: 152
Antigüedad: 16 años, 6 meses
Puntos: 0
Pregunta Enviar email de bienvenida en formulario de registro con PHP

Buenas noches,

Tengo un formulario que usa un script escrito en PHP para registrar en una base de datos MySQL nombre, apellido, seudónimo, contraseña, cuenta de e-mail y correo electrónico secundario que se encuentran en el formulario. Ya pude realizar una conexión con la base de datos para registrar esos datos pero ahora necesito complementar esto con el envío de un correo electrónico de bienvenida al e-mail que los usuarios coloquen en el registro.

He leído sobre la función mail() de PHP pero quisiera saber como "recoger" el correo electrónico que se coloca en el formulariode registro y también como hacer para que cuando se haga click en el botón tipo input enviar, se ejecute el script de envío de correo electrónico y el que ya tengo que conecta con la base de datos para registrar los datos.

Espero su colaboración.

Saludos.
  #2 (permalink)  
Antiguo 19/10/2007, 21:45
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Re: Enviar email de bienvenida en formulario de registro con PHP

Hola Daam!! Bienvenido al foro

Pues bien, vamos por partes:

Para recoger lo que viene del form lo haces con la variable reservada $_POST['nombre_del_campo_del_formulario']. En tu caso, suponiendo que tienes:

Código HTML:
<input type="text" name="email" /> 
Lo recoges en tu página así:
Código PHP:
$_POST['email']; 
De esa manera "recoges" el dato del form vale??

Como envias el correo?? Sencillo

Código HTML:
<form action="pagina_que_enviara_mail.php" metod="post"></form> 
Donde "pagina_que_enviara_mail.php" es donde estará el script que enviará el email... cómo lógico no??

Ya sabes entonces como indicar que se ejecute el script apenas opriman el botón submit del formulario y ya sabes como recoger los datos.

Ahora bien, para enviar mail's, normalmente se acude a la ayuda de clases que se encargan de ofrecerte mas opciones de las que normalmente te ofrece la instrucción mail() de php. Te dejo un link de una de esas clases para envio de mail en php.

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #3 (permalink)  
Antiguo 19/10/2007, 21:51
Avatar de jorgedx  
Fecha de Ingreso: junio-2005
Ubicación: Chile, Los Andes
Mensajes: 406
Antigüedad: 18 años, 10 meses
Puntos: 4
Re: Enviar email de bienvenida en formulario de registro con PHP

Y dentro de esa misma pagina insertas el registro en la bd ... ;)
__________________
Nuevamente a las pistas ...
  #4 (permalink)  
Antiguo 20/10/2007, 10:56
Avatar de EliasBG  
Fecha de Ingreso: julio-2005
Mensajes: 10
Antigüedad: 18 años, 9 meses
Puntos: 1
Re: Enviar email de bienvenida en formulario de registro con PHP

Hola Aquí te mando un ejemplo de como enviar un correo con la función mail de PHP en formato HTML y con cabeceras adicionales.

Saludos y que te aproveche

Código PHP:
<?php    require_once('Connections/data.php');
error_reporting(E_ALL);
session_start();
$cod 0;

    if(isset(
$_POST["enviado"]) && $_POST["enviado"]=="true") {

         
$nombre $_POST["nombre"];
        
$cargo       $_POST["cargo"];
        
$area        $_POST["area"];
        
$correo       $_POST["correo"];
        
$anexo      $_POST["anexo"];
        
$detalle   $_POST["detalle"];
 
         
$para        "Denis Barron <[email protected]>, Elías Barrientos <[email protected]>";
         
$asunto    "Comentario de $nombre";
        
$mensaje "<hr>";
        
$mensaje.= "<h2>Comentarios</h2><br>";
        
$mensaje.= "<hr>";
        
$mensaje.= "Nombres: <b>$nombre</b><br>";
        
$mensaje.= "Cargo:    <b>$cargo</b><br>";
        
$mensaje.= "Área:     <b>$area</b><br>";
        
$mensaje.= "Correo:    <b>$correo</b><br>";
        
$mensaje.= "Anexo:    <b>$anexo</b><br>";
        
$mensaje.= "<hr>";
        
$mensaje.= "$detalle<br>";
        
$mensaje.= "<hr>";
        
// Para enviar correo HTML, la cabecera Content-type debe definirse
        
$cabeceras  "MIME-Version: 1.0\n";
        
$cabeceras .= "Content-type: text/html; charset=UTF-8\n";

        
// Cabeceras adicionales
        
$cabeceras .= "From: Elías Barrientos García <[email protected]>\n";
        
$cabeceras .= "To: Denis Barron <[email protected]>\n";
        
$cabeceras .= "Reply-To: [email protected]\n";
        
$cabeceras .= "X-Mailer: PHP/" phpversion();

        
// Enviarlo
        
mail($para$asunto$mensaje$cabeceras);
    }
?>
Elías Barrientos García
[email protected]
http://eliasbg.blogspot.com
  #5 (permalink)  
Antiguo 24/10/2007, 19:32
Avatar de Daam  
Fecha de Ingreso: octubre-2007
Ubicación: Planeta Tierra
Mensajes: 152
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Enviar email de bienvenida en formulario de registro con PHP

Gracias por su ayuda!
  #6 (permalink)  
Antiguo 24/10/2007, 19:54
Avatar de Daam  
Fecha de Ingreso: octubre-2007
Ubicación: Planeta Tierra
Mensajes: 152
Antigüedad: 16 años, 6 meses
Puntos: 0
Pregunta Re: Enviar email de bienvenida en formulario de registro con PHP

Tengo un formulario con 12 entradas de texto donde colocaré distintos e-mails.

¿Cómo haría para enviar un determinado correo a solamente las entradas de texto que contienen alguna dirección?.

Ej. En mi página de envío de correos de información tengo 12 entradas de texto y un botón de enviar.

Solamente escribí 8 e-mails, quedando 4 casillas en blanco ¿Cómo envío solamente un determinado e-mail a las 8 direcciones?

Espero su colaboración
  #7 (permalink)  
Antiguo 19/06/2012, 18:11
 
Fecha de Ingreso: mayo-2012
Mensajes: 3
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Re: Enviar email de bienvenida en formulario de registro con PHP

Cita:
Iniciado por Carxl Ver Mensaje
Hola Daam!! Bienvenido al foro

Pues bien, vamos por partes:

Para recoger lo que viene del form lo haces con la variable reservada $_POST['nombre_del_campo_del_formulario']. En tu caso, suponiendo que tienes:

Código HTML:
<input type="text" name="email" /> 
Lo recoges en tu página así:
Código PHP:
$_POST['email']; 
De esa manera "recoges" el dato del form vale??

Como envias el correo?? Sencillo

Código HTML:
<form action="pagina_que_enviara_mail.php" metod="post"></form> 
Donde "pagina_que_enviara_mail.php" es donde estará el script que enviará el email... cómo lógico no??

Ya sabes entonces como indicar que se ejecute el script apenas opriman el botón submit del formulario y ya sabes como recoger los datos.

Ahora bien, para enviar mail's, normalmente se acude a la ayuda de clases que se encargan de ofrecerte mas opciones de las que normalmente te ofrece la instrucción mail() de php. Te dejo un link de una de esas clases para [URL="http://blog.unijimpe.net/introduccion-a-phpmailer/"]envio de mail en php[/URL].

Saludos
la pregunta es el destinatario cual seria como capturar la info de el campo email y enviar el correo a esa variable?
  #8 (permalink)  
Antiguo 20/06/2012, 18:09
 
Fecha de Ingreso: mayo-2012
Mensajes: 3
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Re: Enviar email de bienvenida en formulario de registro con PHP

Cita:
Iniciado por EliasBG Ver Mensaje
Hola Aquí te mando un ejemplo de como enviar un correo con la función mail de PHP en formato HTML y con cabeceras adicionales.

Saludos y que te aproveche

Código PHP:
<?php    require_once('Connections/data.php');
error_reporting(E_ALL);
session_start();
$cod 0;

    if(isset(
$_POST["enviado"]) && $_POST["enviado"]=="true") {

         
$nombre $_POST["nombre"];
        
$cargo       $_POST["cargo"];
        
$area        $_POST["area"];
        
$correo       $_POST["correo"];
        
$anexo      $_POST["anexo"];
        
$detalle   $_POST["detalle"];
 
         
$para        "Denis Barron <[email protected]>, Elías Barrientos <[email protected]>";
         
$asunto    "Comentario de $nombre";
        
$mensaje "<hr>";
        
$mensaje.= "<h2>Comentarios</h2><br>";
        
$mensaje.= "<hr>";
        
$mensaje.= "Nombres: <b>$nombre</b><br>";
        
$mensaje.= "Cargo:    <b>$cargo</b><br>";
        
$mensaje.= "Área:     <b>$area</b><br>";
        
$mensaje.= "Correo:    <b>$correo</b><br>";
        
$mensaje.= "Anexo:    <b>$anexo</b><br>";
        
$mensaje.= "<hr>";
        
$mensaje.= "$detalle<br>";
        
$mensaje.= "<hr>";
        
// Para enviar correo HTML, la cabecera Content-type debe definirse
        
$cabeceras  "MIME-Version: 1.0\n";
        
$cabeceras .= "Content-type: text/html; charset=UTF-8\n";

        
// Cabeceras adicionales
        
$cabeceras .= "From: Elías Barrientos García <[email protected]>\n";
        
$cabeceras .= "To: Denis Barron <[email protected]>\n";
        
$cabeceras .= "Reply-To: [email protected]\n";
        
$cabeceras .= "X-Mailer: PHP/" phpversion();

        
// Enviarlo
        
mail($para$asunto$mensaje$cabeceras);
    }
?>
Elías Barrientos García
[email protected]
http://eliasbg.blogspot.com
tengo este scrip como puedo hacer que les envie un correo Gracias
<?php










include('acceso_db.php'); // incluimos el archivo de conexión a la Base de Datos
if(isset($_POST['enviar'])) { // comprobamos que se han enviado los datos desde el formulario
// creamos una función que nos parmita validar el email
function valida_email($correo) {
if (eregi("^[_.0-9a-z-]+@[0-9a-z._-]+.[a-z]{2,4}$", $correo)) return true;
else return false;
}
// Procedemos a comprobar que los campos del formulario no estén vacíos
$sin_espacios = count_chars($_POST['usuario_nombre'], 1);
if(!empty($sin_espacios[32])) { // comprobamos que el campo usuario_nombre no tenga espacios en blanco
echo "El campo <em>usuario_nombre</em> no debe contener espacios en blanco. <a href='javascript:history.back();'>Reintentar</a>";
}elseif(empty($_POST['usuario_nombre'])) { // comprobamos que el campo usuario_nombre no esté vacío
echo "No haz ingresado tu usuario. <a href='javascript:history.back();'>Reintentar</a>";
}elseif(empty($_POST['usuario_clave'])) { // comprobamos que el campo usuario_clave no esté vacío
echo "No haz ingresado contraseña. <a href='javascript:history.back();'>Reintentar</a>";
}elseif($_POST['usuario_clave'] != $_POST['usuario_clave_conf']) { // comprobamos que las contraseñas ingresadas coincidan
echo "Las contraseñas ingresadas no coinciden. <a href='javascript:history.back();'>Reintentar</a>";
}elseif(!valida_email($_POST['usuario_email'])) { // validamos que el email ingresado sea correcto
echo "El email ingresado no es válido. <a href='javascript:history.back();'>Reintentar</a>";
}else {
// "limpiamos" los campos del formulario de posibles códigos maliciosos
$usuario_nombre = mysql_real_escape_string($_POST['usuario_nombre']);
$usuario_clave = mysql_real_escape_string($_POST['usuario_clave']);
$usuario_email = mysql_real_escape_string($_POST['usuario_email']);
// comprobamos que el usuario ingresado no haya sido registrado antes
$sql = mysql_query("SELECT usuario_nombre FROM usuarios WHERE usuario_nombre='".$usuario_nombre."'");
if(mysql_num_rows($sql) > 0) {
echo "El nombre usuario elegido ya ha sido registrado anteriormente. <a href='javascript:history.back();'>Reintentar</a>";
}else {
$usuario_clave = $usuario_clave; // encriptamos la contraseña ingresada con md5
// ingresamos los datos a la BD
$reg = mysql_query("INSERT INTO usuarios (usuario_nombre, usuario_clave, usuario_email, usuario_freg) VALUES ('".$usuario_nombre."', '".$usuario_clave."', '".$usuario_email."', NOW())");
if($reg) {
echo "Te has Registrado correctamente Gracias.<a href='acceso1.php'>Entrar</a>";

}else {
echo "ha ocurrido un error y no se registraron los datos.";
}
}
}
}else {
?>
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 12:49.