Foros del Web » Programando para Internet » PHP »

Donde esta el error?

Estas en el tema de Donde esta el error? en el foro de PHP en Foros del Web. Hola gente la verdad agradeceria si me pueden dar una mano... tengo esta pequeña rutina para enviar mail el archivo mail.php que construi y subi ...
  #1 (permalink)  
Antiguo 06/04/2015, 16:17
 
Fecha de Ingreso: enero-2010
Mensajes: 52
Antigüedad: 14 años, 2 meses
Puntos: 0
Donde esta el error?

Hola gente la verdad agradeceria si me pueden dar una mano...

tengo esta pequeña rutina para enviar mail

el archivo mail.php que construi y subi a mi server es este

Código:
<?php

1   $de = $_POST['de'];
2   $remite = $_POST['remite'];
3   $para = $_POST['para'];
4   $sunto = $_POST['asunto']
5   $mensaje = $_POST['mensaje'];  
6    
7   $cuerpo= '
8 
9   $mensaje
10 ';
11
12 $cabecera = "MIME-Version: 1.0\r\n";
13 $cabecera.= "Content-Type: text/html; charset=iso-8859-1\r\n";
14 $cabecera .= "From: $de <$remite>\r\n";
15 $cabecera .= "Reply-To: $remite\r\n";
16
17 mail($para,$asunto,$cuerpo,cabeceras); 
18
19 ?>

desde una aplicacion y por medio de Post le envio las variables pero no 
consigo enviar me da error de server 500

El cuerpo del mensaje html viene de la variable mensaje... que estoy haciendo mal

el logo de error me dice esto:

[06-Apr-2015 22:11:13] PHP Parse error:  syntax error, unexpected T_VARIABLE in /home/avgroupmail/public_html/enviomail.php on line 7
  #2 (permalink)  
Antiguo 06/04/2015, 16:21
Avatar de Djoaq  
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 11 años, 6 meses
Puntos: 38
Respuesta: Donde esta el error?

Tal como te dice el error la linea 7 :
Estas concatenando tu variable como si fuese un string.
Código PHP:
$cuerpo'

9   $mensaje
10 '



Código PHP:
$cuerpo$mensaje
  #3 (permalink)  
Antiguo 06/04/2015, 16:41
(Desactivado)
 
Fecha de Ingreso: abril-2015
Ubicación: España
Mensajes: 616
Antigüedad: 9 años
Puntos: 74
Respuesta: Donde esta el error?

te falta un punto y coma detrás de esto

Código PHP:
Ver original
  1. $sunto = $_POST['asunto']

por cierto, la variable pone $sunto en vez de $asunto
  #4 (permalink)  
Antiguo 06/04/2015, 17:28
 
Fecha de Ingreso: enero-2010
Mensajes: 52
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Donde esta el error?

Gracias a ambos por su generosa respuesta...


hay alguna forma que le pueda agregar que cuando envie me devuelva el resultado en una varible no en un mensaje....

necesitaria tener el resultado si envio o no en la variable RESULTADO pero no tengo ni idea como hacerlo

Gracias
  #5 (permalink)  
Antiguo 06/04/2015, 18:06
(Desactivado)
 
Fecha de Ingreso: abril-2015
Ubicación: España
Mensajes: 616
Antigüedad: 9 años
Puntos: 74
Respuesta: Donde esta el error?

Cita:
Iniciado por promosnet Ver Mensaje
Gracias a ambos por su generosa respuesta...


hay alguna forma que le pueda agregar que cuando envie me devuelva el resultado en una varible no en un mensaje....

necesitaria tener el resultado si envio o no en la variable RESULTADO pero no tengo ni idea como hacerlo

Gracias
La función mail() devuelve true si todo ha ido correctamente y false si ha fallado.

Código PHP:
Ver original
  1. $resultado = mail($para,$asunto,$cuerpo,cabeceras);
  #6 (permalink)  
Antiguo 06/04/2015, 19:27
 
Fecha de Ingreso: enero-2010
Mensajes: 52
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Donde esta el error?

La verdad me estoy volviendo loco ahora no me envia y mi server me da este log

[07-Apr-2015 01:29:08] PHP Notice: Undefined index: To in /home/avgroupmail/public_html/globaldemo.php on line 3

my rutina:

<?

$Para = $_POST['To'];
$asunto = $_POST['asunto'];
$de = $_POST['de'];
$remitente = $_POST['remitente'];
$mensaje = $_POST['mensaje'];
$headers = "MIME-Version:1.0\r\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: $de <$remitente>\r\n";
$headers .= "Reply-To: $remitente\r\n";


$contenidomail = $mensaje;

$resultado= mail($Para,$asunto,$contenidomail,$headers);

?>
  #7 (permalink)  
Antiguo 06/04/2015, 19:39
(Desactivado)
 
Fecha de Ingreso: abril-2015
Ubicación: España
Mensajes: 616
Antigüedad: 9 años
Puntos: 74
Respuesta: Donde esta el error?

desde el formulario tienes que tener este input:

<input type="text" name="To" />

también hay que rellenar los campos, de lo contrario te dará error. Puedes hacer lo siguiente:

Código PHP:
Ver original
  1. if(empty($_POST['To']) || empty($_POST['asunto']) || empty($_POST['de']) || empty($_POST['remitente']) || empty($_POST['mensaje']))
  2. {
  3.         echo "Has de rellenar todos los campos";
  4. }
  5. else
  6. {
  7.         $Para = $_POST['To'];
  8.         $asunto = $_POST['asunto'];
  9.         $de = $_POST['de'];
  10.         $remitente = $_POST['remitente'];
  11.         $mensaje = $_POST['mensaje'];
  12.         $headers = "MIME-Version:1.0\r\n";
  13.         $headers .= "Content-Type: text/html; charset=iso-8859-1\r\n";
  14.         $headers .= "From: $de <$remitente>\r\n";
  15.         $headers .= "Reply-To: $remitente\r\n";
  16.         $contenidomail = $mensaje;
  17.         $resultado= mail($Para,$asunto,$contenidomail,$headers);
  18. }
  #8 (permalink)  
Antiguo 06/04/2015, 19:43
 
Fecha de Ingreso: enero-2010
Mensajes: 52
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Donde esta el error?

No se trata de un formulario, veras yo hice una aplicacion que le envia por post los datos
el php los recibe y teoricamente los envia no hay un formulario y aun no consigo que lo que mando en la variable mensaje que es un html me lo ponga en ese formato y lo mande....

Etiquetas: html, variable
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 02:02.