Session Sem erro mas não Loga !!!
Galera estou com um problema com session start ...
houve atualização na versão do php no servidor de hospedagem caindo fora alguns argumentos estou tentando com uma nova versão
passada por indicação de um colega aqui do forum washalbano
que já me quebrou uma baita galho eliminando o primeiro erro do argumento extinguido da versão do php ( session_is_registered )
mas agora ele não quer logar se alguém puder dar uma mãozinha vou postar os códigos abaixo do formulário de acesso
log-admin.php e da verificação loga.php
e o erro que retorna a mensagem "Acesso Negado !! Usuário Não Logado"
vinda do final do código loga.php Não aparece nenhum erro apenas isso e retorna para o formulário de login ( log-admin.php )
//agora a parte que verifica se o login já foi feito
// se não há user em $_SESSION
if (!isset($_SESSION['nome'])) {
// Usuário não logado! Redireciona para a página de login
echo '<script>'
. 'alert("Acesso Negado !! Usuario Não Logado");'
. 'document.location="log-admin.php";'
. '</script>';
log-admin.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>: : : PAINEL DE ADMINISTRACAO DO WEBSITE : : :</title>
<style type="text/css">
<!--
body, td, th { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; color: #FFFFFF; }
body { background-color: #000000; }
a:link { color: #000000; text-decoration: none; }
a:visited { color: #000000; text-decoration: none; }
a:hover { color: #000000; text-decoration: none; }
a:active { color: #000000; text-decoration: none; }
-->
</style>
</head>
<body>
<?php
session_name("user1,user2");
session_start();
?>
<form name="form1" method="post" action="loga.php?acao=logar">
<div align="center">
<p> </p>
<p>Painel de Acesso <br>
</p>
</div>
<table width="338" border="0" align="center" cellpadding="4" cellspacing="2">
<tr>
<td width="59" bordercolor="#333333" bgcolor="#333333">NOME
: </td>
<td width="239" bordercolor="#333333" bgcolor="#333333">
<label>
<input name="nome" type="text" id="nome" size="35">
</label>
</td>
</tr>
<tr>
<td bordercolor="#333333" bgcolor="#333333">SENHA
: </td>
<td bordercolor="#333333" bgcolor="#333333">
<label>
<input name="pwd" type="password" id="pwd" size="35">
</label>
</td>
</tr>
<tr>
<td colspan="2" bordercolor="#333333" bgcolor="#333333">
<div align="center">
<label>
<input type="submit" name="Submit" value="ENTRAR">
</label>
<div align="right"></div>
</div>
<div align="right"></div>
</td>
</tr>
</table>
<div align="center"><br>
<br>
<br>
<br>
<br>
<br>
<label> </label>
<a href="deslogar.php">Deslogar</a><br>
</div>
</form>
</body>
</html>
loga.php
<?php
// Turn off all error reporting
error_reporting(0);
// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// Reporting E_NOTICE can be good too (to report uninitialized
// variables or catch variable name misspellings ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting(E_ALL ^ E_NOTICE);
// Report all PHP errors
error_reporting(E_ALL);
// Same as error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);
ini_set("display_errors", 1);
?>
<?php
// variáveis para conexão
$host = 'localhost'; // define o host do banco de dados
$user = 'root'; // user do banco de dados
$password = ''; // senha do banco de dados
$database = 'database'; // nome do banco de dados
// estabelecer conexão com o mysql
$sqli = new mysqli($host, $user, $password);
// verificar se houve erro na conexão
if ($sqli->connect_error) {
// se houve erro, mostra erro na tela
echo "<p>Erro ao Conectar: $sqli->connect_error</p>";
}
// alterar o tipo de codificação da conexão com o banco de dados, para utf8
if (!$sqli->set_charset('utf8')) {
echo "<p class='error'>O charset não é utf8: $sqli->error</p>";
}
// selecionar/abrir o banco de dados para trabalhar
if (!$sqli->select_db($database)) {
// se o banco de dados não for encontrado
echo "<p class='error'>Banco de dados não encontrado, chefe!</p>";
}
// arquivo de verificar o login
session_name('user1,user2');
session_start();
if (isset($_POST['acao']) && $_POST['acao'] == 'logar') {
// trata o nome
$nome = $sqli->real_escape_string($_POST['nome']);
// define a query de busca
$query = "SELECT * FROM sis_login WHERE login='$nome' LIMIT 1";
// executa a query e guarda o resultado em $result
$result = $sqli->query($query);
// se há algum resultado
if ($result->num_rows) {
// guarda o resultado em $dados
$dados = $result->fetch_assoc();
// verificar se a senha postada é igual a senha retornada
if ($_POST['pwd'] == $dados['senha']) {
// registra o user na sessão
$_SESSION['nome'] = $dados;
// redireciona para admin.php
header('Location: admin.php');
exit;
} // Se a senha não confere
else {
echo '<script>'
. 'alert("Senha Inválida !!");'
. 'document.location="log-admin.php";'
. '</script>';
}
} // Se não há resultados em $result, o Login é inválido
else {
echo '<script>'
. 'alert("Login Inválido !!");'
. 'document.location="log-admin.php";'
. '</script>';
}
}
//agora a parte que verifica se o login já foi feito
// se não há user em $_SESSION
if (!isset($_SESSION['nome'])) {
// Usuário não logado! Redireciona para a página de login
echo '<script>'
. 'alert("Acesso Negado !! Usuario Não Logado");'
. 'document.location="log-admin.php";'
. '</script>';
}
?>Discussão (2)
Carregando comentários...