Foros del Web » Programando para Internet » PHP »

¡AYUDA! Insertar registro en bd y enviar mail a la vez

Estas en el tema de ¡AYUDA! Insertar registro en bd y enviar mail a la vez en el foro de PHP en Foros del Web. Hola a todos, tengo una duda que a ver si me pueden guiar porque no se como hacerlo. Tengo un formulario de insertar un registro ...
  #1 (permalink)  
Antiguo 23/08/2010, 16:15
 
Fecha de Ingreso: agosto-2008
Mensajes: 14
Antigüedad: 15 años, 8 meses
Puntos: 0
¡AYUDA! Insertar registro en bd y enviar mail a la vez

Hola a todos, tengo una duda que a ver si me pueden guiar porque no se como hacerlo.

Tengo un formulario de insertar un registro nuevo en una base de datos mysql. Está creado con el Dreamweaver. Lo que quiero hacer es que al insertar el registro, también se me envíe un mail a mi correo.
No debe ser dificil pero no doy con la solución. Les dejo el código. Graciasss!!!!

El código es el siguiente:

<?php require_once('Connections/cnx.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO inmueble (zonaID, tipoID, estadoID, titulo, dimensiones, habitaciones, aseos, garaje, detalle, precio, fotoprincipal, foto1, foto2, foto3, foto4, nombre, telefono1, telefono2, direccion, observaciones) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['zonaID'], "int"),
GetSQLValueString($_POST['tipoID'], "int"),
GetSQLValueString($_POST['estadoID'], "int"),
GetSQLValueString($_POST['titulo'], "text"),
GetSQLValueString($_POST['dimensiones'], "text"),
GetSQLValueString($_POST['habitaciones'], "text"),
GetSQLValueString($_POST['aseos'], "text"),
GetSQLValueString($_POST['garaje'], "text"),
GetSQLValueString($_POST['detalle'], "text"),
GetSQLValueString($_POST['precio'], "double"),
GetSQLValueString($_FILES['fotoprincipal']['name'], "text"),
GetSQLValueString($_FILES['foto1']['name'], "text"),
GetSQLValueString($_FILES['foto2']['name'], "text"),
GetSQLValueString($_FILES['foto3']['name'], "text"),
GetSQLValueString($_FILES['foto4']['name'], "text"),
GetSQLValueString($_POST['nombre'], "text"),
GetSQLValueString($_POST['telefono1'], "int"),
GetSQLValueString($_POST['telefono2'], "int"),
GetSQLValueString($_POST['direccion'], "text"),
GetSQLValueString($_POST['observaciones'], "text"));

mysql_select_db($database_cnx, $cnx);
$Result1 = mysql_query($insertSQL, $cnx) or die(mysql_error());

$destino="images/recibidas/fotoprincipal/";
copy($_FILES['fotoprincipal']['tmp_name'],$destino.$_FILES['fotoprincipal']['name']);

$destino="images/recibidas/";
copy($_FILES['foto1']['tmp_name'],$destino.$_FILES['foto1']['name']);
copy($_FILES['foto2']['tmp_name'],$destino.$_FILES['foto2']['name']);
copy($_FILES['foto3']['tmp_name'],$destino.$_FILES['foto3']['name']);
copy($_FILES['foto4']['tmp_name'],$destino.$_FILES['foto4']['name']);

$insertGoTo = "correcto.html";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}

mysql_select_db($database_cnx, $cnx);
$query_rsZonaID = "SELECT * FROM inmueble_zona ORDER BY zona ASC";
$rsZonaID = mysql_query($query_rsZonaID, $cnx) or die(mysql_error());
$row_rsZonaID = mysql_fetch_assoc($rsZonaID);
$totalRows_rsZonaID = mysql_num_rows($rsZonaID);

mysql_select_db($database_cnx, $cnx);
$query_rsTipo = "SELECT * FROM inmueble_tipo ORDER BY tipo ASC";
$rsTipo = mysql_query($query_rsTipo, $cnx) or die(mysql_error());
$row_rsTipo = mysql_fetch_assoc($rsTipo);
$totalRows_rsTipo = mysql_num_rows($rsTipo);

mysql_select_db($database_cnx, $cnx);
$query_rsEstado = "SELECT * FROM inmueble_estado ORDER BY estado ASC";
$rsEstado = mysql_query($query_rsEstado, $cnx) or die(mysql_error());
$row_rsEstado = mysql_fetch_assoc($rsEstado);
$totalRows_rsEstado = mysql_num_rows($rsEstado);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<div id="cabecera">
<html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/plantilla.dwt" codeOutsideHTMLIsLocked="false" -->
<head>

<link href='icono.ico' rel='icon' type='image/x-ico'/>
<link href='icono.ico' rel='shortcut icon' type='image/x-ico'/>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- InstanceBeginEditable name="doctitle" -->
<title>Contactar con Costa Telde</title>
<!-- InstanceEndEditable -->
<!-- InstanceBeginEditable name="head" -->
<!-- InstanceEndEditable -->

<link href="style.css" rel="stylesheet" type="text/css" />

</head>

<body>.....

....<!-- InstanceBeginEditable name="principal" -->
<h1>AÑADIR PROPIEDAD:</h1>
<form action="<?php echo $editFormAction; ?>" method="post" enctype="multipart/form-data" name="form1" id="form1"> ....

....<input type="submit" value="Enviar Datos" />
<input name="btnCancelar" type="button" class="botones" id="btnCancelar" onclick="javascript:history.back();" value="Cancelar" />...
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1" />
</form>



.....</body>

<!-- InstanceEnd --></html>
<?php



mysql_free_result($rsTipo);

mysql_free_result($rsEstado);

mysql_free_result($rsZonaID);

Última edición por jocasevi; 23/08/2010 a las 18:10
  #2 (permalink)  
Antiguo 23/08/2010, 20:30
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: ¡AYUDA! Insertar registro en bd y enviar mail a la vez

¿seguro?, porque en google se consiguen miles de tutoriales para el envío de emails con php, podrias empezar con phpmailer, swiftmailer o la función mail nativa de php
  #3 (permalink)  
Antiguo 25/08/2010, 04:09
 
Fecha de Ingreso: agosto-2008
Mensajes: 14
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: ¡AYUDA! Insertar registro en bd y enviar mail a la vez

Enviar un formulario por mail si lo hago (con phpmailer para los archivos adjuntos), y actualizar la bd con el formulario también. Lo que no me sale es hacer las 2 cosas a la vez en la misma acción (pulsando un sólo botón 1 vez), no se si me he explicado...
  #4 (permalink)  
Antiguo 25/08/2010, 13:15
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 13 años, 9 meses
Puntos: 7
Respuesta: ¡AYUDA! Insertar registro en bd y enviar mail a la vez

no te compliques la existencia simplemente en el archivo donde envias el mail antes de la sentencia donde envias el mail pues ejecutas el query de inserción
mira te voy a poner un ejemplo:

Código PHP:
<?php
$email 
$_POST['email'];
            
$nombre $_POST['nombre'];
            
$pais $_POST['pais'];
            
$codigo rand(00000,99999); // Conseguimos un codigo aleatorio de 5 digitos.
            
            
$sql'SELECT * FROM subs WHERE email="'.$email.'"';        
            
$resultados mysql_query($sql,$con);
            
            if(
mysql_fetch_assoc($resultados)>0)
            {
                        
header ('location: enviado.php');
            }
                 else{
                 
//Armamos el mensaje que sera enviado al cliente..    
                      
$cuerpo 'Has aceptado obtener las técnicas y los secretos necesarios para obtner las ganancias.\n Aquí esta su codigo de confirmación:'.$codigo
                      
$encabezado ' De: NEGOCIOS DESDE CERO\n';
                      
$destino $email;
                      
mail ($destino,$encabezado,$cuerpo);
                      
//Sentencia de insercion....
                      
$query 'INSERT INTO subs (nombre,email,pais,codigo) VALUES (\''.$nombre.'\',\''.$email.'\',\''.$pais.'\',\''.$codigo.'\')';
                      
mysql_query($query,$con);
                      
header ('location: ingresacod.php');    
                    }
        
}    
?>
espero que te sirva saludos

Etiquetas: bd, enviar, mail, registro
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 11:28.