4
respostas

htmlspecialchars

Olá,

A função htmlspecialchars não está a fazer qualquer efeito no meu código.

Já fiz ctrl + f5 para refresh do browser.

Experimentei no chrome e no firefox e o resultado foi o mesmo.

Estou a usar o PHP 7.4

Obrigado

4 respostas

Você deve postar o código para que possamos ajudar, sem ver o código é praticamente impossível qualquer resposta

Sim, tem razão.

Aqui vai:

<?php
    echo "<pre>";
    print_r($_POST);
    echo "</pre>";
    require_once "autoload.php";
    use App\Alura\{Usuario, Contacto};

    $usuario = new Usuario($_POST['nome'], $_POST['senha'], $_POST['genero']);
    $contacto = new Contacto($_POST['email'], $_POST['endereco'], $_POST['cep'], $_POST['telefone']);


?>

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" href="bootstrap.min.css">
    <title>Curso Strings</title>
</head>
<body>

<div class="mx-5 my-5">
<h1>Cadastro feito com sucesso.</h1>
<p>
    <?= $usuario->getTitulo() !== '' ? $usuario->getTitulo() . ' s' : 'S' ?>eguem os dados de sua conta:
</p>
<ul class="list-group">
    <li class="list-group-item">Primeiro nome: <?php echo htmlspecialchars($usuario->getPrimeiroNome()) ;?></li>
    <li class="list-group-item">Sobrenome: <?= htmlspecialchars($usuario->getUltimoNome()); ?></li>
    <li class="list-group-item">Usuário: <?= $contacto->getUsuario()?></li>
    <li class="list-group-item">Senha: <?= htmlspecialchars($usuario->getSenha()); ?></li>
    <li class="list-group-item">Telefone: <?= $contacto->getTelefone() ?></li>
    <li class="list-group-item">Email: <?= $contacto->getEmail()?></li>
    <li class="list-group-item">Endereço: <?= $contacto->getEndereco() ?></li>
</ul>
</div>
</body>
</html>

Tente fazer da seguinte forma:

<?= htmlspecialchars($usuario->getSenha(), ENT_QUOTES); ?>

Caso não funcione poste aqui o resultado esperado e o que você está recebendo.

Já testei. Está a fazer na mesma o alert.