Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] enviar alerta correo electronico

Estas en el tema de enviar alerta correo electronico en el foro de PHP en Foros del Web. Hola chicos, a ver porque estoy moñeando haciendo cosillas por si algún día me valen para algo y estoy atrancado con una tontería: Estoy haciendo ...
  #1 (permalink)  
Antiguo 26/03/2013, 03:24
 
Fecha de Ingreso: febrero-2013
Mensajes: 19
Antigüedad: 11 años, 8 meses
Puntos: 0
enviar alerta correo electronico

Hola chicos, a ver porque estoy moñeando haciendo cosillas por si algún día me valen para algo y estoy atrancado con una tontería:

Estoy haciendo un formulario de contacto donde se guarda los inscritos en una base de datos y luego con otro fichero se ve lo que hay en la base de datos, todo me funciona guay, pero se me a ocurrido meterle una alerta para que llegue al correo electronico cada vez que alguien se registre y no me funciona, esto es lo que he exo:

pagina del formulario:

Código PHP:
<?php
$nombre
=$_POST['nombre'];
$apellidos=$_POST['apellidos'];
$email=$_POST['email'];
$telefono=$_POST['telefono'];
$empresa=$_POST['empresa'];
$conocido=$_POST['conocido'];
$recibir=$_POST['recibir'];

if (
$nombre!= "" && $email!= "" )
{
    
mysql_connect("localhost","root","");
    
mysql_select_db("inscripcion");
    
mysql_query("INSERT INTO inscripcion(nombre,apellidos,email,telefono,empresa,conocido,recibir) VALUES('$nombre','$apellidos','$email','$telefono','$empresa','$conocido','$recibir')");

}
?>
y luego el form:

<form class="form-grp clearfix grpelem" id="widgetu1329" method="post" action="">

Esto me funciona correctamente, pero si en action="" le meto un archivo php que me genere la consulta entonces me genera la consulta en el correo pero no me lo mente en la base de datos
  #2 (permalink)  
Antiguo 26/03/2013, 03:43
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: enviar alerta correo electronico

Un form sin action no hace nada y el script que nos adjuntas no manda ningun correo??
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 26/03/2013, 03:51
 
Fecha de Ingreso: febrero-2013
Mensajes: 19
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: enviar alerta correo electronico

el scrip que os pongo carga los datos en la base de datos sin ningun problema, con el action vacio funciona correctamente
  #4 (permalink)  
Antiguo 26/03/2013, 06:42
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: enviar alerta correo electronico

Que ese script hace lo que dices que hace no lo dudo, pero que no manda correos, ni lo intenta, tampoco.
Y para que haga lo que hace debes llamarlo de alguna forma, una de ellas podria ser atraves del action ... con la informacion que nos das no sabemos donde estas teniendo problemas.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #5 (permalink)  
Antiguo 26/03/2013, 06:58
 
Fecha de Ingreso: febrero-2013
Mensajes: 19
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: enviar alerta correo electronico

ahora pongo el código entero quimfv, otra cosa estoy probando el intrernet explorer y no me carga nada del registro en la base de datos, sabes si hay algún incompatibilidad con el código?
  #6 (permalink)  
Antiguo 26/03/2013, 07:07
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 1 mes
Puntos: 175
Respuesta: enviar alerta correo electronico

La verdad no entiendo cual es el problema con tu código... y no, no tienen nada que ver PHP con el navegador... a menos que uses EXPLORER 6 o algo así, pero no creo...

porque no usas así tu código, es más efectivo


Código PHP:


<?php
if ($nombre!= "" && $email!= "" )
{

$nombre=$_POST['nombre'];
$apellidos=$_POST['apellidos'];
$email=$_POST['email'];
$telefono=$_POST['telefono'];
$empresa=$_POST['empresa'];
$conocido=$_POST['conocido'];
$recibir=$_POST['recibir'];


    
mysql_connect("localhost","root","");
    
mysql_select_db("inscripcion");
    
mysql_query("INSERT INTO inscripcion(nombre,apellidos,email,telefono,empresa,conocido,recibir) VALUES('$nombre','$apellidos','$email','$telefono','$empresa','$conocido','$recibir')");

}
?>
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #7 (permalink)  
Antiguo 26/03/2013, 07:11
 
Fecha de Ingreso: febrero-2013
Mensajes: 19
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: enviar alerta correo electronico

vale en action le pongo:
<form class="form-grp clearfix grpelem" id="widgetu1329" method="post" action="correo_consulta.php">

y correo_consulta.php tiene el siguiente codigo:

Código PHP:
Ver original
  1. <?
  2. $ToEmail = "[email protected]";
  3. $ToSubject = "Correo Consulta desde la web de inscripcion";
  4.  
  5. $EmailBody = "Nombre: ".utf8_decode($nombre)."\nApellidos: ".utf8_decode($apellidos)."\nE-mail: ".utf8_decode($email)."\nTeléfono: ".utf8_decode($telefono)."\nEmpresa: ".utf8_decode($empresa)."\nCómo ha conocido esta actividad: ".utf8_decode($comoconoce)."\n¿Desea Recibir más info?: ".utf8_decode($masinfo)."\n";
  6. mail($ToName." <".$ToEmail.">",$ToSubject, $EmailBody, "From: ".utf8_decode($apellidos)." <".utf8_decode($mail).">");

Lo que hace esque me manda el correo pero no me mete los datos en la base de datos
  #8 (permalink)  
Antiguo 26/03/2013, 07:18
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 1 mes
Puntos: 175
Respuesta: enviar alerta correo electronico



Código PHP:

<?php 
if ($nombre!= "" && $email!= "" 


$nombre=$_POST['nombre']; 
$apellidos=$_POST['apellidos']; 
$email=$_POST['email']; 
$telefono=$_POST['telefono']; 
$empresa=$_POST['empresa']; 
$conocido=$_POST['conocido']; 
$recibir=$_POST['recibir']; 


    
mysql_connect("localhost","root",""); 
    
mysql_select_db("inscripcion"); 
    
$sql=mysql_query("INSERT INTO inscripcion(nombre,apellidos,email,telefono,empresa,conocido,recibir) VALUES('$nombre','$apellidos','$email','$telefono','$empresa','$conocido','$recibir')"); 

      if(
$sql){//si genero la consulta de INSERT ENVIAMOS EL MAIL

         
$ToEmail "[email protected]";
         
$ToSubject "Correo Consulta desde la web de inscripcion";
 
         
$EmailBody "Nombre: ".utf8_decode($nombre)."\nApellidos: ".utf8_decode($apellidos)."\nE-mail: ".utf8_decode($email)."\nTeléfono: ".utf8_decode($telefono)."\nEmpresa: ".utf8_decode($empresa)."\nCómo ha conocido esta actividad: ".utf8_decode($comoconoce)."\n¿Desea Recibir más info?: ".utf8_decode($masinfo)."\n";

         
mail($ToName." <".$ToEmail.">",$ToSubject$EmailBody"From: ".utf8_decode($apellidos)." <".utf8_decode($mail).">"); 

      }




?>

Y tu fallo del explorer puede darse por las funciones, pluggins y demas javascript o Jquerys y/o CSS que tienes instalados o usas
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #9 (permalink)  
Antiguo 26/03/2013, 07:25
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: enviar alerta correo electronico

Ya te han dado la solución...

Pero me que da la curiosidad de donde tenias ese codigo y como lo llamabas sin nada en el action...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #10 (permalink)  
Antiguo 26/03/2013, 07:46
 
Fecha de Ingreso: febrero-2013
Mensajes: 19
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: enviar alerta correo electronico

me repaso las css y los javascript! lo estoy probando pero no me llega la alerta al correo, poniendo

if ($nombre!= "" && $email!= "" )
{}

delante tampoco me lo graba en la base de datos, he añadido a el codigo que tenia el if(sql)

lo he dejado asi (me lo graba en bd pero no me envia la lerta):

Código PHP:
Ver original
  1. <?php
  2. $nombre=$_POST['nombre'];
  3. $apellidos=$_POST['apellidos'];
  4. $email=$_POST['email'];
  5. $telefono=$_POST['telefono'];
  6. $empresa=$_POST['empresa'];
  7. $conocido=$_POST['conocido'];
  8. $recibir=$_POST['recibir'];
  9.  
  10. if ($nombre!= "" && $email!= "" )
  11. {
  12.     mysql_connect("localhost","root","");
  13.     mysql_select_db("inscripcion");
  14.     mysql_query("INSERT INTO inscripcion(nombre,apellidos,email,telefono,empresa,conocido,recibir) VALUES('$nombre','$apellidos','$email','$telefono','$empresa','$conocido','$recibir')");
  15.  
  16. if($sql){//si genero la consulta de INSERT ENVIAMOS EL MAIL
  17.  
  18.          $ToEmail = "[email protected]";
  19.          $ToSubject = "Correo Consulta desde la web de inscripcion";
  20.  
  21.          $EmailBody = "Nombre: ".utf8_decode($nombre)."\nApellidos: ".utf8_decode($apellidos)."\nE-mail: ".utf8_decode($email)."\nTeléfono: ".utf8_decode($telefono)."\nEmpresa: ".utf8_decode($empresa)."\nCómo ha conocido esta actividad: ".utf8_decode($comoconoce)."\n¿Desea Recibir más info?: ".utf8_decode($masinfo)."\n";
  22.  
  23.          mail($ToName." <".$ToEmail.">",$ToSubject, $EmailBody, "From: ".utf8_decode($apellidos)." <".utf8_decode($mail).">");
  24.  
  25.       }
  26.  
  27.  
  28.  
  29. }
  30. ?>
  #11 (permalink)  
Antiguo 26/03/2013, 07:54
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: enviar alerta correo electronico

Código PHP:
Ver original
  1. <?php
  2. $nombre=$_POST['nombre'];
  3. $apellidos=$_POST['apellidos'];
  4. $email=$_POST['email'];
  5. $telefono=$_POST['telefono'];
  6. $empresa=$_POST['empresa'];
  7. $conocido=$_POST['conocido'];
  8. $recibir=$_POST['recibir'];
  9.  
  10. if (isset($_POST['nombre']) && $nombre!= ""
  11.     isset($_POST['email']) && $email!= "" )
  12. {//Si he recibido nombre y email y no son cadena vacía hago el insert
  13.     mysql_connect("localhost","root","");
  14.     mysql_select_db("inscripcion");
  15. ///INSERT INTO retorna true si ha tenido exito y false en caso contrario.
  16.     $sql=mysql_query("INSERT INTO inscripcion(nombre,apellidos,email,telefono,empresa,conocido,recibir) VALUES('$nombre','$apellidos','$email','$telefono','$empresa','$conocido','$recibir')");
  17.  
  18. if($sql){//si genero la consulta de INSERT ENVIAMOS EL MAIL
  19.             //ahora si puesto que antes hemos recogido el resultado de insert en $sql
  20.  
  21.          $ToEmail = "[email protected]";
  22.          $ToSubject = "Correo Consulta desde la web de inscripcion";
  23.  
  24.          $EmailBody = "Nombre: ".utf8_decode($nombre)."\nApellidos: ".utf8_decode($apellidos)."\nE-mail: ".utf8_decode($email)."\nTeléfono: ".utf8_decode($telefono)."\nEmpresa: ".utf8_decode($empresa)."\nCómo ha conocido esta actividad: ".utf8_decode($comoconoce)."\n¿Desea Recibir más info?: ".utf8_decode($masinfo)."\n";
  25.  
  26.          mail($ToName." <".$ToEmail.">",$ToSubject, $EmailBody, "From: ".utf8_decode($apellidos)." <".utf8_decode($mail).">");
  27.  
  28.       }
  29.  
  30.  
  31.  
  32. }
  33. ?>

<form class="form-grp clearfix grpelem" id="widgetu1329" method="post" action="correo_consulta.php">

Carga el script anterior el resultado del cual és una pantalla blanca... quizas deberias confirmar al usuario que todo ha funciona o del error en su caso


Código PHP:
Ver original
  1. <?php
  2. $nombre=$_POST['nombre'];
  3. $apellidos=$_POST['apellidos'];
  4. $email=$_POST['email'];
  5. $telefono=$_POST['telefono'];
  6. $empresa=$_POST['empresa'];
  7. $conocido=$_POST['conocido'];
  8. $recibir=$_POST['recibir'];
  9.  
  10. if (isset($_POST['nombre']) && $nombre!= ""
  11.     isset($_POST['email']) && $email!= "" )
  12. {//Si he recibido nombre y email y no son cadena vacía hago el insert
  13.     mysql_connect("localhost","root","");
  14.     mysql_select_db("inscripcion");
  15. ///INSERT INTO retorna true si ha tenido exito y false en caso contrario.
  16.     $sql=mysql_query("INSERT INTO  inscripcion(nombre,apellidos,email,telefono,empresa,conocido,recibir)  VALUES('$nombre','$apellidos','$email','$telefono','$empresa','$conocido','$recibir')");
  17.  
  18. if($sql){//si genero la consulta de INSERT ENVIAMOS EL MAIL
  19.             //ahora si puesto que antes hemos recogido el resultado de insert en $sql
  20.  
  21.          $ToEmail = "[email protected]";
  22.          $ToSubject = "Correo Consulta desde la web de inscripcion";
  23.  
  24.          $EmailBody = "Nombre: ".utf8_decode($nombre)."\nApellidos:  ".utf8_decode($apellidos)."\nE-mail: ".utf8_decode($email)."\nTeléfono:  ".utf8_decode($telefono)."\nEmpresa: ".utf8_decode($empresa)."\nCómo ha  conocido esta actividad: ".utf8_decode($comoconoce)."\n¿Desea Recibir  más info?: ".utf8_decode($masinfo)."\n";
  25.  
  26.          mail($ToName." <".$ToEmail.">",$ToSubject, $EmailBody,  "From: ".utf8_decode($apellidos)." <".utf8_decode($mail).">");
  27.          
  28. //Puesto que estoy en la parte true del condicional puedo asegurrar que todo ha funcionado
  29. echo "Todo ha funcionado. Grácias ".$nombre;
  30.    
  31.       }else{
  32. //He llegado a la parte false del condicional luego ha habido un error
  33.         echo "Lo siento ". $nombre . ". No se ha insterdado el registro por algun problema intentalo de nuevo!!!";
  34.  
  35. }
  36.  }
  37. ?>
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 26/03/2013 a las 08:04
  #12 (permalink)  
Antiguo 26/03/2013, 07:57
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 1 mes
Puntos: 175
Respuesta: enviar alerta correo electronico

Para eso $nombre!= "" existe esto !empty($nombre)
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #13 (permalink)  
Antiguo 26/03/2013, 08:15
 
Fecha de Ingreso: febrero-2013
Mensajes: 19
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: enviar alerta correo electronico

quim me da un error de sintaxis en la linea 11

Código PHP:
Ver original
  1. if (isset($_POST['nombre']) && $nombre!= ""
  2.     isset($_POST['email']) && $email!= "" )
  #14 (permalink)  
Antiguo 26/03/2013, 08:19
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 1 mes
Puntos: 175
Respuesta: enviar alerta correo electronico

Amigo, te recomiendo que leas tutoriales básicos de PHP... sobre operadores lógicos, lo que haces ahí es incorrecto.. quitale ese salto de línea y dinos si es correcto...

http://php.net/manual/es/language.operators.logical.php
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #15 (permalink)  
Antiguo 26/03/2013, 08:30
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 8 meses
Puntos: 574
Respuesta: enviar alerta correo electronico

Si !empty() seria lo mismo...

Código PHP:
Ver original
  1. if (isset($_POST['nombre']) && $nombre!= ""
  2.     && isset($_POST['email']) && $email!= "" )

Faltaba un &&. Perdón ... pero aplicate lo que te dicen sobre el manual...lo podias corregir tu...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #16 (permalink)  
Antiguo 26/03/2013, 09:30
 
Fecha de Ingreso: febrero-2013
Mensajes: 19
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: enviar alerta correo electronico

Muchas gracias! ya ya si es que estoy empezando en este mundo!
  #17 (permalink)  
Antiguo 26/03/2013, 09:36
 
Fecha de Ingreso: febrero-2013
Mensajes: 19
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: enviar alerta correo electronico

Muchas gracias a todos! solucionado correctamente, y espero poco a poco ir aprendiendo y ir dejando de daros el coñazo! un abrazo fuerte!

Etiquetas: alerta, correo, electronico, formulario, mysql, select
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 21:19.