Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Thiago Caesar

Loga e desloga rapidinho ...

Recommended Posts

Pessoal sou novo em php mysqli, estou com problemas de login , o problema se dá quando coloco no servidor ... quando estava em servidor local estava tudo funcionando normal ... ele loga e sai rapidinho ... como não manjo de nada estou meio perdido ...
se alguem pudesse me ajudar ...

Tenho o seguinte codigo:

<?php
require("config/connection.php");
require("config/protection.php");
protegerAdmin() ;
?>
<?php
if(isset($_GET["action"]) AND $_GET["action"] == "sair") {
exit();
}
?>
<!doctype html>
<html>
<head>
<style type="text/css">
#tudo {
display: table;
height: 768px;
width: 1024px;
margin-right: auto;
margin-left: auto;
position: relative;
z-index: 1;
}
#btsair {
position: absolute;
width: 53px;
height: 22px;
z-index: 1;
left: 1136px;
top: 16px;
}
#titulopagina{
position: absolute;
width: 616px;
height: 30px;
z-index: 1;
left: 237px;
top: -10px;
}
body {
background-image: url(images/fundo3.jpg);
}
.centuryghotictitulo {
font-family: "Century Gothic";
color: #CE0418;
font-size: 24px;
}
.impactbtsair {
font-family: Impact;
font-size: 18px;
color: #B00;
}
#logo {
position: absolute;
width: 89px;
height: 67px;
z-index: 2;
left: 58px;
top: -26px;
}
#registros {
position: absolute;
width: 138px;
height: 36px;
z-index: 3;
left: 46px;
top: 52px;
color: #B30000;
font-weight: bold;
}
#quadrovermelho {
position: absolute;
width: 200px;
height: 300px;
z-index: 1;
left: 7px;
top: 32px;
background-color: #A60202;
background-image: url(images/fundo4.jpg);
}
#inserirusuario {
position: absolute;
width: 177px;
height: 35px;
z-index: 2;
left: 25px;
top: 119px;
}
#inserircliente {
position: absolute;
width: 173px;
height: 36px;
z-index: 2;
left: 25px;
top: 162px;
}
#inseririmovel {
position: absolute;
width: 171px;
height: 33px;
z-index: 2;
left: 25px;
top: 204px;
}
a:link {
text-decoration: none;
}
a:visited {
text-decoration: none;
}
a:hover {
text-decoration: none;
}
a:active {
text-decoration: none;
}
#apDiv1 {
position: absolute;
width: 1px;
height: 40px;
z-index: 4;
left: 958px;
top: -17px;
background-color: #A60202;
}
#apDiv2 {
position: absolute;
width: 200px;
height: 300px;
z-index: 5;
left: 237px;
top: 32px;
background-color: #D6D6D6;
background-image: url(images/fundo4.jpg);
}
#apDiv3 {
position: absolute;
width: 103px;
height: 47px;
z-index: 6;
left: 289px;
top: 50px;
font-family: "Century Gothic";
font-size: 24px;
color: #B30000;
font-weight: bold;
}
#apDiv4 {
position: absolute;
width: 176px;
height: 42px;
z-index: 7;
left: 256px;
top: 118px;
}
#apDiv5 {
position: absolute;
width: 170px;
height: 40px;
z-index: 8;
left: 255px;
top: 161px;
}
#apDiv6 {
position: absolute;
width: 166px;
height: 40px;
z-index: 9;
left: 255px;
top: 203px;
}
</style>
<meta charset="utf-8">
<title>::: PAINEL DE ADMIN :::</title>
</head>
<body>
<div id="tudo">
<div class="centuryghotictitulo" id="titulopagina">
Olá , seja bem vindo ao painel de admin</div>
<div id="logo"><img src="images/logo2.png" width="100" height="63"></div>
<div class="centuryghotictitulo" id="registros">REGISTROS</div>
<div id="quadrovermelho"></div>
<div id="apDiv2"></div>
<div id="apDiv6"><img src="images/btbuscarimoveis.png" width="165" height="35"></div>
<div id="apDiv4"><a href="listarusuarios.php"><img src="images/btlistarusuarios.png" width="165" height="35"></a></div>
<div id="apDiv5"><img src="images/btbuscarcliente.png" width="165" height="35"></div>
<div id="apDiv3">BUSCAS</div>
<div id="inserirusuario"><a href="registrarusuario.php"><img src="images/btinserirusuario.png" width="165" height="35"></a></div>
<div id="inserircliente"><a href="registrarclientes.php"><img src="images/btinserircliente.png" width="165" height="35"></a></div>
<div id="inseririmovel"><a href="registrarimoveis.php"><img src="images/btinseririmovel.png" width="165" height="35"></a></div>
<div id="apDiv1"></div>
</div>
<div id="btsair">
<a href="?action=sair"><img src="images/btsair.png" width="85" height="30"></a>
</div>
</body>
</html>
===========================================================================================
===========================================================================================
===========================================================================================
<?php
function protegerAdmin () {
if ($_SESSION["Permissao"] != 1) {
}
}
function protegerUser () {
if ($_SESSION["Permissao"] != 0) {
}
}
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você iniciou sessão?

 

session_start();

 

no sair, ele não destrói a sessão, então o usuário não sairia...

 

Pode mandar a página que confirma o logi do usuário, por favor?

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php

require("config/connection.php");


?>


<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>::: Login de Usuário :::</title>

<style type="text/css">

body {

background-image: url(images/fundo1.jpg);

}

.century_ghotic {

font-family: "Century Gothic";


}



#tudo {

display: table;

height: 768px;

width: 1024px;

margin-right: auto;

margin-left: auto;

position: relative;

z-index: 1;


}


#apDiv1 {

position: absolute;

width: 251px;

height: 28px;

z-index: 1;

color: #FFFFFF;

font-family: "Century Gothic";

font-size: 18px;

left: 65px;

top: -52px;

font-weight: bold;

}


#formulario {

position: absolute;

z-index: 1;

left: 437px;

top: 59px;

width: 187px;

}


</style>

</head>


<body>

<div id="tudo":>

<div id="formulario">

<div id="apDiv1">LOGIN DE USUÁRIO</div>

<form action="" method="post"/>

<br><br><br>



<label class="century_ghotic">

E-mail :

</label><br>

<input type="text" name="email" placeholder="Seu e-mail"/><br><br>



<label>

<span class="century_ghotic">Senha :</span> </label>

<br>

<input type="password" name="senha" placeholder="Senha"/><br><br><br>



<input name="button" type="image" value="Registrar" src="images/btentrar.png" width="80px" height="25"/>

</form>

</div>


</div>

</body>

</html>

<?php


if(isset($_POST["button"])){


$email = $_POST["email"];

$senha = $_POST["senha"];


if($email== "" || $senha=="" ){


echo "<script>alert ('Preencha todos os campos');</script>";


return true;

}


$select = $mysqli-> query("SELECT * FROM `usuarios` WHERE Email = '$email' AND Senha = '$senha'");

$row = $select-> num_rows;

$get =$select->fetch_array();


$perm = $get['Permissao'];


if ($row > 0) {

if ($perm == 1) {


session_start();

$_SESSION["Permissao"] = 1 ;



echo "<script>alert ;location.href='http://paineladmin.php'</script>";



}else{


session_start();

$_SESSION["Permissao"] = 0 ;



echo "<script>alert ;location.href='http://painelusuario.php'</script>";


}



}else{


echo "<script>alert ('Usuario ou Senha Incorretos');</script>";




}

}


?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

o seu erro é, o session_start() deve ficar no começo do seu código...

 

e em um arquivo que seja incluido em todos os outros, um exemplo é o config/connection.php ...

você iniciou uma sessão somente naquele arquivo, ao passar para os demais , não terá mais sessão...

 

no connections, na segunda linha após abrir <?php você coloca session_start();

Compartilhar este post


Link para o post
Compartilhar em outros sites

o seu erro é, o session_start() deve ficar no começo do seu código...

 

e em um arquivo que seja incluido em todos os outros, um exemplo é o config/connection.php ...

você iniciou uma sessão somente naquele arquivo, ao passar para os demais , não terá mais sessão...

 

no connections, na segunda linha após abrir <?php você coloca session_start();

Amigo agradeço sua atenção ... entao eu crio uma nova pagina php , coloco session_start(); e depois chamo ela com require ....

aqui na pagina de login ... eu deixo ele com session mesmo criando este novo arquivo ?

session_start();

$_SESSION["Permissao"] = 1 ;

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você retira o session_start() dos demais arquivos,

e deixa o código session_start() em um arquivo global, no qual todos os outros o chamariam, como no caso do arquivo que faz conexão com banco de dados...

 

 

Mas se quiser criar um novo também, pode ser...

 

Só lembrando que o session_start() tem que estar no topo da página, ou seja, primeira linha, após o <?php já entra o session_start();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo agradeço sua atenção ... entao eu crio uma nova pagina php , coloco session_start(); e depois chamo ela com require ....

aqui na pagina de login ... eu deixo ele com session mesmo criando este novo arquivo ?

session_start();

$_SESSION["Permissao"] = 1 ;

amigo , eu fiz mas mesmo assim nao esta funcionando .. inclusive tirei tdos os session_start(); para ver se ele ia retornar algum erro ... ele nao avisa nenhum erro ... e nao entra

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php session_start();


$serv = 'xxxxxxx';

$user = 'xxxx';

$pass = 'xxxxxx';

$data = 'xxxxxxxxxxxx';

// Conecta-se ao banco de dados MySQL

$mysqli = new mysqli($serv, $user, $pass, $data);

if ($mysqli->connect_error) {

echo "erro ao conectar ao banco";

exit();

}else{


}



?>




tirei de todas as paginas o session e coloquei ali em cima e mesmo assim nao funciona ... estranho que no local funcionava ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

e agora da isso somente com o session_start na primeira linha do php no aqruivo global

 

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:\inetpub\vhosts\fernandesesampaio.com.br\httpdocs\bd\login.php:1) inD:\inetpub\vhosts\fernandesesampaio.com.br\httpdocs\bd\config\connection.php on line 1

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\inetpub\vhosts\fernandesesampaio.com.br\httpdocs\bd\login.php:1) inD:\inetpub\vhosts\fernandesesampaio.com.br\httpdocs\bd\config\connection.php on line 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora vem outra questão...

 

Você não definiu uma Variável na sessão pra saber se o usuário está logado ou não...

 

então aconselho colocar uma variável como por exemplo

$_SESSION['logado'] = TRUE;

essa variável determinaria se o usuário está logado ou não...

 

Por exemplo...

if($_SESSION['logado'] == TRUE) {

echo"Usuário Logado";

}else {

echo"Usuário não logado";

}

 

Para definir, na parte do login ao certificar que o e-mail e senha estão corretos, defina a variável ...

 

if ($row > 0) {

if ($perm == 1) {

 

session_start();

$_SESSION["Permissao"] = 1 ;

 

 

echo "alert ;location.href='http://paineladmin.p...php'";

 

 

}else{

 

session_start();

$_SESSION["Permissao"] = 0 ;

 

 

echo "alert ;location.href='http://painelusuario...php'";

 

}

 

$_SESSION['logado'] = TRUE;

 

}else{

 

echo "alert ('Usuario ou Senha Incorretos');";

 

 

 

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigos, eu tentei de tudo com as digas que vcs me deram e nada funcionou ... que puder me ajudar por email pois paço todo passo a passo para entenderem melhor a questão , acho que o treco eh mais embaixo

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Rafael_Ferreira
      Não consigo carregar a imagem do captcha do meu formulário. Foi testado com o xampp e easyphp. Também não carregou a imagem de outros captcha. 
       
       
    • Por luiz monteiro
      Olá, tudo bem?
       
      Estou melhorando meu conhecimento em php e mysql e, me deparei com o seguinte. A tabela da base de dados tem um campo do tipo varchar(8) o qual armazena números. Eu não posso alterar o tipo desse campo. O que preciso é fazer um select para retornar o números que contenham zeros a direita ou a esquerda.
      O que tentei até agora
       
      Ex1
      $busca = $conexao->prepare("select campo form tabela where (campo = :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form']);
       
      Se a direita da string $_REQUEST['campo_form'] termina ou inicia com zero ou zeros, a busca retorna vazio.
      Inseri dados numéricos, da seguinte maneira para testar: 01234567;  12345670: 12345678: 12340000... entre outros nessa coluna. Todos os valores que não terminam ou não iniciam com zero ou zeros, o select funciona.
       
       
      Ex2
      $busca = $conexao->prepare("select campo form tabela where (campo = 0340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex3
      $busca = $conexao->prepare("select campo form tabela where (campo = '02340001' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex4
      $busca = $conexao->prepare("select campo form tabela where (campo like 2340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex5
      $busca = $conexao->prepare("select campo form tabela where (campo like '12340000') ");
      Esse número está cadastrado, mas não retorna.
       
      Ex6
      $busca = $conexao->prepare("select campo form tabela where (campo like '"12340000"' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex7
      $busca = $conexao->prepare("select campo form tabela where (campo like :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form'])
      Não retorna dados.
       
      O  $_REQUEST['campo_form'] é envio via AJAX de um formulário. 
      Usei o gettype para verificar o post, e ele retorna string.
      Fiz uma busca com número 12345678 para verificar o que o select retorna, e também retrona como string.
       
      Esse tipo de varchar foi usado porque os números que serão gravados nesse campo,  terão zeros a direita ou na esquerda. Os tipos number do mysql não gravam zeros, então estou usando esse. O problema é a busca.
      Agradeço desde já.
       
       
    • Por daemon
      Boa tarde,
       
      Eu tenho uma rotina que faz uma leitura do arquivo .xml de vários sites.

      Eu consigo pegar o tópico e a descrição, e mostrar a imagem que esta na pagina do link.
      Para isso utilizo esta função:
      function getPreviewImage($url) { // Obter o conteúdo da página $html = file_get_contents($url); // Criar um novo objeto DOMDocument $doc = new DOMDocument(); @$doc->loadHTML($html); // Procurar pela tag meta og:image $tags = $doc->getElementsByTagName('meta'); foreach ($tags as $tag) { if ($tag->getAttribute('property') == 'og:image') { return $tag->getAttribute('content'); } } // Se não encontrar og:image, procurar pela primeira imagem na página $tags = $doc->getElementsByTagName('img'); if ($tags->length > 0) { return $tags->item(0)->getAttribute('src'); } // Se não encontrar nenhuma imagem, retornar null return null; } // Uso: $url = "https://example.com/article"; $imageUrl = getPreviewImage($url); if ($imageUrl) { echo "<img src='$imageUrl' alt='Preview'>"; } else { echo "Nenhuma imagem encontrada"; }  
      Mas estou com um problema, esta funcão funciona quando coloco em uma pagina de teste.php. Preciso mostrar em uma página inicial diversas fotos de todos os links. (No caso acima só funciona 1).
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, me permita tirar uma dúvida com os amigos.

      Tenho um Formulário onde o Usuário digita todos os Dados necessários.

      Minha dúvida:
      --> como faço após o usuário digitar os dados e salvar, o Sistema chamar uma Modal ou mensagem perguntando se deseja imprimir agora ?

      Grato,
       
      Cesar
    • Por Carcleo
      Tenho uma abela de usuarios e uma tabela de administradores e clientes.
      Gostaria de uma ajuda para implementar um cadastro
       
      users -> name, login, passord (pronta) admins -> user_id, registratiom, etc.. client -> user_id, registratiom, etc...
      Queria ajuda para extender de user as classes Admin e Client
      Olhem como estáAdmin
      <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Admin extends User {     use HasFactory;            protected $fillable = [         'name',         'email',         'password',         'registration'     ];      private string $registration;     public function create(         string $name,          string $email,          string $password,         string $registration     )     {         //parent::create(['name'=>$name, 'email'=>$email, 'password'=>$password]);         parent::$name = $name;         parent::$email = $email;         parent::$password = $password;         $this->registration = $registration;     } } User
      <?php namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Illuminate\Database\Eloquent\Relations\BelongsToMany; class User extends Authenticatable {     /** @use HasFactory<\Database\Factories\UserFactory> */     use HasFactory, Notifiable;     static string $name;     static string $email;     static string $password;     /**      * The attributes that are mass assignable.      *      * @var list<string>      */     protected $fillable = [         'name',         'email',         'password',     ];          /**      * The attributes that should be hidden for serialization.      *      * @var list<string>      */     protected $hidden = [         'remember_token',     ];     /**      * Get the attributes that should be cast.      *      * @return array<string, string>      */     protected function casts(): array     {         return [             'email_verified_at' => 'datetime',             'password' => 'hashed',         ];     }          public function roles() : BelongsToMany {         return $this->belongsToMany(Role::class);     }       public function hasHole(Array $roleName): bool     {                 foreach ($this->roles as $role) {             if ($role->name === $roleName) {                 return true;             }         }         return false;     }         public function hasHoles(Array $rolesName): bool     {                 foreach ($this->roles as $role) {             foreach ($rolesName as $rolee) {             if ($role->name === $rolee) {                 return true;             }          }         }         return false;     }         public function hasAbility(string $ability): bool     {         foreach ($this->roles as $role) {             if ($role->abilities->contains('name', $ability)) {                 return true;             }         }         return false;     }     } Como gravar um Admin na tabela admins sendo que ele é um User por extensão?
      Tentei assim mas é claro que está errado...
      public function store(Request $request, Admin $adminModel) {         $dados = $request->validate([             "name" => "required",             "email" => "required|email",             "password" => "required",             "registration" => "required"         ]);         $dados["password"] =  Hash::make($dados["password"]);                  $admin = Admin::where("registration",  $dados["registration"])->first();                  if ($admin)              return                    redirect()->route("admin.new")                             ->withErrors([                                 'fail' => 'Administrador já cadastrados<br>, favor verificar!'                   ]);                            $newAdmin = $adminModel->create(                                    $dados['name'],                                    $dados['email'],                                    $dados['password'],                                    $dados['registration']                                 );         dd($newAdmin);         $adminModel->save();         //$adminModel::create($admin);                  return redirect()->route("admin.new")->with("success",'Cadastrado com sucesso');     }  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.