Foros del Web » Programando para Internet » PHP »

problema al enviar mail

Estas en el tema de problema al enviar mail en el foro de PHP en Foros del Web. hola amigos webmasters y automatas mi pregunta es la siguiente tengo un form el cual manda un correo con unos datos hata ahi toy bien ...
  #1 (permalink)  
Antiguo 16/06/2008, 10:59
(Desactivado)
 
Fecha de Ingreso: mayo-2008
Mensajes: 67
Antigüedad: 15 años, 10 meses
Puntos: 0
problema al enviar mail

hola amigos webmasters y automatas mi pregunta es la siguiente

tengo un form el cual manda un correo con unos datos hata ahi toy bien pero pasa que cuando entro al archivo que hace eso ejecuta el escrip solo sin que le doy submit y manda datos vacios lo que quiero es evitar eso que envie solo si han llenado los datos si no no

este es code avger si me ayudan
Código PHP:
<?php
<form  id="contacto" name="contacto" method="post" action="<?php   zen_href_link(FILENAME_ASK_A_QUESTION, 'products_id='
   . $_GET['products_id']) .'&cPath=' . $_GET['cPath']  ?>" 
>
<
br>
Nombre
<
input type="text" name="nombre" id="nombre" size=25>
<
br>
Empresa:
<
input type="text" name="empresa" id="empresa" size=25>
<
br>
Email:


<
input type=text name="mail" size=25 id="mail">
<
br>
Mensaje:

<
textarea name="mensaje" cols="25" rows="6" id="mensaje"></textarea>
<
br>
<
br>
<
br>
<
br>
<
input name="submit" type="submit" value="Enviar">
</
form>
<?
$nombre $_POST['nombre'];
$mail $_POST['mail'];
$empresa $_POST['empresa'];

$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 .= "Preguntan por el Producto: " .$row2["products_name"]. " \r\n";
$mensaje .= "Mensaje: " $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " date('d/m/Y'time());

$para "".$row["email_general"]."";
$asunto 'Contacto desde el miweb';

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

echo 
'';
?>
  #2 (permalink)  
Antiguo 16/06/2008, 11:05
Avatar de eft0  
Fecha de Ingreso: junio-2003
Ubicación: Santiago - Chile
Mensajes: 635
Antigüedad: 20 años, 10 meses
Puntos: 9
Respuesta: problema al enviar mail

Utiliza algun tipo de validacion, Javascript, o bien desde PHP mismo, a travez de sentencias IF.
__________________
eft0's stuff! - http://estebanfernandez.net
  #3 (permalink)  
Antiguo 16/06/2008, 11:25
(Desactivado)
 
Fecha de Ingreso: mayo-2008
Mensajes: 67
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: problema al enviar mail

nada igual sigue enviando en blanco por que le pongo validacion
  #4 (permalink)  
Antiguo 16/06/2008, 11:29
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: problema al enviar mail

Hola sopaetonto,

Te envía de forma directa ya que así esta tu script, debes de implementar algún tipo de control usando if/else:
Código PHP:
if( enviando_form ) {
     
// envias el mail
} else {
     
// despliegas formulario

Saludos.
  #5 (permalink)  
Antiguo 16/06/2008, 11:56
(Desactivado)
 
Fecha de Ingreso: mayo-2008
Mensajes: 67
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: problema al enviar mail

Cita:
Iniciado por GatorV Ver Mensaje
Hola sopaetonto,

Te envía de forma directa ya que así esta tu script, debes de implementar algún tipo de control usando if/else:
Código PHP:
if( enviando_form ) {
     
// envias el mail
} else {
     
// despliegas formulario

Saludos.
gracias gator lo hice asi
Código PHP:
<?
if ($nombre $_POST['nombre']==""){
echo 
"Por favor rellenar los datos";
}
else{
$nombre $_POST['nombre'];
$mail $_POST['mail'];
$empresa $_POST['empresa'];

$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 .= "Preguntan por el Producto: " .$row2["products_name"]. " \r\n";
$mensaje .= "Mensaje: " $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " date('d/m/Y'time());

$para "".$row["email_general"]."";
$asunto 'Contacto desde mi web';

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

echo 
"se envio el form coorectamente";
}
?>
y funciona ahora si tengo que llenar el campo nombre para que envie si no no envia pero quisiera saber como hago para que no solo sea con el campo nombre
  #6 (permalink)  
Antiguo 16/06/2008, 12:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: problema al enviar mail

Hola sopaetonto,

Tu sintaxis es incorrecta y para comprobar más campos usas el operador OR (||):
Código PHP:
$nombre $_POST['nombre'];
$mail $_POST['mail'];
$empresa $_POST['empresa']; 
if( empty( 
$nombre ) || empty( $mail ) || empty( $empresa ) ) {
         echo 
"Alguno de los campos esta vacio"
} else {
        
// envias mail

Saludos.
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:56.