4
I need to receive a message sent from PHP, and I need to receive it on the screen, to warn if the login is correct or not. However I do not want to use ajax.
The code I’m getting in the internal script the index:
<script type="text/javascript">
$('document').ready(function(){
if ($_SESSION['VALIDACAO'] == 01){
var Texto = "Login inválido"
document.getElementById("msg").innerHTML = Texto;
}else{
var Texto = "Úsuario bloqueado, contacte o administrador do sistema."
document.getElementById("msg").innerHTML = Texto;
};
});
</script>
My php:
<?php
include ("../includes/conexao.php");
$email = ($_POST['TXT_ENDER_EMAIL']);
$senha = ($_POST['TXT_SENHA_USUAR']);
// Validação do usuário/senha digitados
$sql = "SELECT COD_IDENT_USUAR, TXT_NOMEX_USUAR, TXT_ENDER_EMAIL, FLG_STATU_USUAR FROM tbl_USUARIOS WHERE TXT_ENDER_EMAIL = '".$email."' AND TXT_SENHA_USUAR = '".$senha."'";
$qr = mysql_query($sql);
if (mysql_num_rows($qr) != 1) {
// Mensagem de erro quando os dados são inválidos e/ou o usuário não foi encontrado
$_SESSION['VALIDACAO'] = 01;
header("Location: ../index.php"); exit; // Redireciona o visitante
} else {
// Salva os dados encontados na variável $resultado
$resultado = mysql_fetch_assoc($qr);
// Se a sessão não existir, inicia uma
if (!isset($_SESSION)) session_start();
// Salva os dados encontrados na sessão
$_SESSION['UsuarioID'] = $resultado['COD_IDENT_USUAR'];
$_SESSION['UsuarioNome'] = $resultado['TXT_NOMEX_USUAR'];
$_SESSION['UsuarioEmail'] = $resultado['TXT_ENDER_EMAIL'];
$_SESSION['UsuarioFlag'] = $resultado['FLG_STATU_USUAR'];
if($resultado['FLG_STATU_USUAR'] == 'A'){
// Redireciona o visitante
header("Location: ../paginas/principal.php"); exit;
}else{
session_destroy(); // Destrói a sessão limpando todos os valores salvos
$_SESSION['VALIDACAO'] = 02;
header("Location: ../index.php"); exit; // Redireciona o visitante
}
}
?>
The new model is working as follows. index php.:
<!DOCTYPE html>
<?php include 'scripts/help.php';
?>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="css/bootstrap.css">
<title>JR Tela de login</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<!--<script src="js/principal01.js"></script>-->
</head>
<body>
<div class="container">
<form class="form-signin" id="from" name="form" method="POST" action="scripts/validacao.php">
<h2 class="form-signin-heading">JR Comunicações</h2>
<div id="msg"><?php get_msg('msg_login');?></div>
<input type="text" name="TXT_ENDER_EMAIL" class="input-block-level" placeholder="Email">
<input type="password" name="TXT_SENHA_USUAR" class="input-block-level" placeholder="Senha">
<input class="btn btn-large btn-success" type="submit">
</form>
</div>
</body>
</html>
The help.php file:
<?php
// Função para setar a mensagem
function set_msg($id, $msg, $tipo)
{
session_start();
if (isset($id)) {
$_SESSION['id'] = $id;
switch ($tipo) {
case 'error':
$_SESSION['msg'] = '<div class="alert-danger">' . $msg . '</div>';
break;
case 'alert':
$_SESSION['msg'] = '<div class="alert-alert">' . $msg . '</div>';
break;
}
}
}
// Esta função vai exibir sua mensagem onde você quiser
function get_msg($id)
{
session_start();
if (isset($_SESSION['msg'])) { echo $_SESSION['msg']; }
if (isset($id)) {
if ($id == $_SESSION['id']) {
echo $_SESSION['msg'];
}
}
return FALSE;
}
?>
and the validation.php:
<?php
include ("../includes/conexao.php");
include("help.php");
$email = ($_POST['TXT_ENDER_EMAIL']);
$senha = ($_POST['TXT_SENHA_USUAR']);
// Validação do usuário/senha digitados
$sql = "SELECT COD_IDENT_USUAR, TXT_NOMEX_USUAR, TXT_ENDER_EMAIL, FLG_STATU_USUAR FROM tbl_USUARIOS WHERE TXT_ENDER_EMAIL = '".$email."' AND TXT_SENHA_USUAR = '".$senha."'";
$qr = mysql_query($sql);
if (mysql_num_rows($qr) != 1) {
// Mensagem de erro quando os dados são inválidos e/ou o usuário não foi encontrado
set_msg('msg_login', 'Login ou senha inválidos', 'error');
header("Location: ../index.php"); exit; // Redireciona o visitante
} else {
// Salva os dados encontados na variável $resultado
$resultado = mysql_fetch_assoc($qr);
// Se a sessão não existir, inicia uma
if (!isset($_SESSION)) session_start();
// Salva os dados encontrados na sessão
$_SESSION['UsuarioID'] = $resultado['COD_IDENT_USUAR'];
$_SESSION['UsuarioNome'] = $resultado['TXT_NOMEX_USUAR'];
$_SESSION['UsuarioEmail'] = $resultado['TXT_ENDER_EMAIL'];
$_SESSION['UsuarioFlag'] = $resultado['FLG_STATU_USUAR'];
if($resultado['FLG_STATU_USUAR'] == 'A'){
// Redireciona o visitante
header("Location: ../paginas/principal.php"); exit;
}else{
session_destroy(); // Destrói a sessão limpando todos os valores salvos
set_msg('msg_login', 'Usuario bloqueado', 'error');
header("Location: ../index.php"); exit; // Redireciona o visitante
}
}
?>
The function get_msg() ta wrong friend: Does so: Function get_msg($id) { session_start(); if (isset($id) && $id == $_SESSION['id']) { if (isset($_SESSION['msg'])) { echo $_SESSION['msg']; Return FALSE; }
– Kayo Bruno
Still giving error, here the if (isset($id) && $id == $_SESSION['id']) {
– Renan Rodrigues
at the beginning of the get_msg() function just after session_start(); Places this code: echo '<pre>'; print_r($_session); die; and places here what appears there.
– Kayo Bruno
Array ( [Usuarioid] => 1 [Usuarioname] => Renan Moraes [Usuarioemail] => [email protected] [Usuarioflag] => A )
– Renan Rodrigues
You already have a session created from a session_destroy(); there to test.
– Kayo Bruno
did not work, error in this command.
– Renan Rodrigues
What more correct method to solve this, I will have to give an exit 13:50 I return, I ask you to help me, it is for a work for college that I will have to deliver Saturday.
– Renan Rodrigues
I returned managed to identify something ?
– Renan Rodrigues
@Kayobruno is still not working its code. Error on the if line (isset($id) && $id == $_SESSION['id']) {
– Renan Rodrigues
Debate on the relevant goal for this question: http://meta.pt.stackoverflow.com/q/3918/132
– Victor Stafusa