Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia, estou montando um site aqui, e me deparei com um dificuldade...
Quero colocar uma área de login na index do site, para que quando a pessoa acessar com login e senha, já seja redirecionada para um painel de controle já pronto, e já logado.
Segue códigos;
CÓDIGO INDEX.
<?php
$host = "XXX.X.X.X";
$database = "XXXXX";
$tabela = "dados";
$login_db = "XXXX";
$senha_db = "XXXX";
$db = mysqli_connect ($host, $login_db, $senha_db, $database);
?>
<?php
session_start();
if(!isset($_SESSION["usuario"]) || !isset($_SESSION["senha"])) {
echo 'Você não está logado!
Entre agora mesmo!';
echo '<form method="post" action="logar.php">
<label for="login">Login:</label>
<input name="usuario" type="text" id="usuario" size="10"/>
<label for="email">Senha:</label>
<input name="senha" type="password" id="senha" size="10"/>
<br /><br />
<input type="submit" name="entrar" id="entrar" class="button" value="Entrar" style="cursor:pointer;">
</form>';
exit;
} else {
echo 'Logado.';
echo '<a href="painel.php">Clique aqui para acessar o painel</a>';
}
?>
CÓDIGO LOGAR
<?php
$host = "XXX.X.X.X";
$database = "XXXXX";
$tabela = "dados";
$login_db = "XXXX";
$senha_db = "XXXX";
$db = mysqli_connect ($host, $login_db, $senha_db, $database);
?>
<?php
session_start();
if(!isset($_SESSION["usuario"]) || !isset($_SESSION["senha"])) {
echo 'Você não está logado!
Entre agora mesmo!';
echo '<form method="post" action="logar.php">
<label for="login">Login:</label>
<input name="usuario" type="text" id="usuario" size="10"/>
<label for="email">Senha:</label>
<input name="senha" type="password" id="senha" size="10"/>
<br /><br />
<input type="submit" name="entrar" id="entrar" class="button" value="Entrar" style="cursor:pointer;">
</form>';
exit;
} else {
echo 'Logado.';
echo '<a href="painel.php">Clique aqui para acessar o painel</a>';
}
?>
CÓDIGO PAINEL
<?php
$host = "XXX.X.X.X";
$database = "XXXXX";
$tabela = "dados";
$login_db = "XXXX";
$senha_db = "XXXX";
$db = mysqli_connect ($host, $login_db, $senha_db, $database);
?>
<?php
session_start();
if(!isset($_SESSION["usuario"]) || !isset($_SESSION["senha"])) {
echo 'Você não pode acessar esta pagina sem estar logado.';
echo '<form method="post" action="logar.php">
<label for="login">Login:</label>
<input name="usuario" type="text" id="usuario" size="10"/>
<label for="email">Senha:</label>
<input name="senha" type="password" id="senha" size="10"/>
<br /><br />
<input type="submit" name="entrar" id="entrar" class="button" value="Entrar" style="cursor:pointer;">
</form>';
} else {
echo 'VocÊ está logado!';
}
?>
Porém até fiz funcionar em localhost (127.0.0.1) só que preciso fazer ligar em uma conexão externa.
E é ai que entra o problema, ele não loga no db em conexão externa.
Grato
O banco de dados deve ser alcançável pela aplicação ou seja a partir do servidor de aplicação vc deve ser capaz de pingar com resposta o ip do banco.
Alem disso por padrao o root só se loga caso venha do ip 127.0.0.1 , e dependendo como foi configurado os usuarios outros tmb
Por favor execute o comando
show grants for usuario_da_aplicao
onde usuario_da_aplicao é o usuario q vc esta tentando e cole o resultado aqui.
Caso vc tenha a resposta assim:
GRANT ALL PRIVILEGES ON
controle_notas.* TO 'rudolfo'@'%' WITH GRANT OPTIONsiginifica que o usuario rudolfo pode logar de qualquer ip (%) e fazer o que ele quiser dentro do banco controle_notas e ainda pode delegar o mesmo poder a outros