Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ítalo Menezes

Vários erros nas aspas

Recommended Posts

Bom, estou querendo enviar um e-mail pelo mail() do php, mas estou com alguns problemas nas aspas, alguma aspa fora do canto, ou coisa assim, já revisei todo o código, mas não consigo ver onde tem um erro.

 

Quando arrumo uma aspa, recebo Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/html/gestor/suporte/relatorio_novo_diario_events.php on line 389, outras vezes só T_STRING, enfim...

 

Alguém que tenha um conhecimento (e um olho melhor que eu o meu) puder encontrar o erro.. aqui está o código:

 

$mensagem = "

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http-~~-//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http-~~-//www.w3.org/1999/xhtml'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
<title>Relatório diário</title>
<style type='text/css'>
<!--
.fonte-textos-pequena {
font-family: Verdana, Geneva, sans-serif;
font-size: 10px;
}
.fonte-tabelas-normal {
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
}
.topo-tabela-negrito {
font-family: Verdana, Geneva, sans-serif;
font-size: 16px;
text-align: center;
}
.noix {
text-align: center;
font-size: 12px;
}
.negao {
font-family: Verdana, Geneva, sans-serif;
font-size: 18px;
font-weight: bold;
text-align: center;
}
.fonte-tabelas-centralizado {
text-align: center;
font-family: Verdana, Geneva, sans-serif;
font-size: 12px;
}
.texto-central {
font-family: Verdana, Geneva, sans-serif;
text-align: center;
font-size: 12px;
}
.negao2 {
font-weight: bold;
text-align: center;
}
-->
</style>

<body>

<p><img src='/imagens/Fortal_15anos.jpg' width='146' height='58' alt='' /><br />
 <span class='fonte-textos-pequena'>Relatório do dia <b>$dia</b><br />
Turno: <b>$hora</b><br />
Enviado por <b>$login</b></span></p>
<p class='negao'>Informações gerais</span></p>
<table align='center' width='701' height='82' border='1' class='fonte-tabelas-normal'>
 <tr>
   <td width='115'>Técnicos do turno:</td>
   <td width='570'>$tecnico1 ; $tecnico2 ; $tecnico3</td>
 </tr>
 <tr>
   <td>Sobre-avisos:</td>
   <td><strong>CPD:</strong> $sobreaviso_cpd - <strong>SETIP:</strong> $sobreaviso_setip</td>
 </tr>
 <tr>
   <td>Servidores:</td>
   <td><font size='2' face='Verdana'>$status_servidores</font></td>
 </tr>
 <tr>
   <td>Salas:</td>
   <td><b>Recepção</b>: <font size='2' face='Verdana'>$sala_recepcao</font><b> Suporte</b>: $sala_suporte <b>CPD</b>: $sala_cpd <b><br />
SETIP</b>: $sala_setip <b>ADM/Financeiro</b>: $sala_adm <b>Comercial</b>: $sala_financeiro</td>
 </tr>
</table>
<p class='negao'>Ocorrências do dia</span><br />
<p class='fonte-tabelas-centralizado'>
<script language='JavaScript'>
function abrir(URL) {

 var width = 500;
 var height = 300;

 var left = 99;
 var top = 99;

 window.open(URL,'janela', 'width='+width+', height='+height+', top='+top+', left='+left+', scrollbars=yes, status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=no, fullscreen=no');

}
</script>
<?
mysql_connect('localhost','root','qwe!@#$') or die(mysql_error());
mysql_select_db('bancosuporte') or die(mysql_error());

function tableConstructorSimple($tabela,$campos,$cores,$extra,$to){
//monta sql
$sql='SELECT $campos FROM $tabela $extra';
//fim montagem sql
// montagem da tabela
$q=mysql_query($sql);
$table='<fieldset><table width='100%' border='0'><tr>';
//monta título
$acampos=explode(',',$campos);
while(list($k,$f)=each($acampos)){
$table.='<td align='center'<strong>'.strtoupper($f).'</strong></td>';
}//fim while campos
$table.='</tr>';
//monta linhas do resultado
$bcampos=explode(',',$campos);
$num=2;
while($result=mysql_fetch_array($q)){
$index=$num % 2;
$num++;
$cor=$cores[$index];
$table.='<tr bgcolor="'.$cor.'">';
while(list($k,$g)=each($bcampos)){
	$dado=$result[$g];
	$table.='<td onClick='javascript:abrir(\''.$to.'?'.$g.'='.$dado.'\'.$dado.'</td>';
}//fim while colunas
reset($bcampos);
$table.='</tr>';
}//fim while linhas
$table.='</table></fieldset>';
echo $table;
//fim tabela
}//fim função
?>
 <?
//tableConstructor('nome da tabela','campos que vão aparecer na consulta, separados por vírgula',array('cor1','cor2'),'opções extras da consulta (ex.: where group by, etc','página de destino para manipular uma linha escolhida');
tableConstructorSimple('relatorios','Hora,LinkNome,Problema,Solucao,data',array('#CCCCCC','#FFFFFF'),' WHERE data = '2010-01-15' ','teste.php');

 <br />
<br /></p>
<p class='negao'>Detalhamento das ocorrências</span></p>
</p>
<table align='center' width='560' border='1'>
 <tr class='topo-tabela-negrito'>
   <td>Status </td>
   <td>Nome do link</td>
   <td>Detalhamento</td>
 </tr>
 <tr bgcolor='#FF0000' class='noix' style='font-family: Verdana, Geneva, sans-serif'>
   <td class='noix'>Não resolvidos</td>
   <td>
//Configurações do servidor

$host = 'localhost';
$pw = 'qwe!@#$';
$login = 'root';
$db = 'bancosuporte';

$connect = mysql_connect($host, $login, $pw) or die(mysql_error());
mysql_select_db($db, $connect) or die('Erro ao tentar a conexão com o banco de dados. Contate o CPD!');

// $a pra gerar o loop dos registros
$a = 0;
// aqui define o nome do array
$linknome = array();
// query em si (:

$queryLINKNOME = mysql_query('SELECT * FROM relatorios WHERE data = '2010-01-15'');
while ($resultado = mysql_fetch_array($queryLINKNOME)) {
$resolvido[$a] = $resultado['status'];
$linknome[$a] = $resultado['LinkNome'];
if ($resolvido[$a] == 'n') {
	echo '<br><b>'.$linknome[$a].'</b>';
}
if ($resolvido[$a] != 'n'){
	echo '';
}
$a = $a + 1;
}

mysql_close($connect);

 </td>
   <td>
//Configurações do servidor

$host = 'localhost';
$pw = 'qwe!@#$';
$login = 'root';
$db = 'bancosuporte';

$connect = mysql_connect($host, $login, $pw) or die(mysql_error());
mysql_select_db($db, $connect) or die('Erro ao tentar a conexão com o banco de dados. Contate o CPD!');

// $a pra gerar o loop dos registros
$a = 0;
// aqui define o nome do array
$linkdetalhamento = array();
// query em si (:

$queryDETALHAMENTO = mysql_query('SELECT * FROM relatorios WHERE data = '2010-01-15'');
while ($resultado = mysql_fetch_array($queryDETALHAMENTO)) {
$resolvido[$a] = $resultado['status'];
$linkdetalhamento[$a] = $resultado['detalhes'];
if ($resolvido[$a] == 'n') {
	echo '<br><b>'.$linkdetalhamento[$a].'</b>';
}
if ($resolvido[$a] != 'n'){
	echo '';
}
$a = $a + 1;
}

mysql_close($connect);

 </td>
 </tr>
 <tr bgcolor='#009900' class='noix' style='font-family: Verdana, Geneva, sans-serif'>
   <td class='noix'>Resolvidos</td>
   <td>
//Configurações do servidor

$host = 'localhost';
$pw = 'qwe!@#$';
$login = 'root';
$db = 'bancosuporte';

$connect = mysql_connect($host, $login, $pw) or die(mysql_error());
mysql_select_db($db, $connect) or die('Erro ao tentar a conexão com o banco de dados. Contate o CPD!');

// $a pra gerar o loop dos registros
$a = 0;
// aqui define o nome do array
$linknome = array();
// query em si (:

$queryLINKNOME = mysql_query('SELECT * FROM relatorios WHERE data = '2010-01-15'');
while ($resultado = mysql_fetch_array($queryLINKNOME)) {
$resolvido[$a] = $resultado['status'];
$linknome[$a] = $resultado['LinkNome'];
if ($resolvido[$a] == 's') {
	echo '<br><b>'.$linknome[$a].'</b>';
}
if ($resolvido[$a] != 's'){
	echo '';
}
$a = $a + 1;
}

mysql_close($connect);

 </td>
   <td>
//Configurações do servidor

$host = 'localhost';
$pw = 'qwe!@#$';
$login = 'root';
$db = 'bancosuporte';

$connect = mysql_connect($host, $login, $pw) or die(mysql_error());
mysql_select_db($db, $connect) or die('Erro ao tentar a conexão com o banco de dados. Contate o CPD!');

// $a pra gerar o loop dos registros
$a = 0;
// aqui define o nome do array
$linkdetalhamento = array();
// query em si (:

$queryDETALHAMENTO = mysql_query('SELECT * FROM relatorios WHERE data = '2010-01-15'');
while ($resultado = mysql_fetch_array($queryDETALHAMENTO)) {
$resolvido[$a] = $resultado['status'];
$linkdetalhamento[$a] = $resultado['detalhes'];
if ($resolvido[$a] == 's') {
	echo '<br><b>'.$linkdetalhamento[$a].'</b>';
}
if ($resolvido[$a] != 's'){
	echo '';
}
$a = $a + 1;
}

mysql_close($connect);

;</td>
 </tr>
 <tr bgcolor='#FFFF00' class='noix' style='font-family: Verdana, Geneva, sans-serif'>
   <td class='noix'>Sem resposta</td>
   <td><?
//Configurações do servidor

$host = 'localhost';
$pw = 'qwe!@#$';
$login = 'root';
$db = 'bancosuporte';

$connect = mysql_connect($host, $login, $pw) or die(mysql_error());
mysql_select_db($db, $connect) or die('Erro ao tentar a conexão com o banco de dados. Contate o CPD!');

// $a pra gerar o loop dos registros
$a = 0;
// aqui define o nome do array
$linknome = array();
// query em si (:

$queryLINKNOME = mysql_query('SELECT * FROM relatorios WHERE data = '2010-01-15'');
while ($resultado = mysql_fetch_array($queryLINKNOME)) {
$resolvido[$a] = $resultado['status'];
$linknome[$a] = $resultado['LinkNome'];
if ($resolvido[$a] == 'sr') {
	echo '<br><b>'.$linknome[$a].'</b>';
}
if ($resolvido[$a] != 'sr'){
	echo '';
}
$a = $a + 1;
}

mysql_close($connect);

 </td>
   <td>
//Configurações do servidor

$host = 'localhost';
$pw = 'qwe!@#$';
$login = 'root';
$db = 'bancosuporte';

$connect = mysql_connect($host, $login, $pw) or die(mysql_error());
mysql_select_db($db, $connect) or die('Erro ao tentar a conexão com o banco de dados. Contate o CPD!');

// $a pra gerar o loop dos registros
$a = 0;
// aqui define o nome do array
$linkdetalhamento = array();
// query em si (:

$queryDETALHAMENTO = mysql_query('SELECT * FROM relatorios WHERE data = '2010-01-15'');
while ($resultado = mysql_fetch_array($queryDETALHAMENTO)) {
$resolvido[$a] = $resultado['status'];
$linkdetalhamento[$a] = $resultado['detalhes'];
if ($resolvido[$a] == 'sr') {
	echo '<br><b>'.$linkdetalhamento[$a].'</b>';
}
if ($resolvido[$a] != 'sr'){
	echo '';
}
$a = $a + 1;
}

mysql_close($connect);

 </td>
 </tr>
</table>
<p class='negao'>Imagens</p>
<p class='negao2'>Links no final do turno<br />
 $linkimg1<br />
$linkimg2<br />
$linkimg3<br />
$linkimg4
<br />
 <br />
Rastreamento dos carros<br />
$imgcarros
</p>
<p class='negao'>Informações adicionais<br />
 <br />
<p class='texto-central'>$adicionais</p>
</p>
</p>
</body>
</html>";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem muitos erros aí.

Inclusive de aspas mesmo.

 

Corrija aí, Aspas Duplas sempre Dentro de Aspas Simples ou Aspas Simples Dentro de Aspas Duplas(Principalmente quando tem variável).

 

Além do que você tem que separar o que é PHP e o que é HTML.

Que tem algumas coisas juntas aí pelo que eu vi.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tá colocando toda a página, incluindo o código php, numa string? É isso?

 

Poderia usar o file_get_contents

http://br.php.net/manual/en/function.file-get-contents.php

 

como funcionaria tal função? ele chamaria uma página que contem o php?

na função mail ficaria:

<? $mensagem = file_get_contents('http://www.minhapagina.com/mensagem.php');
mail($contato, $assunto, $mensagem, $headers);
?>

Tem muitos erros aí.Inclusive de aspas mesmo.Corrija aí, Aspas Duplas sempre Dentro de Aspas Simples ou Aspas Simples Dentro de Aspas Duplas(Principalmente quando tem variável).Além do que você tem que separar o que é PHP e o que é HTML.Que tem algumas coisas juntas aí pelo que eu vi.

 

mas é porque essa string já está dentro de um código PHP, que contém outras coisas, não apenas essa string.

 

não consegui ver onde tem uma aspa dupla aí dentro da string, acho que todas são aspas simples... procurei em um editor de texto e não achei nada. Você poderia me colar?

 

obrigado :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tem o DreamWeaver ? Copia e cola esse código lá, você vai perceber a diferença de cores.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tem o DreamWeaver ? Copia e cola esse código lá, você vai perceber a diferença de cores.

 

 

sim, fiz isso... o que fica dentro de

$mensagem = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>...
(bloco da mensagem) fica somente de uma cor. Era pra ficar colorido?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ha tá entendi.

Sim, é para ficar cor só. Cor de string.

Mas nao pode ter outras aspas duplas dentro, a nao ser que seja assim: \" \"

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas não tem aspa dupla dentro da string, e mesmo assim continua o erro ):

 

eu sinto que eu errei alguma aspa por aqui:

 

$table.='<td onclick='javascript:abrir(\''.$to.'?'.$g.'='.$dado.'\''.$dado.'</td>';

ficou bem confuso pra mim essa parte aí, reli o código várias vezes e mesmo assim ainda continuo com o erro ):

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, eu não sei porque voce quer fazer isso.

 

Mas eu tenho 99% de certeza que isso é uma gambiarra boa! kk

 

Pense melhor sua lógica.

 

Além do código ficar mais bonito, fica mais leve.

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

não é gambiarra... isso aí é um código que vai ser executado após o usuário clicar em um botão... só que na mesma página contem outras coisas como dados que ele guarda numa string antes de página da carregar e mais uma porrada de coisa.

 

Esse aí é a mensagem que vai ser enviada por e-mail após o operador clicar no botão.. o erro que está sendo gerado no script é aí apenas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Denis, como eu citei alguns posts acima, se possível me confirme se o código ficaria assim:

 

<? 
...
$mensagem = file_get_contents('http://www.minhapagina.com/pagina_com_o_codigo.php');
mail($contato, $assunto, $mensagem, $headers);
...
?>

Muito obrigado :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exato; [2]

 

Tente tambem a classe PHPMailer quando voce estiver com tempo.

 

Ela permite maior flexibilidade e facilidade para enviar emails complexos, com anexos e em html.

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, tentei com o file_get_contents(), só que ele pega somente os código, não os executa e envia por e-mail...

e com o PHPMailer, é a mesma coisa, já que a mensagem vai ficar dentro de uma variável ($mensagem = "<TAG HTML='tag_bla_bla'">)

 

enfim, acho que é o jeito eu tentar conseguir ajeitar isso na garra mesmo.. muito obrigado a todos. =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.