Foros del Web » Programando para Internet » PHP »

Parse error: syntax error, unexpected '.' on line 765

Estas en el tema de Parse error: syntax error, unexpected '.' on line 765 en el foro de PHP en Foros del Web. hola bueno estoy tratando de encontrar el erro en el siguiente codigo y nada, lo veo todo bien. podría alguien ayudarme con el error please. ...
  #1 (permalink)  
Antiguo 07/11/2008, 15:00
 
Fecha de Ingreso: febrero-2008
Ubicación: Panamá
Mensajes: 145
Antigüedad: 16 años, 2 meses
Puntos: 0
Parse error: syntax error, unexpected '.' on line 765

hola bueno estoy tratando de encontrar el erro en el siguiente codigo y nada, lo veo todo bien.

podría alguien ayudarme con el error please.

Código PHP:
<? 
                $data1 
$_POST["aemail"];
                
$data2 $_POST["tname"];
                
$data3 $_POST["temail"];
                
$data4 $_POST["comentario"];
                
$url 'www.misitio.com';
                
$articulo 'aprendiendo';
                
$enviarme $_POST["enviarme"];
                
                
//indico el asunto del mensaje
                
$asunto = .$data2 and $data3"Te recomienda un Artículo <br>".$data4.;
                
                
//Redacto el mensaje
                
$mensaje 'Hola'.$data1."\r\n";
                
$mensaje .= $data3."Te recomienda que leas <b>".$articulo."</b>.\r\n";
                
$mensaje .= "Puedes verlo en <a href='".$url."'>'".$url."'</a><br><br>Saludos!";
                
                
//indico que el email se envia en formato html
                
$encabezado 'From:'.$data2 and $data3."\r\nReply-To:".$data3."\r\n";
                
$encabezado .="X-Mailer:PHP/".phpversion()."\r\n";
                
$encabezado .="Mime-Version:1.0\r\n";
                
$encabezado .="Content-Type: text/html";
                
                
//envio el mensaje
                
                
if ($data1==NULL|$data3==NULL) {
                echo 
"Por favor completa los campos obligatorios";
                }else{
                
mail($data1,$asunto,$mensaje,$encabezado);
                if (
$enviarme !=""){
                
mail($data1,$asunto,$mensaje,$encabezado);
                echo 
"<b> El mensaje ha sido enviado</b>.<br>Gracias por Recomendarnos!";
                echo 
"<a href='".$url."'>Volver al Artículo</a>";
                }
                }            
                ?
la linea 765 tiene esto
Cita:
$mensaje = 'Hola'.$data1."\r\n";
gracias de antemano y disculpen si es un error muy obvio.
  #2 (permalink)  
Antiguo 07/11/2008, 15:07
 
Fecha de Ingreso: mayo-2007
Mensajes: 49
Antigüedad: 17 años
Puntos: 1
Respuesta: Parse error: syntax error, unexpected '.' on line 765

Imprime el valor de $data1, antes del error para poder ver el contenido y asi sabras por que causa error.

A simple vista podria decir que la variable contiene caracteres mal escapados pudiendo ser comillas simples o dobles y por eso rompe tu concatenación.

tienes esto:
$mensaje = 'Hola'.$data1."\r\n";

Comienzas la cadena con comillas simples y terminas con comillas dobles, te recomiendo utilizar solo un tipo de comilla, y cuida que la variable $data1 no contenga comillas que puedan romper tu cadena.


Suerte.
  #3 (permalink)  
Antiguo 07/11/2008, 15:09
Avatar de __DARK__  
Fecha de Ingreso: octubre-2008
Mensajes: 94
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Parse error: syntax error, unexpected '.' on line 765

Si, al ver rapidamente tu código, puedo ver que no manejas jerarquias en la forma de usar tus comillas, revulves comillas simples con dobles y viceversa.

Te recomiendo q modifiques esa parte de una forma mas ordenada... lo mas probable es q el error este en eso...
  #4 (permalink)  
Antiguo 07/11/2008, 15:25
 
Fecha de Ingreso: febrero-2008
Ubicación: Panamá
Mensajes: 145
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Parse error: syntax error, unexpected '.' on line 765

gracias por sus respuestas amigos

pero no es eso, ya se las cambie y nada.

alguna otra contribución???

GRACIAS
  #5 (permalink)  
Antiguo 07/11/2008, 15:28
Avatar de Deschamps  
Fecha de Ingreso: octubre-2008
Mensajes: 257
Antigüedad: 15 años, 6 meses
Puntos: 8
Respuesta: Parse error: syntax error, unexpected '.' on line 765

La variable que asignas en esa línea tiene otros strings concatenados en las siguientes dos líneas. Y sospecho que ahí puede estar el problema (la parte en negrita):

$mensaje .= "Puedes verlo en <a href='".$url."'>'".$url."'</a><br><br>Saludos!";

Para mí que esas dos comillas simples junto a las dobles que cierran y abren esas cadenas... sobran.

Un saludo.


Edito: Creo que ya lo vi: Dos líneas más arriba de la 765, terminas la línea con un punto... que sí que sobra :)

ecomienda un Artículo <br>".$data4.; <----- ESTO

  #6 (permalink)  
Antiguo 07/11/2008, 17:02
 
Fecha de Ingreso: febrero-2008
Ubicación: Panamá
Mensajes: 145
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Parse error: syntax error, unexpected '.' on line 765

Hola Deschamps
gracias por responder

bueno lo que dices parece que tampoco tiene sentido porque ya cambie lo que me dijiste y nada.

sigue dando el mismo error

esta bien raro esto verdad, pero bueno no ce si alguien mas puede darme otra idea

GRACIAS
  #7 (permalink)  
Antiguo 07/11/2008, 17:27
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Parse error: syntax error, unexpected '.' on line 765

La idea es que repases todas las concatenaciones que haces y las hagas bien.

En la misma línea dicha por Deschamps:

$asunto = .$data2 and $data3. "Te ...

Y tampoco ese and parece tener mucho sentido... Aparece en varios sitios pero seguramente quieras cambiar $data2 and $data3 por $data2 . " (" . $data3 . ") ".
  #8 (permalink)  
Antiguo 07/11/2008, 18:00
 
Fecha de Ingreso: abril-2007
Ubicación: Merlo
Mensajes: 314
Antigüedad: 17 años
Puntos: 3
Respuesta: Parse error: syntax error, unexpected '.' on line 765

Cita:
$asunto = .$data2 and $data3. "Te recomienda un Artículo <br>".$data4.;
aca no esta bien.

proba con

$asunto .= $data2 . $data3 . "Te recomienda un Artículo <br>" . $data4 ;

Saludos
  #9 (permalink)  
Antiguo 07/11/2008, 18:38
 
Fecha de Ingreso: febrero-2008
Ubicación: Panamá
Mensajes: 145
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Parse error: syntax error, unexpected '.' on line 765

Bueno gracias por respuestas amigos

He probado todo lo que me dicen y nada de nada.
Nada me funciona.

creanme que lo he estado revisando toda la tarde y pues quizas tenga algún concepto errado y por eso no encuentro el error.

ahora me esta tirando este error
Cita:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING
en la misma linea

aca les dejo como tengo el codigo
Cita:
<?
$data1 = $_POST["aemail"];
$data2 = $_POST["tname"];
$data3 = $_POST["temail"];
$data4 = $_POST["comentario"];
$url = "www.misitio.com";
$articulo = "aprendiendo";
$enviarme = $_POST["enviarme"];

//indico el asunto del mensaje
$asunto = $data2."(".$data3.")""Te recomienda un Artículo <br>".$data4;

//Redacto el mensaje
$mensaje = "Hola".$data1"\r\n";
$mensaje .= $data3."Te recomienda que leas <b>".$articulo"</b>.\r\n";
$mensaje .= "Puedes verlo en <a href=".$url.">".$url."</a><br><br>Saludos!";

//indico que el email se envia en formato html
$encabezado = "From:".$data2."(".$data3.")\r\nReply-To:".$data3"\r\n";
$encabezado .="X-Mailer:PHP/".phpversion()"\r\n";
$encabezado .="Mime-Version:1.0\r\n";
$encabezado .="Content-Type: text/html";

//envio el mensaje

if ($data1==NULL|$data3==NULL) {
echo "Por favor completa los campos obligatorios";
}else{
mail($data1,$asunto,$mensaje,$encabezado);
if ($enviarme !=""){
mail($data1,$asunto,$mensaje,$encabezado);
echo "<b> El mensaje ha sido enviado</b>.<br>Gracias por Recomendarnos!";
echo "<a href=".$url.">Volver al Artículo</a>";
}
}
?>
bueno sigo pendiente para cualquier otra aclaración
GRACIAS
  #10 (permalink)  
Antiguo 07/11/2008, 18:47
 
Fecha de Ingreso: junio-2007
Mensajes: 46
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Parse error: syntax error, unexpected '.' on line 765

Cita:
Iniciado por naturadinfinitus Ver Mensaje
Bueno gracias por respuestas amigos

He probado todo lo que me dicen y nada de nada.
Nada me funciona.

creanme que lo he estado revisando toda la tarde y pues quizas tenga algún concepto errado y por eso no encuentro el error.

ahora me esta tirando este error
en la misma linea

aca les dejo como tengo el codigo


bueno sigo pendiente para cualquier otra aclaración
GRACIAS
a ke linea te referis exactamente?
  #11 (permalink)  
Antiguo 07/11/2008, 18:53
 
Fecha de Ingreso: febrero-2008
Ubicación: Panamá
Mensajes: 145
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Parse error: syntax error, unexpected '.' on line 765

hola sisko
la que dice en el titulo, la 765

tiene esto
Cita:
$mensaje = "Hola".$data1"\r\n";
gracias
  #12 (permalink)  
Antiguo 07/11/2008, 19:51
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Parse error: syntax error, unexpected '.' on line 765

Te falta un punto en esa línea:
$mensaje = "Hola".$data1."\r\n";

Además, vuelve a estar mal la línea anterior:
Código php:
Ver original
  1. $asunto = $data2."(".$data3.")""Te recomienda un Artículo <br>".$data4;
debería ser así:
Código php:
Ver original
  1. $asunto = $data2."(".$data3.") Te recomienda un Artículo <br>".$data4;

También aquí te falta un punto:
$encabezado .="X-Mailer:PHP/".phpversion()."\r\n";

Y aquí otro:
$encabezado = "From:".$data2."(".$data3.")\r\nReply-To:".$data3."\r\n";


Deberías poner más atención a cómo construyes las cadenas. O quizá necesitas un editor que tenga resalte de sintaxis. Pero sinceramente me parece absurdo y ridículo tener que estarte buscando aquí en el foro este tipo de errores. Repasa todo tu código y construye bien las cadenas.
  #13 (permalink)  
Antiguo 07/11/2008, 20:13
 
Fecha de Ingreso: abril-2007
Ubicación: Merlo
Mensajes: 314
Antigüedad: 17 años
Puntos: 3
Respuesta: Parse error: syntax error, unexpected '.' on line 765

Lineas mal:
$asunto = $data2."(".$data3.")""Te recomienda un Artículo <br>".$data4;
$mensaje .= $data3."Te recomienda que leas <b>".$articulo"</b>.\r\n";
$encabezado = "From:".$data2."(".$data3.")\r\nReply-To:".$data3"\r\n";

Asi estan Bien
$asunto = $data2."(".$data3.")"."Te recomienda un Artículo <br>".$data4;
$mensaje .= $data3."Te recomienda que leas <b>".$articulo . "</b>\r\n";
$encabezado = "From:".$data2."(".$data3.")\r\nReply-To:".$data3 . "\r\n";





para concatenar es:

$destino = $variable . "String";
$destino .= $variable2 . "String2";


Saludos
  #14 (permalink)  
Antiguo 07/11/2008, 20:22
 
Fecha de Ingreso: junio-2007
Mensajes: 46
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Parse error: syntax error, unexpected '.' on line 765

venkman me saco las palabras de la boca
para evitar esa clase de errores tendrias ke meter todo dentro de las mismas comillas, ej:

$mensaje = "Hola $data1 \r\n";

en esos casos no es necesario andar separandolo por partes
  #15 (permalink)  
Antiguo 11/11/2008, 14:53
 
Fecha de Ingreso: febrero-2008
Ubicación: Panamá
Mensajes: 145
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Parse error: syntax error, unexpected '.' on line 765

muchas gracias a todos chicos, por su paciencia y buena voluntad de ayudar a los aprendices.

me esta saliendo el siguiente error
Cita:
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set()
lo estoy probando en local host si, pero entonces mi pregunta es no puede funcionar sin un SMTP propio??

Necesito que la variable .$url. capture la pagina en donde se encuentra el usuario en ese momento, pero no se como buscarlo en google.??

GRACIAS de antemano
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 18:31.