Foros del Web » Programando para Internet » PHP »

Necesito un cable

Estas en el tema de Necesito un cable en el foro de PHP en Foros del Web. Código: <?php //if ($_POST['CasillaVerificacion'] = "verificado"){ $nombre = $_POST['txtNombre']; $mail = $_POST['txtEmail']; $empresa = $_POST['txtEmpresa']; $telefono = $_POST['txtTelefono']; $asunto = $_POST['txtAsunto']; $mensaje = $_POST['txtDescripcion']; $enviar ...
  #1 (permalink)  
Antiguo 10/07/2011, 05:03
 
Fecha de Ingreso: enero-2011
Mensajes: 105
Antigüedad: 13 años, 2 meses
Puntos: 10
Necesito un cable

Código:
<?php 

//if ($_POST['CasillaVerificacion'] = "verificado"){
 
	$nombre = $_POST['txtNombre'];
	$mail = $_POST['txtEmail'];
	$empresa = $_POST['txtEmpresa'];
	$telefono = $_POST['txtTelefono'];
	$asunto = $_POST['txtAsunto'];
	$mensaje = $_POST['txtDescripcion'];
	$enviar = true;

if ($nombre != "")
{
//	<script language="javascript">
//		alert("El campo Nombre es obligatorio");
//		window.history.back();
//	</script>
	echo "error"
	$enviar = false;	
}
if ($mail != "")
{
//	<script language="javascript">
//		alert("El campo E-mail es obligatorio");
//		window.history.back();
//	</script>
	$enviar = false;
}
if ($asunto != "")
{
//	<script language="javascript">
//		alert("El campo Asunto es obligatorio");
//		window.history.back();
//	</script>
	$enviar = false;
}
if ($mensaje != "")
{
//	<script language="javascript">
//		alert("No has escrito ningún mensaje");
//		window.history.back();
//	</script>
	$enviar = false;
}


if ($enviar == true)
{
	$header = 'From: ' . $mail . " \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: " . $mail . " \r\n";
	$mensaje .= "Su telefono es: " . $telefono . " \r\n";
	$mensaje .= "Mensaje: " . $mensaje . " \r\n";
	$mensaje .= "Enviado el " . date('d/m/Y', time());

	 $para = '*****@hotmail.com';
	 $asunto = "Asunto: ";

	mail($para, $asunto, utf8_decode($mensaje), $header);

	echo utf8_decode("Mensaje enviado correctamente.\nEn breve sera respondida su peticion");
}
 ?>
Soy nuevo en PHP y no termino de entender su funcionamiento, tengo muchas dudas, tengo algo como esto, es un archivo enviar.php que manda correos cogiendo los campos de otro formulario, tengo los campos de texto txt... y una CasillaVerificación que es un checkBox

la funcion de enviar correos funciona, lo que quiero es que me compruebe que los campos email, mensaje, etc, no esten vacíos y que mande algo parecido a un MessageBox (los scripts de javascript que estan comentados no me funcionan) y que solo mande correos en el caso de que esten rellenados los campos y este la casilla de verificacion marcada

lo de la casilla de verificacion no entiendo muy bien como va, e intento utilizar booleanos para controlar que los campos estan vacíos, pero tampoco me funciona y no se donde estara el error, alguien me echa un cable?
  #2 (permalink)  
Antiguo 10/07/2011, 07:32
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: Necesito un cable

proba con esto:
Código PHP:
Ver original
  1. <?php
  2. var_dump($_POST);  //para ver si llegaron los campos del formulario
  3.  
  4. if (isset($_POST['CasillaVerificacion']) && $_POST['CasillaVerificacion'] = "verificado"){
  5.     $nombre = $_POST['txtNombre'];
  6.     $mail = $_POST['txtEmail'];
  7.     $empresa = $_POST['txtEmpresa'];
  8.     $telefono = $_POST['txtTelefono'];
  9.     $asunto = $_POST['txtAsunto'];
  10.     $mensaje = $_POST['txtDescripcion'];
  11.     $enviar = true;
  12.  
  13. if ($nombre != "")
  14. {
  15. ?>
  16.     <script language="javascript">
  17.         alert("El campo Nombre es obligatorio");
  18.         window.history.back();
  19.     </script>
  20. <?php
  21.     echo "error"
  22.     $enviar = false;   
  23. }
  24. if ($mail != "")
  25. {
  26. ?>  <script language="javascript">
  27.         alert("El campo E-mail es obligatorio");
  28.         window.history.back();
  29.     </script>
  30. <?php
  31.     $enviar = false;
  32. }
  33. if ($asunto != "")
  34. {
  35. ?>  <script language="javascript">
  36.         alert("El campo Asunto es obligatorio");
  37.         window.history.back();
  38.     </script>
  39. <?php
  40.     $enviar = false;
  41. }
  42. if ($mensaje != "")
  43. {
  44. ?>  <script language="javascript">
  45.         alert("No has escrito ningún mensaje");
  46.         window.history.back();
  47.     </script>
  48. <?php
  49.     $enviar = false;
  50. }
  51.  
  52.  
  53. if ($enviar == true)
  54. {
  55.     $header = 'From: ' . $mail . " \r\n";
  56.     $header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
  57.     $header .= "Mime-Version: 1.0 \r\n";
  58.     $header .= "Content-Type: text/plain";
  59.  
  60.     $mensaje = "Este mensaje fue enviado por " . $nombre . ", de la empresa " . $empresa . " \r\n";
  61.     $mensaje .= "Su e-mail es: " . $mail . " \r\n";
  62.     $mensaje .= "Su telefono es: " . $telefono . " \r\n";
  63.     $mensaje .= "Mensaje: " . $mensaje . " \r\n";
  64.     $mensaje .= "Enviado el " . date('d/m/Y', time());
  65.  
  66.      $para = '*****@hotmail.com';
  67.      $asunto = "Asunto: ";
  68.  
  69.     mail($para, $asunto, utf8_decode($mensaje), $header);
  70.  
  71.     echo utf8_decode("Mensaje enviado correctamente.\nEn breve sera respondida su peticion");
  72. }
  73.  ?>
  #3 (permalink)  
Antiguo 11/07/2011, 02:09
 
Fecha de Ingreso: enero-2011
Mensajes: 105
Antigüedad: 13 años, 2 meses
Puntos: 10
Respuesta: Necesito un cable

muchisimas gracias, lo del checkBox me ha funcionado perfectamente, le falta una llave al codigo al final del todo, pero lo que no entiendo es la funcion

var_dump($_POST);

EDITO: lo demas me funciona bn :)

Etiquetas: formulario, cables
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 17:53.