6
respostas

Enviar email com link

Olá, pessoal!

Estou querendo enviar um link via email com um parâmetro na URL, mas está dando o seguinte erro:

Syntax error, unexpected $EOF, expecting T_STRING or T_VARIABLE or T_NUM_STRING.

A linha de código é essa de baixo.

$mensagem .= "<a href=\"angeolinarossi.crn5.org.br/confirmacao.php?par=\"<?=$ouvinte['codigo'];?>> " ;
6 respostas

Oi Thiago, tudo bom?

Acho que essa parte:

confirmacao.php?par=\"<?=$ouvinte['codigo'];?>> "

Está um pouco estranha. ao lado do parametro get "par", temos uma aspa dupla escapada. Mas em nenhum momento a gente fecha essa aspa escapada.

Além disso, a ideia é concatenar na string uma url com o código PHP? Porque o e-mail não vai processar esse código então o parametro seria literalmente :

<?=$ouvinte['codigo'];?>

Se a ideia é concatenar a string o valor da variável $ouvinte['codigo'], para que ela saia no email, podemos fazer algo como:

$mensagem .= "<a href=\"angeolinarossi.crn5.org.br/confirmacao.php?par=\"{$ouvinte['codigo']}\"> " ;

Usando interpolação =)

Seu erro aponta uma variável chamada $EOF inesperada em algum lugar, talvez seja por alguma string que faltou fechar.

Qualquer problema é só falar,

Abraço

Obrigado pela resposta, André.

É pra ir como parâmetro na URL, tentei do jeito que você sugeriu mas o parâmetro não foi.

Tem alguma ideia do que seja ?

Opa, compartilha um pouco mais do seu código com a gente?

Qual valor está sendo atribuido a variavel $ouvinte['codigo']?

var_dump($ouvinte['codigo']);
die();

Roda esse código também e compartilha o resultado aqui com a gente =)

Esse é o código da página.

    $from = "meuemail@email.com" ;

    $to = $ouvinte['email_usuario'];

    $subject = "Confirmação de inscrição no Angeolina Rossi";

    $mensagem = "<h1>Obrigado!<br></h1>";
    $mensagem .= "<p>Agracemos pela sua inscrição, no entanto, precisamos de uma confirmação para não tirar a oportunidade de outras pessoas interessadas.
                    O prazo para confirmação é até o dia 23/11</p><br><br>";
    $mensagem .= "<p>Para confirmar a presença clique no link abaixo</p><br><br>";
    $mensagem .= "<a href=\"angeolinarossi.crn5.org.br/confirmacao.php?key=\"{$ouvinte['codigo']}\">Confirmar inscrição no Prêmio</a> " ;

Ao realizar o comando var_dump ele retorna a hash que eu quero enviar como parâmetro.

var_dump($ouvintes['codigo']);

string(32) "e10adc3949ba59abbe56e057f20f883e"

Alguém tem ideia de como resolvo isso ?

Oi Thiago, tudo bom?

Perdão pela demora no retorno.

Simulei seu código aqui, e o HTML final do link que a gente ta gerando é algo como:

<a href="angeolinarossi.crn5.org.br/confirmacao.php?key=" e10adc3949ba59abbe56e057f20f883e"="">Confirmar inscrição no Prêmio</a>

Assim, ficou bem mais evidente que o problema é a aspas duplas dentro do link. Essa aspas faz com que a propriedade href quebre e por isso sai sem link nenhum.

Tenta não passar aspas no parâmetro get da url gerada. Algo como:

$mensagem = "<h1>Obrigado!<br></h1>";
    $mensagem .= "<p>Agracemos pela sua inscrição, no entanto, precisamos de uma confirmação para não tirar a oportunidade de outras pessoas interessadas.
                    O prazo para confirmação é até o dia 23/11</p><br><br>";
    $mensagem .= "<p>Para confirmar a presença clique no link abaixo</p><br><br>";
    $mensagem .= "<a href=\"angeolinarossi.crn5.org.br/confirmacao.php?key={$ouvinte['codigo']}\">Confirmar inscrição no Prêmio</a> ";

Testando o código acima, o resultado foi o link:

Confirmar inscrição no Prêmio

Abraço