Jump to content
Fórum Script Brasil
  • 0

PHP Parse error: syntax error, unexpected end of file in... Usando Fetch API


Question

Código JS:

// Função que permite o cadastro do administrador.
function cadastrarAdm() {
    let form = document.querySelector('#adm-cadastro-form');
    form.addEventListener('submit', async (e) => {
        e.preventDefault();
        try {
            let response = await fetch('controllers/ajax/adm.cadastro.php', {
                method : 'post',
                headers: {
                    'Content-Type': 'application/x-www-form-urlencoded',
                },
                body : new FormData(form)
            });
            let result = await response.text();
            let final = `<span>${result}</span>`;
            let div = document.querySelector('#div-log');
            div.innerHTML = final;
        } catch (error) {
            console.log(error);
            alert(error);
        }
    });
}

Código PHP:

<?php

    require $_SERVER['DOCUMENT_ROOT'] . '/../config.php';

    // Cadastro básico do cliente feito pelo Administrador.

    if ($_SERVER['REQUEST_METHOD'] === 'POST') {

        // Criando o objeto cliente.
        $cliente = new Pessoa;
        $cliente->setCpf(trim(intval($_POST['cpf'])));
        $cliente->setNome(ucfirst(strtolower(trim(strval($_POST['nome'])))));
        $cliente->setEmail(trim(strval($_POST['email'])));

        // Passar função para transformar ESTADO.
        $cliente->setEstado(intval($_POST['estado']));
        $cliente->setCidade(strval($_POST['cidade']));
        $cliente->setSenha(randomPassword2());
        $cliente->setEmpresa(trim(strval($_POST['empresa'])));

        // Encriptar a senha e configurando variáveis.
        $senha = $cliente->getSenha();
        $nome = $cliente->getNome();
        $hash = password_hash($senha, PASSWORD_DEFAULT);


        // Inserindo o cliente no banco de dados.

        try {
            $sql = 'INSERT INTO clientes (clt_cpf, clt_nome, clt_email, clt_cidade, clt_estado, clt_senha, clt_empresa)
                    VALUES (
                        :cpf,
                        :nome,
                        :email,
                        :cidade,
                        :estado,
                        :senha,
                        :empresa
                    )';
            $query = $pdo->prepare($sql);
            $query->execute([
                'cpf' => $cliente->getCpf(),
                'nome' => $nome,
                'email' => $cliente->getEmail(),
                'estado' => $cliente->getEstado(),
                'cidade' => $cliente->getCidade(),
                'senha' => $hash,
                'empresa' => $cliente->getEmpresa()
            ]);
        } catch (PDOException $th) {
            echo $th->getMessage();
            die();
        }

        if ($query->rowCount()) {
            // Enviar e-mail para o cliente com os dados e a senha randômica.
    
            try {
                // Create the Transport
                $transport = (new Swift_SmtpTransport(EMAIL_H, 465, 'ssl'))
                ->setUsername(EMAIL_C)
                ->setPassword(EMAIL_S);
    
                // Create the Mailer using your created Transport
                $mailer = new Swift_Mailer($transport);
    
                // Create a message
                $message = (new Swift_Message('Bem-vindo à empresa'))
                ->setFrom([EMAIL_C => 'empresa Tecnologias'])
                ->setTo($cliente->getEmail())
                ->setBody('<h3>oi<h3>', 'text/html')
                ->addPart('oi', 'text/plain');
    
    
                // Send the message
                $result = $mailer->send($message);
            } catch (Swift_TransportException $th) {
                echo $th->getMessage();
            }
    
            echo "Cliente $nome cadastrado com sucesso.";
        }
    }

Error_log:

PHP Parse error:  syntax error, unexpected end of file in /home/user/dominio.com.br/admin/controllers/ajax/clt.cadastro.php on line 103

O ajax está buscando o arquivo php, mas o status fica em 500 e gera esse PARSE ERROR.

script.js:66 POST https://dominio.com.br/admin/controllers/ajax/clt.cadastro.php 500
(anônimo) @ script.js:66

Por favor me ajudem, pois não estou conseguindo consertar isso.

Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      148681
    • Total Posts
      644506
×
×
  • Create New...