Foros del Web » Programando para Internet » PHP »

Envio email confirmación

Estas en el tema de Envio email confirmación en el foro de PHP en Foros del Web. Hola a todos, tengo hecho (que no lo he hecho yo, si no que lo he encontrado en una pedaso de web) un formulario en ...
  #1 (permalink)  
Antiguo 16/11/2007, 13:24
Avatar de EnCeRiO  
Fecha de Ingreso: septiembre-2004
Mensajes: 375
Antigüedad: 19 años, 7 meses
Puntos: 0
Envio email confirmación

Hola a todos, tengo hecho (que no lo he hecho yo, si no que lo he encontrado en una pedaso de web) un formulario en html que es enviado a una base de datos con el siguiente php:
Código:
<?php

    if(isset($_POST['1']) && !empty($_POST['1']) &&
    isset($_POST['2']) && !empty($_POST['2']) &&
    isset($_POST['3']) && !empty($_POST['3']) &&
    isset($_POST['4']) && !empty($_POST['4']) &&
    isset($_POST['5']) && !empty($_POST['5']) &&
    isset($_POST['6']) && !empty($_POST['6']) &&
    isset($_POST['7']) && !empty($_POST['7'])) {

        $link = mysql_connect("localhost","login","pass");
        mysql_select_db("bd",$link);

        mysql_query("INSERT INTO tb (1,2,3,4,5,6,7)
        VALUES ('{$_POST['1']}','{$_POST['2']}','{$_POST['3']}','{$_POST['4']}','{$_POST['5']}','{$_POST['6']}','{$_POST['7']}')",$link);

        $my_error = mysql_error($link);

        if(!empty($my_error)) {

            echo "Error al introducir los datos. $my_error"; 

        } else {

            echo "Los datos han sido introducidos correctamente";

        }

    } else {

        echo "Error, faltan datos";

    }

?>
Como puedo hacer que cuando sea todo correcto se envie un correo al visitante confirmando la recepción de los datos???

Gracias
Un saludo
__________________
Médicos Sin Fronteras
Casi todos sabemos a qué se dedican, pero no sabemos lo fácil que es hacerse socio, ¿te sobran 10 €/mes?
  #2 (permalink)  
Antiguo 16/11/2007, 14:14
 
Fecha de Ingreso: enero-2004
Mensajes: 63
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: Envio email confirmación

Hola,

Justo debajo o justo encima de...

Código PHP:
            echo "Los datos han sido introducidos correctamente"
Escribe algo del tipo:

Código PHP:
mail($_POST['direccion_email'], 'asunto''mensaje'); 
Obviamente, donde pone $_POST['direccion_email'] debes poner la verdadera. Tienes más información en esta página:

http://es.php.net/manual/es/function.mail.php

Lo único es que debes tener algo de cuidado con el tratamiento de esos datos. Deberías añadir al principio más comprobaciones para cada dato específico. Aunque eso es opcional. Lo que sí deberías incluir al menos, por temas de seguridad, son addslashes. Es decir:

Código PHP:
        mysql_query("INSERT INTO tb (1,2,3,4,5,6,7)
        VALUES (addslashes($_POST['1']), addslashes($_POST['2']), addslashes($_POST['3']), addslashes($_POST['4']), addslashes($_POST['5']), addslashes($_POST['6']), addslashes($_POST['7']))"
,$link); 
Esto es para evitar la inyección SQL.

Un saludo

Última edición por javi_bus; 16/11/2007 a las 14:22
  #3 (permalink)  
Antiguo 16/11/2007, 15:11
Avatar de EnCeRiO  
Fecha de Ingreso: septiembre-2004
Mensajes: 375
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: Envio email confirmación

Muchas gracias por tu magnífica respuesta javi_bus

Y si el email esta en la columna '7' de la tabla que debería poner en direccion_email??

Un saludo
__________________
Médicos Sin Fronteras
Casi todos sabemos a qué se dedican, pero no sabemos lo fácil que es hacerse socio, ¿te sobran 10 €/mes?
  #4 (permalink)  
Antiguo 16/11/2007, 15:28
 
Fecha de Ingreso: enero-2004
Mensajes: 63
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: Envio email confirmación

Un placer poder ayudar.

Si está en la columna 7, supongo que será $_POST['7'], es decir:

Código PHP:
mail($_POST['7'], 'asunto''mensaje'); 
Lo mejor es probarlo. Escribe al comienzo (en la segunda linea después del <?php)...

Código PHP:
<?php

print_r
($_POST);
exit;
...y manda un formulario como si fueses a almacenar los datos de alguien. El print_r te mostrará en pantalla los datos que has enviado de forma muy clara y podrás saber qué número es cada cosa (si lo haces por números). El exit() es para detener la ejecución y que no te meta esos datos en la BD ni envíe el email (solo muestra en pantalla el print_r y detiene la ejecución). Una vez lo pruebes y retoques el programa, borras esas dos líneas y lo pruebas ya bien (viendo si se queda en la BD y si se envía el email).

Un saludo
  #5 (permalink)  
Antiguo 16/11/2007, 16:46
Avatar de EnCeRiO  
Fecha de Ingreso: septiembre-2004
Mensajes: 375
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: Envio email confirmación

oooooooleeé!!!!

Muchísimas gracias javi_bus

Todo correcto-bien-estupendo!! ya sabes, si vienes por Mallorca me llamas y te invito a unas cervezas, que te las debo xD

Un saludo
__________________
Médicos Sin Fronteras
Casi todos sabemos a qué se dedican, pero no sabemos lo fácil que es hacerse socio, ¿te sobran 10 €/mes?
  #6 (permalink)  
Antiguo 16/11/2007, 17:48
 
Fecha de Ingreso: enero-2004
Mensajes: 63
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: Envio email confirmación

jajaja. Me pilla un poco lejos (Cantabria). Pero se agradece.

Un saludo
  #7 (permalink)  
Antiguo 17/11/2007, 09:29
Avatar de EnCeRiO  
Fecha de Ingreso: septiembre-2004
Mensajes: 375
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: Envio email confirmación

Una última cosa (creo que ya me estoy aprovechando xD)

El email de confirmación se envia con el remitente Nobody, se puede cambiar esto??

Gracias de nuevo!!
Un saludo
__________________
Médicos Sin Fronteras
Casi todos sabemos a qué se dedican, pero no sabemos lo fácil que es hacerse socio, ¿te sobran 10 €/mes?
  #8 (permalink)  
Antiguo 17/11/2007, 10:34
Avatar de Spydis  
Fecha de Ingreso: mayo-2003
Ubicación: Donosti
Mensajes: 90
Antigüedad: 20 años, 11 meses
Puntos: 1
Re: Envio email confirmación

Mirate este ejemplo espero que te sirva:
Código PHP:
<?php
$para      
'[email protected]';
$asunto    'el asunto';
$mensaje   'hola';
$cabeceras 'From: [email protected]"\r\n" .
    
'Reply-To: [email protected]"\r\n" .
    
'X-Mailer: PHP/' phpversion();

mail($para$asunto$mensaje$cabeceras);
?>
  #9 (permalink)  
Antiguo 17/11/2007, 12:05
Avatar de EnCeRiO  
Fecha de Ingreso: septiembre-2004
Mensajes: 375
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: Envio email confirmación

Cita:
Iniciado por Spydis Ver Mensaje
Mirate este ejemplo espero que te sirva:
Código PHP:
<?php
$para      
'[email protected]';
$asunto    'el asunto';
$mensaje   'hola';
$cabeceras 'From: [email protected]"\r\n" .
    
'Reply-To: [email protected]"\r\n" .
    
'X-Mailer: PHP/' phpversion();

mail($para$asunto$mensaje$cabeceras);
?>
Gracias por tu respuesta

Aunque no se me envia el email de confirmación, ya que en lugar de:
Código PHP:
$para      '[email protected]'
Pongo
Código PHP:
$para      '7'
Si en:
Código PHP:
$para      '[email protected]'
Pongo la dirección de correo si me funciona, pero claro, quiero que el correo me lo coja de la columna 7

Un saludo y gracias de nuevo
__________________
Médicos Sin Fronteras
Casi todos sabemos a qué se dedican, pero no sabemos lo fácil que es hacerse socio, ¿te sobran 10 €/mes?
  #10 (permalink)  
Antiguo 17/11/2007, 12:18
Avatar de EnCeRiO  
Fecha de Ingreso: septiembre-2004
Mensajes: 375
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: Envio email confirmación

Ya está, he unido lo que me dijo javi_bus y lo tuyo (Spydis) y me ha quedado esto:
Código PHP:
<?php
$asunto    
'el asunto';
$mensaje   'hola';
$cabeceras 'From: [email protected]"\r\n" .
    
'Reply-To: [email protected]"\r\n" .
    
'X-Mailer: PHP/' phpversion();

mail($_POST['7'], $asunto$mensaje$cabeceras);
?>
Y se me envia la confirmación en el correo de la columna 7

Gracias de verdad, creo que el tema ya está más que solucionado.

Un saludo
__________________
Médicos Sin Fronteras
Casi todos sabemos a qué se dedican, pero no sabemos lo fácil que es hacerse socio, ¿te sobran 10 €/mes?
  #11 (permalink)  
Antiguo 18/11/2007, 06:15
Avatar de EnCeRiO  
Fecha de Ingreso: septiembre-2004
Mensajes: 375
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: Envio email confirmación

Y por último, ahora ya sí que creo que es lo último que pregunto jajaja

Para que un inscrito pueda ver su inscripción introduciendo el 'dato' de la columna 6 como sería la consulta, lo he intentado pero me falta algo...:
Código PHP:
$consulta  'SELECT * FROM `tb` WHERE `6` ....'''NO SE COMO SEGUIR''.... 

Un saludo
__________________
Médicos Sin Fronteras
Casi todos sabemos a qué se dedican, pero no sabemos lo fácil que es hacerse socio, ¿te sobran 10 €/mes?
  #12 (permalink)  
Antiguo 19/11/2007, 11:53
 
Fecha de Ingreso: enero-2004
Mensajes: 63
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: Envio email confirmación

Hola,

Suponiendo que tu tabla se llame "tb" y sus los campos se llamen "1", "2", "3", "4", "5", "6" y "7", sería algo así:

Código PHP:
$consulta  "SELECT `1`, `2`, `3`, `4`, `5`, `6`, `7`  FROM `tb` WHERE `6` = '$variable'"
También sirve con el asterisco pero, en teoría, la consulta está más optimizada indicando los nombres de los campos.

Un saludo
  #13 (permalink)  
Antiguo 19/11/2007, 15:37
Avatar de EnCeRiO  
Fecha de Ingreso: septiembre-2004
Mensajes: 375
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: Envio email confirmación

Cita:
Iniciado por javi_bus Ver Mensaje
Hola,

Suponiendo que tu tabla se llame "tb" y sus los campos se llamen "1", "2", "3", "4", "5", "6" y "7", sería algo así:

Código PHP:
$consulta  "SELECT `1`, `2`, `3`, `4`, `5`, `6`, `7`  FROM `tb` WHERE `6` = '$variable'"
También sirve con el asterisco pero, en teoría, la consulta está más optimizada indicando los nombres de los campos.

Un saludo
Joer javi_bus, por lo menos te debo un barril de cerveza

Muchísimas gracias, en serio
Un saludo
__________________
Médicos Sin Fronteras
Casi todos sabemos a qué se dedican, pero no sabemos lo fácil que es hacerse socio, ¿te sobran 10 €/mes?
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 23:11.