Foros del Web » Programando para Internet » PHP »

Enviar consulta de visitantes a los anunciantes!!!!

Estas en el tema de Enviar consulta de visitantes a los anunciantes!!!! en el foro de PHP en Foros del Web. Hola,a ver si alguien me puede ayudar. Tengo mi pagina web(aun no la uso)www.paginaeventos.com donde tengo una imagen que lleva a un formulario para que ...
  #1 (permalink)  
Antiguo 06/04/2013, 09:51
 
Fecha de Ingreso: marzo-2013
Mensajes: 6
Antigüedad: 11 años, 1 mes
Puntos: 0
Ayuda !!!!Enviar consulta de visitantes a los anunciantes!!!!

Hola,a ver si alguien me puede ayudar.
Tengo mi pagina web(aun no la uso)www.paginaeventos.com donde tengo una imagen que lleva a un formulario para que los visitantes hagan consultas para eventos.Necesito saber como hacer llegar ese formulario a todos los miembros de la pagina(anunciantes).El formulario que tengo solo me manda mi mail de administardor.
Como hago para que tome los mails de los anunciantes que se van registrando.
Espero que me puedan ayudar,ya que la quiero poner en funcionamiento.

Gracias por anticipado.
  #2 (permalink)  
Antiguo 06/04/2013, 10:18
Avatar de jariza  
Fecha de Ingreso: agosto-2003
Ubicación: Málaga
Mensajes: 1.449
Antigüedad: 20 años, 8 meses
Puntos: 10
Respuesta: Enviar consulta de visitantes a los anunciantes!!!!

Hola,

El método obvio sería sacar la lista de correos de los anunciantes y enviar un correo a cada uno. Pero sin saber cómo almacenas los datos de los anunciantes y cómo mandas el correo no te puedo ayudar más.

Un saludo :)
  #3 (permalink)  
Antiguo 06/04/2013, 10:47
 
Fecha de Ingreso: marzo-2013
Mensajes: 6
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Enviar consulta de visitantes a los anunciantes!!!!

Gracias por contestar,como te puedo facilitar esa informacion?te paso los archivos?
  #4 (permalink)  
Antiguo 06/04/2013, 10:51
Avatar de jariza  
Fecha de Ingreso: agosto-2003
Ubicación: Málaga
Mensajes: 1.449
Antigüedad: 20 años, 8 meses
Puntos: 10
Respuesta: Enviar consulta de visitantes a los anunciantes!!!!

No, no me pases archivos. Pon aquí el trozo de código que uses para enviar el correo. Indica también cómo almacenas los datos de los anuncianes (si es en un archivo de texto plano, una base de datos, etc) y un ejemplo (con un anunciante bastaría, incluso si es ficticio).

Un saludo :)
  #5 (permalink)  
Antiguo 06/04/2013, 11:07
 
Fecha de Ingreso: marzo-2013
Mensajes: 6
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Enviar consulta de visitantes a los anunciantes!!!!

A ver si lo puedo armar de alguna maenra para que se entienda:

Este es el cidigo que utiliza para el registro de los meimbros:

<?
require_once("conn.php");
require_once("includes.php");

if(isset($_POST[s1]))
{


$q1 = "insert into class_members set
username = '$_POST[NewUsername]',
password = '$_POST[p1]',
FirstName = '$_POST[FirstName]',
LastName = '$_POST[LastName]',
Address = '$_POST[Address]',
City = '$_POST[City]',
State = '$_POST[State]',
ZipCode = '$_POST[ZipCode]',
Country = '$_POST[Country]',
Phone = '$_POST[Phone]',
AlternatePhone = '$_POST[AlternatePhone]',
Fax = '$_POST[Fax]',
email = '$_POST[email]',
RegDate = '$t' ";

mysql_query($q1);

if(mysql_error())
{
$error = "<font face=verdana size=2 color=red><b>El nombre de usuario <font color=black>$_POST[NewUsername]</font> no está disponible!<br>Seleccione otro, por favor!</b></font>";

unset($_POST[NewUsername]);
}
else
{
$last = mysql_insert_id();
$_SESSION[AgentID] = $last;


header("location:welcome.php");
exit();
}

}

//get the templates
require_once("templates/HeaderTemplate.php");
require_once("templates/RegistrationTemplate.php");
require_once("templates/FooterTemplate.php");

?>
Este es el codigo del formulario que tengo :

<?php
$privatekey = "6Lc4Fd8SAAAAAEifX8c0AUHs6MO7l8uFcCWalJaQ"; // La llave privada que genera en https://www.google.com/recaptcha/admin/create
$publickey = "6Lc4Fd8SAAAAAGEuHTlYVsBU9wWo6FUHmwWO8uim"; // La llave publica que genera en https://www.google.com/recaptcha/admin/create
$enviar_a ="[email protected]"; // La direcci�n Email donde recibir� los mensajes enviados a trav�s del formulario
$asunto = "Formulario de Contacto"; // El asunto del mensaje
$pagina_confirmacion = "gracias.html"; // La p�gina de confirmaci�n de recepci�n ( puede dejar c�mo est� )

?>
Con este index:

<?php include_once "cabecera.html"; ?>

<?php

if(isset($_POST['Direccion_Email']) AND ($_POST['enviar'])) {
session_start();
$mensaje_error = "";
include 'config-formulario.php';
require_once('recaptchalib.php');




$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);



if (!$resp->is_valid) {
$mensaje_error .= "Control Anti SPAM no es válido <br />";
}


if(!isset($_POST['Nombre_Completo']) ||
!isset($_POST['Direccion_Email']) ||
!isset($_POST['Numero_Telefono']) ||
!isset($_POST['Su_Mensaje'])
) {
$mensaje_error .='Al Parecer tiene un problema con el Formulario <br />';
}


$su_nombre = strip_tags($_POST['Nombre_Completo']);
$_SESSION['su_nombre'] = $su_nombre;

$email_de = strip_tags($_POST['Direccion_Email']);
$_SESSION['email_de'] = $email_de;

$telefono = strip_tags($_POST['Numero_Telefono']);
$_SESSION['telefono'] = $telefono;

$su_comentario = strip_tags( $_POST['Su_Mensaje']);
$_SESSION['su_comentario'] = $su_comentario;

$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(preg_match($email_exp,$email_de)==0) {
$mensaje_error .= 'La dirección Email no es válida<br />';
}
if(strlen($su_nombre) < 2) {
$mensaje_error .= 'Ingrese su Nombre y Apellido<br />';
}
if(strlen($su_comentario) < 5) {
$mensaje_error .= 'Su Mensaje no es válido.<br />';
}

if(strlen($mensaje_error) > 0) {
echo '
<div class="alerta"> <b>ERROR AL ENVIAR EL FORMULARIO !</b><br /><br /> '.$mensaje_error.'</div>
';
}

// Si todo está bien, entonces enviamos el mensaje Email

if (strlen($mensaje_error) == 0){


$mensaje_email = "MENSAJE DEL FORMULARIO DE CONTACTO. <br /><br />";

function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:");
return str_replace($bad,"",$string);
}
$su_comentario= nl2br ($su_comentario);

$mensaje_email .= "Nombre: ".clean_string($su_nombre)."<br />";
$mensaje_email .= "Dirección Email: ".clean_string($email_de)."<br />";
$mensaje_email .= "Teléfono: ".clean_string($telefono)."<br />";
$mensaje_email .= "Mensaje: ".clean_string($su_comentario)."<br />";

$cabeceras = 'From:'.$email_de."\r\n".
'Reply-To:'. $email_de. "\r\n".
'X-Mailer: PHP/' . phpversion().
'Return-Path:' .$email_de."\r\n".
'MIME-Version: 1.0' . "\r\n".
'Content-type: text/html; charset=iso-8859-1' . "\r\n";

mail($enviar_a, $asunto, $mensaje_email, $cabeceras);
header("Location: $pagina_confirmacion");
echo "
<script>location.replace('".$pagina_confirmacion." ')</script>
";
}
}
?>


<form name="formulariocontacto" method="post" action="index.php" onSubmit="return validate.check(this)">

<br>
<table align="center" class="contactoform">


<tr>
<td colspan="2">

<div class="cabeceratitulo">Formulario de Contactos</div>

<div class="mensajenota"><span class="estrella"> * </span>Campo Obligatorio</div>

</td>
</tr>
<tr>
<td valign="top">
<label for="Nombre_Completo" class="labelcontacto">Nombre Completo<span class="estrella"> * </span></label>
</td>
<td valign="top">
<input name="Nombre_Completo" type="text" id="Nombre_Completo" style="width:300px; font-size:18px" value="<?php echo $_SESSION['su_nombre'] ?>" maxlength="50" >
</td>
</tr>
<tr>
<td valign="top">
<label for="Direccion_Email" class="labelcontacto">Dirección Email<span class="estrella"> * </span></label>
</td>
<td valign="top">
<input name="Direccion_Email" type="text" id="Direccion_Email" style="width:300px; font-size:18px" value="<?php echo $_SESSION['email_de'] ?>" maxlength="30" >
</td>
</tr>
<tr>
<td valign="top">
<label for="Numero_Telefono" class="labelcontacto">Número de Teléfono</label>
</td>
<td valign="top">
<input name="Numero_Telefono" type="text" id="Numero_Telefono" style="width:300px; font-size:18px" value="<?php echo $_SESSION['telefono'] ?>" maxlength="25">
</td>
</tr>
<tr>
<td valign="top">
<p>
<label for="Su_Mensaje" class="labelcontacto">Ingrese su mensaje lo mas detallado posible,incluyendo,fecha estimada ,cantidad de invitados y el motivo del festejo<span class="estrella"> * </span></label>
</p></td>
<td valign="top">
<textarea style="width:300px;height:160px;font-size:14px" name="Su_Mensaje" id="Su_Mensaje" maxlength="2000"><?php echo $_SESSION['su_comentario']?></textarea>
</td>
</tr>
<tr></tr>

<tr>
<td colspan="2" style="text-align:center" ><p><span class="estrella">*</span> Por favor, introduzca los caracteres que ve en la imagen de abajo. Esto es requerido para evitar envíos automáticos. </p></td>
</tr>
<tr>
<td colspan="2" style="text-align:center" >

<br />
<div align="center">
<?php
include 'config-formulario.php';
require_once('recaptchalib.php');

echo recaptcha_get_html($publickey);
?>
</div>
<p><br />
<br />
<br />

<input name="enviar" id="enviar" type="submit" value=" Enviar Formulario »" style="width:200px;height:40px;font-size:18px ">

<img src="spacer.gif" width="1" height="1"><img src="spacer.gif" width="1" height="1" alt="Neothek.com" longdesc="http://www.neothek.com/">
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<div class="tamanos"><a href="http://blog.neothek.com/blog-neothek/formulario-de-contacto-gratis-para-tu-sitio-web/" title="Formulario de contacto gratis">Formulario de contacto gratis</a> proporcionado por <a href="http://www.neothek.com/" title="Neothek.com">Neothek.com</a> |
Servicios <a href="http://www.neothek.com/web-hosting/" title="web hosting">Web Hosting</a> </div>

</td>

</tr>

</table>


</form>
<a href="http://www.neothek.com/web-hosting/" title="Web Hosting"></a>
<div>


</div>
</body>
</html>

Pero el tema es que este formulario lo saque de internet y tarte de modificarlo para la funcion que necesito pero no tuve exito.
Tambien tengo un formulario de boletines para mandar a los miembros que eso si les llega pero no se como hacer para que en el mail les llegue la informacion del que realiza la consulta.

En fin creo que me extendi mucho y no soy claro....si no podes ayudarme te lo agradezco igual.

Saludos.

ignaciochef
  #6 (permalink)  
Antiguo 06/04/2013, 11:22
Avatar de jariza  
Fecha de Ingreso: agosto-2003
Ubicación: Málaga
Mensajes: 1.449
Antigüedad: 20 años, 8 meses
Puntos: 10
Mensaje Respuesta: Enviar consulta de visitantes a los anunciantes!!!!

Hola,

La solución fácil sería sustituir esto:
Código PHP:
mail($enviar_a$asunto$mensaje_email$cabeceras); 
por algo así como esto:
Código PHP:
$res select("mail FROM  class_members");
while(
$row mysql_fetch_assoc($res)) {
    
mail($row['mail'], $asunto$mensaje_email$cabeceras);

El problema es que a más anunciantes más tardan en enviarse los mails.

Otra alternativa sería esta:
Código PHP:
$res select("mail FROM  class_members");
$correos = array();
while(
$row mysql_fetch_assoc($res)) {$correos[] = $row['mail'];}
mail(implode(','$correos), $asunto$mensaje_email$cabeceras); 
El problema de esta es que todos los anunciantes verán las direcciones de correos de los demás, pero tardará muy poco en ejecutarse.

Una tercera solución sería usar un sistema de lista de correos o de boletines, apuntar a los anunciantes a él y hacer que el formulario mande un correo a la lista y no a [email protected]. Si el sistema de boletines que tienes implementado es capaz de reenviar correos ya tienes el tema solucionado.

Por cierto, el código lo he escrito sin depurar y sin hacer control de errores. Tampoco indicas cómo se llama la columna donde se almacenan los correos, así que he usado "mail" como nombre.

¡Ah!, tampoco se hasta qué punto es bueno que pongas las key de recaptha XD

Un saludo :)
  #7 (permalink)  
Antiguo 06/04/2013, 11:29
 
Fecha de Ingreso: marzo-2013
Mensajes: 6
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Enviar consulta de visitantes a los anunciantes!!!!

Muchas gracias por tu paciencia.
El formulario que puse es una opcion que saque de internet,pero no creo que sea el definitivo.
Lo que yo quiero hacer es que un visitante "x" pregunte mediante formulario:'Hola quiero averiguar por un presupuesto para..bla,bla,bla...' y que esa consulta le llegue automaticamente a todos los anunciantes que estan activos en la pagina.
Sabiendo que utilizo cpanel con sus funciones de base de datos que me aconsejarias,que modifique algun formulario existente o que haga uno de cero.

Saludos.
  #8 (permalink)  
Antiguo 06/04/2013, 11:50
 
Fecha de Ingreso: marzo-2013
Mensajes: 6
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Enviar consulta de visitantes a los anunciantes!!!!

Cita:
Iniciado por jariza Ver Mensaje
Hola,

La solución fácil sería sustituir esto:
Código PHP:
mail($enviar_a$asunto$mensaje_email$cabeceras); 
por algo así como esto:
Código PHP:
$res select("mail FROM  class_members");
while(
$row mysql_fetch_assoc($res)) {
    
mail($row['mail'], $asunto$mensaje_email$cabeceras);

El problema es que a más anunciantes más tardan en enviarse los mails.

Otra alternativa sería esta:
Código PHP:
$res select("mail FROM  class_members");
$correos = array();
while(
$row mysql_fetch_assoc($res)) {$correos[] = $row['mail'];}
mail(implode(','$correos), $asunto$mensaje_email$cabeceras); 
El problema de esta es que todos los anunciantes verán las direcciones de correos de los demás, pero tardará muy poco en ejecutarse.

Una tercera solución sería usar un sistema de lista de correos o de boletines, apuntar a los anunciantes a él y hacer que el formulario mande un correo a la lista y no a [email][email protected][/email]. Si el sistema de boletines que tienes implementado es capaz de reenviar correos ya tienes el tema solucionado.

Por cierto, el código lo he escrito sin depurar y sin hacer control de errores. Tampoco indicas cómo se llama la columna donde se almacenan los correos, así que he usado "mail" como nombre.

¡Ah!, tampoco se hasta qué punto es bueno que pongas las key de recaptha XD

Un saludo :)

Mira un formulario que ya tengo y que llega bien a los distintos usuarios es el del boletin que lo modifique:

<?
require_once("../conn.php");
require_once("access.php");
;

if(isset($_POST[s1]))
{
$q1 = "select * from class_members";
$r1 = mysql_query($q1) or die(mysql_error());

while($a1 = mysql_fetch_array($r1))
{
$to = $a1[email];
$subject = $_POST[sub];
$mail = $_POST[email];
$message = $_POST[MyMessage];
$mensaje = "Este mensaje fue enviado por " . $nombre . " \r\n";
$mensaje .= "Su e-mail es: " . $mail . " \r\n";
$mensaje .= "Mensaje: " . $_POST[MyMessage] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
$headers .= "From: $aset[SiteTitle] <$aset[ContactEmail]>\n";
$headers .= "X-Priority: 1\n";
$headers .= "X-MSMail-Priority: High\n";
$headers .= "X-Mailer: PHP/" . phpversion()."\n";

mail($to, $subject, $message, $headers);

$i++;
}

$error = "$i mensajes han sido enviados";
}

//get the number of registered members
$q1 = "select count(*) from class_members";
$r1 = mysql_query($q1) or die(mysql_error());
$a1 = mysql_fetch_array($r1);

if($a1[0] == 0)
{
echo "<br><br><center>Aún no hay miembros registrados!</center>";
exit();
}

?>

<script>
function CheckMail() {

if(document.f1.sub.value=="")
{
alert('Ingrese el asunto del boletin, por favor!');
document.f1.sub.focus();
return false;
}

if(document.f1.MyMessage.value=="")
{
alert('Ingrese el texto del boletin, por favor!');
document.f1.MyMessage.focus();
return false;
}

}
</script>

<br><br>
<form method=post onsubmit="return CheckMail();" name=f1>
<table align=center width=500>

<tr>
<td></td>
<td><b><br>Enviar consulta a todos los anunciantes</b><br><?=$error?></td>
</tr>

<tr>
<td align=right>Asunto:</td>
<td><input type=text name=sub size=36></td>
</tr>
<tr>
<td align=right>Email:</td>
<td><input type=text name=email size=36></td>
</tr>
<tr>
<td align=right valign=top>Por favor ingrese email,telefono,nombre y detalle del evento solicitado:</td>
<td><textarea name=MyMessage rows=10 cols=35></textarea></td>
</tr>

<tr>
<td>&nbsp</td>
<td><input type=submit name=s1 value="Enviar" class="sub1"></td>
</tr>

</table>

</form>

<?

?>
El tema es que solo llega:Asunto y mensaje.
Se puede modificar para que tambien llegue direccion de mail,nombre,telefono,etc?
  #9 (permalink)  
Antiguo 06/04/2013, 13:57
Avatar de jariza  
Fecha de Ingreso: agosto-2003
Ubicación: Málaga
Mensajes: 1.449
Antigüedad: 20 años, 8 meses
Puntos: 10
Respuesta: Enviar consulta de visitantes a los anunciantes!!!!

Hola,

Tu boletín y mi sugerencia con el mail dentro de un while son a grandes rasgos lo mismo. Y comparten el mismo problema.

Partiendo de que usas cpanel, yo crearía un correo electrónico y lo redireccionaría a un script donde meter un while con el mail; el formulario lo apuntaría a ese correo.

Un saludo :)

Etiquetas: formulario
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 00:25.