Foros del Web » Programando para Internet » PHP »

no enviar Email si no se rellena una opcion del formulario

Estas en el tema de no enviar Email si no se rellena una opcion del formulario en el foro de PHP en Foros del Web. Bueno lo que pasa es que puese un formulario de contacto en una Web pero como ese Web es muy atada se la pasan enviando ...
  #1 (permalink)  
Antiguo 20/11/2010, 20:06
 
Fecha de Ingreso: octubre-2010
Mensajes: 26
Antigüedad: 13 años, 6 meses
Puntos: 0
no enviar Email si no se rellena una opcion del formulario

Bueno lo que pasa es que puese un formulario de contacto en una Web pero como ese Web es muy atada se la pasan enviando formularios sin ningun dato, lo cual hace que me estan llenando mi E-mail de correos que no sirven de nada

que codigo utilizo para hacer esto

el codigo que envia los datos del formulario es este

Código PHP:
<?php
$fecha
=date("d-m-Y");
$hora=date("H:i:s");
$destino="[email protected]";
$asunto"Comentario ClubiFone Repo Index";
$desde'From: .$_POST[correo]';
$comentario "
\n
Nombre: $_POST[nombre]\n
Email: $_POST[correo]\n
Pagina: $_POST[pagina]\n
Comentario: $_POST[comentario]\n
Enviado: %fecha a las $hora\n
\n
"
;
mail($destino$asunto$comentario$desde)
?>
  #2 (permalink)  
Antiguo 20/11/2010, 20:26
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años
Puntos: 322
Respuesta: no enviar Email si no se rellena una opcion del formulario

Busca sobre la funcion empty()

Código PHP:
if (empty($_POST['campo']) || empty($_POST['campo2'])) {
echo 
'Uno o mas campos vacios';
}else{
//Todo esta bien, mandas el email

__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #3 (permalink)  
Antiguo 20/11/2010, 20:29
 
Fecha de Ingreso: octubre-2010
Mensajes: 26
Antigüedad: 13 años, 6 meses
Puntos: 0
tambien trato de poner este codigo al final para que de error y no envie el correo, pero el dreamweaver me detecta error

}
else{ echo "ERROR";
}

Cita:
Iniciado por Sourcegeek Ver Mensaje
Busca sobre la funcion empty()

Código PHP:
if (empty($_POST['campo']) || empty($_POST['campo2'])) {
echo 
'Uno o mas campos vacios';
}else{
//Todo esta bien, mandas el email

sigue sin funcionas, de todos modos envia el correo

Última edición por GatorV; 20/11/2010 a las 21:45
  #4 (permalink)  
Antiguo 20/11/2010, 22:14
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años
Puntos: 322
Respuesta: no enviar Email si no se rellena una opcion del formulario

TEN EN CUENTA que debes cambiar $_POST['campo'] por el primer campo de tu form, luego le pones una condicion || y checas si esta empty el segundo campo ($_POST['campo2']) y asi sucesivamente
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #5 (permalink)  
Antiguo 20/11/2010, 22:58
 
Fecha de Ingreso: octubre-2010
Mensajes: 26
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: no enviar Email si no se rellena una opcion del formulario

si lose, esepto por lo de la condicion

como la pongo, hasme un ejemplo

Hice esto con los datos que me diste


Cita:
<?php
if (empty($_POST['nombre']) || empty($_POST['correo']) || empty($_POST['pagina']) || empty($_POST['comentario'])) {
$fecha=date("d-m-Y");
$hora=date("H:i:s");
$destino="[email protected]";
$asunto= "Comentario ClubiFone Repo Index";
$desde= 'From: .$_POST[correo]';
$comentario = "
\n
Nombre: $_POST[nombre]\n
Email: $_POST[correo]\n
Pagina: $_POST[pagina]\n
Comentario: $_POST[comentario]\n
Enviado: %fecha a las $hora\n
\n
";
mail($destino, $asunto, $comentario, $desde)
?>
  #6 (permalink)  
Antiguo 20/11/2010, 23:06
 
Fecha de Ingreso: octubre-2010
Mensajes: 26
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: no enviar Email si no se rellena una opcion del formulario

olle pero si enves de que redireccione a la pagina de enviar, pongo el codigo de envio como un script de alerta, se podria hacer eso


te enseño

ahorita tengo que poner todo esto para que enviara el email con la info

En el boton de enviar puse esto

Código PHP:
<input name="botón" type="submit" action="<?php
$fecha
=date("d-m-Y");
$hora=date("H:i:s");
$destino="[email protected]";
$asunto"Comentario ClubiFone Repo Index";
$desde'From: .$_POST[correo]';
$comentario "
\n
Nombre: $_POST[nombre]\n
Email: $_POST[correo]\n
Pagina: $_POST[pagina]\n
Comentario: $_POST[comentario]\n
Enviado: %fecha a las $hora\n
\n
"
;
mail($destino$asunto$comentario$desde
?>" value="Enviar"/>
y en el archivo enviar.php puse esto

Código PHP:
<body bgcolor="#000000">
<form>
<fieldset>
<legend><strong><em><font color=#ffffff font size=5>Se han enviado los siguientes datos</em></strong></legend>
<em><strong>
<legend><br />
  <label>Usuario: <? echo $_POST['nombre']; ?></label>
  <br /><br />
  <label>Email: <? echo $_POST['correo']; ?></label>
  <br /><br />
  <label>Pagina: <? echo $_POST['pagina']; ?></label>
  <br /><br />
  <label>Comentario(s): <? echo $_POST['comentario']; ?></font></label>
</legend>
</strong></em><strong>
<legend> </legend>
</strong>
<legend></legend>
<p><br />
</p>
</fieldset>
</form>
<?php
$fecha
=date("d-m-Y");
$hora=date("H:i:s");
$destino="[email protected]";
$asunto"Comentario ClubiFone Repo Index";
$desde'From: .$_POST[correo]';
$comentario "
\n
Nombre: $_POST[nombre]\n
Email: $_POST[correo]\n
Pagina: $_POST[pagina]\n
Comentario: $_POST[comentario]\n
Enviado: %fecha a las $hora\n
\n
"
;
mail($destino$asunto$comentario$desde)
?>
  #7 (permalink)  
Antiguo 20/11/2010, 23:38
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años
Puntos: 322
Respuesta: no enviar Email si no se rellena una opcion del formulario

No, no, no y no..
Lo hiciste todo al reves y no como te explique :P

Código PHP:
<?php
if (empty($_POST['nombre']) || empty($_POST['correo']) || empty($_POST['pagina']) || empty($_POST['comentario'])) {
echo 
'Uno o mas campos vacios';
}else{
$fecha=date("d-m-Y");
$hora=date("H:i:s");
$destino="[email protected]";
$asunto"Comentario ClubiFone Repo Index";
$desde'From: .$_POST[correo]';
$comentario "
\n
Nombre: $_POST[nombre]\n
Email: $_POST[correo]\n
Pagina: $_POST[pagina]\n
Comentario: $_POST[comentario]\n
Enviado: %fecha a las $hora\n
\n
"
;
mail($destino$asunto$comentario$desde);
}
?>
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #8 (permalink)  
Antiguo 20/11/2010, 23:45
 
Fecha de Ingreso: octubre-2010
Mensajes: 26
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: no enviar Email si no se rellena una opcion del formulario

Si funciono, no manda el email, el problema es que no dice ni menciona el mensaje
  #9 (permalink)  
Antiguo 20/11/2010, 23:49
 
Fecha de Ingreso: octubre-2010
Mensajes: 26
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: no enviar Email si no se rellena una opcion del formulario

pongo como solucionado el tema por que ya lo solucione, puse el mensaje de error como script de alerta

utilizando esto codigo

Código PHP:
<?php
if (empty($_POST['nombre']) || empty($_POST['correo']) || empty($_POST['pagina']) || empty($_POST['comentario'])) {
echo 
"<script>alert('Hay 1 o Mas campos vacios')</script>";  
}else{
$fecha=date("d-m-Y");
$hora=date("H:i:s");
$destino="[email protected]";
$asunto"Comentario ClubiFone Repo Index";
$desde'From: .$_POST[correo]';
$comentario "
\n
Nombre: $_POST[nombre]\n
Email: $_POST[correo]\n
Pagina: $_POST[pagina]\n
Comentario: $_POST[comentario]\n
Enviado: %fecha a las $hora\n
\n
"
;
mail($destino$asunto$comentario$desde);
}
?>

Etiquetas: email, enviar, opcion, rellena, 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 09:17.