Foros del Web » Programando para Internet » PHP »

Enviar email con checkbox

Estas en el tema de Enviar email con checkbox en el foro de PHP en Foros del Web. Hola a todos.. nuevamente molestandolos Veran.. Tengo mi HTML que muestra una tabla en la cual aparecen los registros de mi BD, en ella muestro ...
  #1 (permalink)  
Antiguo 29/11/2012, 16:23
 
Fecha de Ingreso: octubre-2012
Ubicación: México
Mensajes: 40
Antigüedad: 11 años, 6 meses
Puntos: 1
Enviar email con checkbox

Hola a todos.. nuevamente molestandolos

Veran.. Tengo mi HTML que muestra una tabla en la cual aparecen los registros de mi BD, en ella muestro el email, nombre,direccion,rfc,num_empleado..

Lo que intento hacer es que con el checkbox que puse en la tabla, pueda enviar correos a los registros que seleccione, tengo un código que funciona bien enviando un sólo correo pero tengo que definir a cual correo se enviaran (como funcionan los formularios de contacto) intente modificarlo para que haga lo que necesito pero no funciona :S espero puedan ayudarme please!

Código HTML:

Código HTML:
<table width="750" border="1" align="center">

	<tr> 
        <th width="70" bgcolor="#CCCCCC" align="center"> Seleccionar </th>
		<th width="109" bgcolor="#CCCCCC"> Email </th>
		<th width="147" bgcolor="#CCCCCC"> Nombre </th>
        <th width="147" bgcolor="#CCCCCC"> Direccion </th>
		<th width="147" bgcolor="#CCCCCC"> RFC </th>
		<th width="147" bgcolor="#CCCCCC"> Num. de Empleado </th>
        <th width="30" background="images/delete.jpg"> <font color="#FFFFFF"></font></th>      
        <th width="30" bgcolor="#CCCCCC"> Baja </th>
  </tr>
  
<?php

{

while ($row=mysql_fetch_array($resultado)){
?>

<?php  echo "<td align='center'><input type='checkbox' id='check' name='check' value='check' onclick='?????'></td>";?>

<td bgcolor="#FFFFFF" align="center"><?php print $row ["email"];?> </td>


<?php 
echo "<td><a href=\"info.php?nombre=".$row ['nombre']."\">";
echo $row['nombre']."</a></td>"; 
?>
<td bgcolor="#FFFFFF" align="center"><?php print $row ["direccion"];?> </td>
<td bgcolor="#FFFFFF" align="center"><?php print $row ["rfc"];?> </td>
<td bgcolor="#FFFFFF" align="center"><?php print $row ["num_empleado"];?> </td>
<td><a href="clean.php?nombre=<?php echo $row ["nombre"];?>">Eliminar</a></td>        
<td><a href="eliminate.php?nombre=<?php echo $row ["nombre"];?>">Baja</a></td>  
	</tr>	
<?php  

}
}
?>	

<br />
<br />
</table>
<!--Título-->
<p><H2>Mi formulario HTML</H2></p>
<!--Formulario-->
<FORM id="contacto" name="contacto" action="enviar.php" method="POST">
<p>
<label>Nombre <input name="nombre" type="text" id="nombre"
 size="42"/></label>
</p>
<p>
<p><label>E-mail <input name="email" type="text" id="email" size="43"/>
</label>
</p>
<p><label>Mensaje<br>
<textarea name="mensaje" cols="40" rows="8" id="mensaje">
</textarea></label>
</p>
<p><input type="submit" name="Submit" value="Enviar"/></p>
</FORM> 
-ENVIAR.PHP-

Código PHP:
<?php

$nombre 
$_POST['nombre'];
$email $_POST['email'];

$header 'From: ' $email " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje "Este mensaje fue enviado por " $nombre " \r\n";
$mensaje .= "Su e-mail es: " $email " \r\n";
$mensaje .= "Mensaje: " $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " date('d/m/Y'time());

$check $_POST['check'];
$para implode (', '$check);
$asunto 'Asunto del email recibido';

mail($para$asuntoutf8_decode($mensaje), $header);

echo 
'Mensaje enviado correctamente';
?>
Gracias
  #2 (permalink)  
Antiguo 29/11/2012, 18:50
 
Fecha de Ingreso: noviembre-2012
Mensajes: 66
Antigüedad: 11 años, 4 meses
Puntos: 10
Respuesta: Enviar email con checkbox

A ver en este caso lo que te conviene es usar como name del checkbox un array

Código PHP:
<?php  echo "<td align='center'><input type='checkbox' id='check' name='check[]' value='check' onclick='?????'></td>";?>
y luego leer así:

Código PHP:
<?php
if($_POST['check']!="")
{
$para=implode (', '$_POST['postre']); 
echo 
$para;  //comprobamos a ver si pita el asunto con un echo antes ;)
}
?>
Creo yo que así funcionaría...

Salu2 ;)
  #3 (permalink)  
Antiguo 30/11/2012, 10:39
 
Fecha de Ingreso: octubre-2012
Ubicación: México
Mensajes: 40
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: Enviar email con checkbox

Sorry por no contestar antes.. gracias jmdearpe! en este momento lo checo..y aviso cualquier cosa! :)
  #4 (permalink)  
Antiguo 30/11/2012, 12:56
 
Fecha de Ingreso: octubre-2012
Ubicación: México
Mensajes: 40
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: Enviar email con checkbox

No funciona.. :/ estoy intentando de otros modos pero no me queda :s pienso que tengo que pasarle algo para que recoja los correos no?? porfisss ayudenme
  #5 (permalink)  
Antiguo 30/11/2012, 13:06
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Respuesta: Enviar email con checkbox

Te mando algún error? Verifica con un var_dump si tu variable trae el arreglo con los valores:

Código PHP:
var_dump($_POST['check']); 
saludos.
  #6 (permalink)  
Antiguo 30/11/2012, 13:27
 
Fecha de Ingreso: octubre-2012
Ubicación: México
Mensajes: 40
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: Enviar email con checkbox

Cita:
Iniciado por mauled Ver Mensaje
Te mando algún error? Verifica con un var_dump si tu variable trae el arreglo con los valores:

Código PHP:
var_dump($_POST['check']); 
saludos.

Si, me marca esto:
Notice: Undefined index: check in /usr/local/apache/htdocs/directorio/enviar.php on line 14

Pero ahorita que le puse var_dump me arrojó esto
Notice: Undefined index: check in /usr/local/apache/htdocs/directorio/enviar.php on line 31
NULL

Y sigue sin enviar los correos
  #7 (permalink)  
Antiguo 30/11/2012, 14:40
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Respuesta: Enviar email con checkbox

Realizaste lo que te comento jmdearpe?

Saludos.
  #8 (permalink)  
Antiguo 30/11/2012, 15:02
 
Fecha de Ingreso: octubre-2012
Ubicación: México
Mensajes: 40
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: Enviar email con checkbox

Si.. ya lo realicé pero no consigo hacer que funcione, seguiré intentado pero si tienes otra opción te agradecería mucho que me la comentaras :(

Gracias!!
  #9 (permalink)  
Antiguo 30/11/2012, 15:34
 
Fecha de Ingreso: noviembre-2012
Mensajes: 66
Antigüedad: 11 años, 4 meses
Puntos: 10
Respuesta: Enviar email con checkbox

Cita:
Iniciado por jmdearpe Ver Mensaje
A ver en este caso lo que te conviene es usar como name del checkbox un array

Código PHP:
<?php  echo "<td align='center'><input type='checkbox' id='check' name='check[]' value='check' onclick='?????'></td>";?>
y luego leer así:

Código PHP:
<?php
if($_POST['check']!="")
{
$para=implode (', '$_POST['postre']); 
echo 
$para;  //comprobamos a ver si pita el asunto con un echo antes ;)
}
?>
Creo yo que así funcionaría...

Salu2 ;)

Disculpa se me coló una variable de una prueba que hice, obviamente la variable postre no existe el implode actua sobre $_POST['check']
Código PHP:
$para=implode (', '$_POST['check']); 
Lo digo por si lo tenías así y a ti tamben se te pasó como a mi que, es que andaba con un ejemplo y al hacer copy&paste se me olvidó sustiruir


salu2 ;)
  #10 (permalink)  
Antiguo 30/11/2012, 15:54
 
Fecha de Ingreso: octubre-2012
Ubicación: México
Mensajes: 40
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: Enviar email con checkbox

Cita:
Iniciado por jmdearpe Ver Mensaje
Disculpa se me coló una variable de una prueba que hice, obviamente la variable postre no existe el implode actua sobre $_POST['check']
Código PHP:
$para=implode (', '$_POST['check']); 
Lo digo por si lo tenías así y a ti tamben se te pasó como a mi que, es que andaba con un ejemplo y al hacer copy&paste se me olvidó sustiruir


salu2 ;)

Si le cambie el nombre pero no funcionó... no se que esté pasando mal, seguro es algo sencillo pero me esta causando mucho problema
  #11 (permalink)  
Antiguo 30/11/2012, 16:01
 
Fecha de Ingreso: noviembre-2012
Mensajes: 66
Antigüedad: 11 años, 4 meses
Puntos: 10
Respuesta: Enviar email con checkbox

Vale he repasado tu primer código y el problema que veo es que el checkbox no está dentro del form...

Tienes que poner el checkbox entre las etiquetas <form> </form>

Mira a ver si es eso, porque ese ejemplo que te puse debería de funcionar en realidad es bien sencillo

de momento si el checkbox no esta dentro del form ya no se envia con lo cual tienes todas las papeletas de que sea eso...

Salu2 a ver si funciona asi

Última edición por jmdearpe; 30/11/2012 a las 16:46
  #12 (permalink)  
Antiguo 30/11/2012, 16:48
 
Fecha de Ingreso: octubre-2012
Ubicación: México
Mensajes: 40
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: Enviar email con checkbox

Ok.. si lo pongo dentro del form, tendría que ir en el formulario?así:

Código HTML:
<FORM id="contacto" name="contacto" action="enviar.php" method="POST">
<p>
[B]<input type='checkbox' id='email' name='email' value='email' onclick='?????'>[/B]
<p>
<label>Nombre <input name="nombre" type="text" id="nombre"
 size="42"/></label>
</p>
<p>
<p><label>E-mail <input name="email" type="text" id="email" size="43"/>
</label>
</p>
<p><label>Mensaje<br>
<textarea name="mensaje" cols="40" rows="8" id="mensaje">
</textarea></label>
</p>
<p><input type="submit" name="Submit" value="Enviar"/></p>
</FORM> 
ya lo hice pero el checkbox me aparece ahí y lo que intento es que salga en la tabla en donde me aparecen los registros..sólo que sea así:

Código PHP:
Ver original
  1. <?php  echo "<form><td align='center'><input type='checkbox' id='email' name='email' value='email' onclick='?????'></td></form>";?>

No me aparecen errores pero no envía nada :/
  #13 (permalink)  
Antiguo 30/11/2012, 17:03
 
Fecha de Ingreso: noviembre-2012
Mensajes: 66
Antigüedad: 11 años, 4 meses
Puntos: 10
Respuesta: Enviar email con checkbox

Claro es que tienes que ponerlo como lo tenías con action method etc

Código PHP:
<FORM id="contacto" name="contacto" action="enviar.php" method="POST"
Con eso debería de enviar

saludos...
  #14 (permalink)  
Antiguo 30/11/2012, 17:41
 
Fecha de Ingreso: octubre-2012
Ubicación: México
Mensajes: 40
Antigüedad: 11 años, 6 meses
Puntos: 1
Respuesta: Enviar email con checkbox

Lo que tengo es esto:

Código PHP:
<?php

{

while (
$row=mysql_fetch_array($resultado)){
?>

<?php  echo "<FORM id='contacto' name='contacto' action='enviar.php' method='POST'><td align='center'><input type='checkbox' id='email' name='email' value='email' onclick='?????'></td></form>";?>

<td bgcolor="#FFFFFF" align="center"><?php print $row ["email"];?> </td>


<?php 
echo "<td><a href=\"info.php?nombre=".$row ['nombre']."\">";
echo 
$row['nombre']."</a></td>"
?>
<td bgcolor="#FFFFFF" align="center"><?php print $row ["direccion"];?> </td>
<td bgcolor="#FFFFFF" align="center"><?php print $row ["rfc"];?> </td>
<td bgcolor="#FFFFFF" align="center"><?php print $row ["num_empleado"];?> </td>
<td><a href="clean.php?nombre=<?php echo $row ["nombre"];?>">Eliminar</a></td>        
<td><a href="eliminate.php?nombre=<?php echo $row ["nombre"];?>">Baja</a></td>  
    </tr>    
<?php  

}
}
?>    

<br />
<br />
</table>
<!--Título-->
<p><H2>Mi formulario HTML</H2></p>
<!--Formulario-->
Código HTML:
<FORM id="contacto" name="contacto" action="enviar.php" method="POST">
<p>
<p>
<label>Nombre <input name="nombre" type="text" id="nombre"
 size="42"/></label>
</p>
<p>
<p><label>E-mail <input name="email" type="text" id="email" size="43"/>
</label>
</p>
<p><label>Mensaje<br>
<textarea name="mensaje" cols="40" rows="8" id="mensaje">
</textarea></label>
</p>
<p><input type="submit" name="Submit" value="Enviar"/></p>
</FORM> 

y así intento recibirlo:

Código PHP:
<?php

$nombre 
$_POST['nombre'];
$mail $_POST['email'];

$header 'From: ' $email " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje "Este mensaje fue enviado por " $nombre ",
 de la empresa " 
$empresa " \r\n";
$mensaje .= "Su e-mail es: " $email " \r\n";
$mensaje .= "Mensaje: " $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " date('d/m/Y'time());

$check =$_POST['check'];
$para implode (','$check);
$asunto 'Asunto del email recibido';

mail($asuntoutf8_decode($mensaje), $header);

echo 
'Mensaje enviado correctamente';
?>

Por favor díganme que algo estoy haciendo mal, porque si esta bien y no funciona.. entonces que es
  #15 (permalink)  
Antiguo 30/11/2012, 18:20
 
Fecha de Ingreso: noviembre-2012
Mensajes: 66
Antigüedad: 11 años, 4 meses
Puntos: 10
Respuesta: Enviar email con checkbox

el formulario tiene que empezar antes del mysql_fetch_array porque si lo pones dentro te crearía un formulario a cada iteración, luego con el fetch_array compones la tabla incluidos los checkbox con el name check por el tema del array y con el valor de $row['email']

lo demás yo diría que debe de seguir como estaba

Código PHP:
<?php

{
echo 
"<FORM id='contacto' name='contacto' action='enviar.php' method='POST'>";
while (
$row=mysql_fetch_array($resultado)){
?>

<?php  echo "<td align='center'><input type='checkbox' id='email' name='check[]' value='".$row ["email"]."' ></td>";?>

<td bgcolor="#FFFFFF" align="center"><?php print $row ["email"];?> </td>


<?php 
echo "<td><a href=\"info.php?nombre=".$row ['nombre']."\">";
echo 
$row['nombre']."</a></td>"
?>
<td bgcolor="#FFFFFF" align="center"><?php print $row ["direccion"];?> </td>
<td bgcolor="#FFFFFF" align="center"><?php print $row ["rfc"];?> </td>
<td bgcolor="#FFFFFF" align="center"><?php print $row ["num_empleado"];?> </td>
<td><a href="clean.php?nombre=<?php echo $row ["nombre"];?>">Eliminar</a></td>        
<td><a href="eliminate.php?nombre=<?php echo $row ["nombre"];?>">Baja</a></td>  
    </tr>    
<?php  

}
}
?>    

<br />
<br />
</table>
<!--Título-->
<p><H2>Mi formulario HTML</H2></p>
<!--Formulario-->
Código HTML:
<p>
<p>
<label>Nombre <input name="nombre" type="text" id="nombre"
 size="42"/></label>
</p>
<p>
<p><label>E-mail <input name="email" type="text" id="email" size="43"/>
</label>
</p>
<p><label>Mensaje<br>
<textarea name="mensaje" cols="40" rows="8" id="mensaje">
</textarea></label>
</p>
<p><input type="submit" name="Submit" value="Enviar"/></p>
</FORM> 

y así intento recibirlo:

Código PHP:
<?php

$nombre 
$_POST['nombre'];
$mail $_POST['email'];

$header 'From: ' $email " \r\n";
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje "Este mensaje fue enviado por " $nombre ",
 de la empresa " 
$empresa " \r\n";
$mensaje .= "Su e-mail es: " $email " \r\n";
$mensaje .= "Mensaje: " $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " date('d/m/Y'time());

$check =$_POST['check'];
$para implode (','$check);
$asunto 'Asunto del email recibido';

mail($asuntoutf8_decode($mensaje), $header);

echo 
'Mensaje enviado correctamente';
?>

Etiquetas: checkbox, email, formulario, html, registro, sql, tabla
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 13:35.