PHP does not save message in XML

2

I want to set up a comment system, at the time of opening xml php can, but at the time of saving a new message does not, besides not being able to save it also does not error. (Note: it is a bit urgent for CBT). Codes:

Open profile_php.php :

    // isso está dentro de uma div.
        $tipoUsuario = pegaTipoUsuario($conexao, $cpf);
        $dom = new DOMDocument("1.0", "ISO-8859-7");
        $root = lerXML($dom, $conexao, $cpfTec, $cpf, $tipoUsuario);
        $dom = $_SESSION['dom'];
        $ver = simplexml_import_dom($dom);
        foreach ($ver as $xml):
            if ($xml->cpf_origem == 1234) {
                echo '<p align="center">' . $xml->mensagem . '</p>';
            } else if ($xml->cpf_origem == $cpf) {
                echo '<p align="right">' . $xml->mensagem . '</p>';
                echo '<p align="right">' . $xml->data_envio . '</p>';
            } else {
                echo '<p align="left">' . $xml->mensagem . '</p>';
                echo '<p align="left">' . $xml->data_envio . '</p>';
            }
        endforeach;
    // Sim, está vindo post..

    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        $mensagem = $_POST['txtMsg'];
        $msg = addMensagem($dom, $mensagem, $cpf);
        $root->appendChild($msg);
        $dom->appendChild($root);
        # Para salvar o arquivo, descomente a linha
        $dom->save("contatos.xml");
        unset($_POST['txtMsg']);
        // estou usando js aqui porque o header está dando erro..
        echo '<script> window.location("pag_perfilAbertoTec.php"); </script>';
    }

bank-messages.php

function addMensagem($documento, $mensagem, $cpf_origem) {
    // criar msg
    $msg = $documento->createElement("msg");
    // criar nó data
    $data = date('j/n/Y H:i:s');
    $dataElm = $documento->createElement("data_envio", $data);
    // criar nó origem
    $cpf_origemElm = $documento->createElement("cpf_origem", $cpf_origem);
    // criar nó mensagem (texto)
    $mensagemElm = $documento->createElement("mensagem", $mensagem);

    $msg->appendChild($dataElm);
    $msg->appendChild($cpf_origemElm);
    $msg->appendChild($mensagemElm);
    return $msg;
}
//daqui vem o $root
function lerXML($dom, $conexao, $cpfCli, $cpfTec, $tipo) {
        if ($tipo === 2) {
            $sql = "select caminho_xml as xml from tbl_mensagem where cpf_cliente_fk = $cpfCli and cpf_tecnico_fk = $cpfTec";
        } else {
            $sql = "select caminho_xml as xml from tbl_mensagem where cpf_cliente_fk = $cpfTec and cpf_tecnico_fk = $cpfCli";
        }
        $return = mysqli_query($conexao, $sql);
        $row = mysqli_fetch_array($return, MYSQLI_ASSOC);
        $nomeArquivo = $row["xml"];
        if (!file_exists($nomeArquivo)) {
            $novonome = gerarNomeXML();
            guardarXML($conexao, $novonome, $cpfCli, $cpfTec, $tipo);
            $msg = addMensagem($dom, "Conectados!", null);
            // criando nó principal
            $root = $dom->createElement("mensagens");
            // adiciona a mensagem ao root
            $root->appendChild($msg);
            // adiciona o root ao xml
            $dom->appendChild($root);
            // retirar os espaços em branco
            $dom->preserveWhiteSpace = false;
            // gerar código ??
            $dom->formatOutput = true;
            $_SESSION['nomeXML'] = $novonome;
            $dom->save($novonome);
            $_SESSION['dom'] = $dom;
            return $root;
        } else {
            // carrega o arquivo
            $dom->load($nomeArquivo);
            $_SESSION['nomeXML'] = $nomeArquivo;
            // recupera nó principal
            $root = $dom->documentElement;
            $_SESSION['dom'] = $dom;
            return $root;
        }
    }

 function guardarXML($conexao, $caminho, $cpfCli, $cpfTec, $tipo) {
if ($tipo == 2) {
    $sql = "update tbl_mensagem set caminho_xml = '$caminho' where cpf_cliente_fk = $cpfTec and cpf_tecnico_fk = $cpfCli";
} else {
    $sql = "update tbl_mensagem set caminho_xml = '$caminho' where cpf_cliente_fk = $cpfCli and cpf_tecnico_fk = $cpfTec";
}
$resultado = mysqli_query($conexao, $sql);
return $resultado;
}
    
asked by anonymous 23.06.2018 / 23:36

0 answers