Hello, How do I send a contact form for example, give a refresh on the page and show the sending message?
Code: Javascript:
function showAlert(type, message)
{
if (message !== '')
{
if (type === '')
{
type = 'success';
type = 'danger';
type = 'info';
type = 'warning';
}
$('#alert').removeClass();
$('#alert').addClass('alert alert-' + type).html(message).slideDown();
setTimeout("closeAlert()", 15000);
}
$(function ()
{
$('#alert').click(function ()
{
closeAlert();
});
});
function closeAlert()
{
$('#alert').slideUp();
$('#alert').removeClass();
}
HTML:
<div id='alert'></div>
PHP:
echo "<script>
window.onload = function ()
{
showAlert('success', 'Perfil atualizado com sucesso.');
};
</script>";
Displaying the message in another way, but it seems to me that there are security holes in this if I do not fix it. messages.php
<?php
if (isset($_GET['action']))
{
$action = $_GET['action'];
if($action=='registered')
{
echo '<div class="alert alert-success">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong>Sucesso!</strong> avaliação cadastrada obrigado pela colaboração.
</div>';
}
}
?>
Then I include the messages wherever I want:
include("/system/messages.php");
and call via _GET:
echo '<script language= "JavaScript">
location.href="?p=cadastro&action=registered";
</script>';
So the attacker can, for example, put a path of an external script in place of the variable: link Your site would normally include the file and run everything inside it ... The rest you can imagine.
Make it safe:
// Define uma lista com os array que poderão ser chamados na URL
$allowed = array($nomeUsuario, 'perfil-updated', 'perfil-updated-error');
// Verifica se a variável $_GET['action'] existe E se ela faz parte da lista de arquivos permitidos
if (isset($_GET['action']) AND (array_search($_GET['action'], $allowed) !== false))
{
$action = $_GET['action'];
if($action=='perfil-updated')
{
echo '<div class="alert alert-success">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong>Sucesso!</strong> Perfil atualizado.
</div>';
}
if($action=='perfil-updated-error')
{
echo '<div class="alert alert-danger">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong>Erro ao atualizar!</strong> Não foi possível atualizar o perfil.
</div>';
}
}
else
{
// Se não existir variável $_GET ou ela não estiver na lista de permissões, define um valor padrão
echo '<script language= "JavaScript">
location.href="?p=profile&action='.$nomeUsuario.'";
</script>';
}