Ir para conteúdo
Fórum Script Brasil
  • 0

Me ajudem! Sistema de login


Baldit

Pergunta

Olá, tenho um sistema de login que tem o formulário que faz POST para o arquivo validar.php

Eis o arquivo validar.php:

<?php
session_start();
$usuario = "admin";
$senha = "12345";

if($_POST['usuario'] == $usuario && $_POST['senha'] == $senha) {
        $_SESSION['usuario'] = $_POST['usuario'];
        $_SESSION['senha'] = $_POST['senha'];
        header("Location: pasta-do-cliente");
}else{
        header("Location: erro.php");
}
?>

Se o usuário for ADMIN e a senha for 12345 ele manda pra "PASTA-DO-CLIENTE" se não, ele manda para o arquivo ERRO.php

Pois bem, quero montar uma página inicial onde vários clientes vão ter acesso, ou seja,

Na INDEX.php terá o formulário para login:

Tenho dois clientes, o CLIENTE João e o Cliente Pedro. Ambos tem um sistema instalado em minha hospedagem.

Quero: Usuário: JOão Senha: João123 mande para a pasta /joao/

e o usuário: Pedro Senha: Pedro123 mande para apasta /pedro/

Ambos dentro do meu site

www.meusite.com.br/index (LOGIN)

www.meusite.com.br/joao (sistema do joao)

www.meusite.com.br/pedro (sistema do pedro)

Podem me ajudar?

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

Ah sim, lendo melhor a sua redação deu para perceber que você quer apenas redirecionar o usuário para a pasta com o mesmo nome, neste caso você primeiro vai ter que remover os caracteres especiais (ê, ç , etc...), pode usar str_replace, após isto é só mandar no Location que você já tem.

Link para o comentário
Compartilhar em outros sites

  • 0
Ah sim, lendo melhor a sua redação deu para perceber que você quer apenas redirecionar o usuário para a pasta com o mesmo nome, neste caso você primeiro vai ter que remover os caracteres especiais (ê, ç , etc...), pode usar str_replace, após isto é só mandar no Location que você já tem.

Você ainda não entendeu :P

Aquele VALIDAR.php quando o usuário e a senha forem a que está na linha 3 e 4 ele acessa a PASTA-DO-CLIENTE.

Ai quero criar MAIS desses, pra ter MAIS USUARIOS e MAIS SENHAS. Ai cada usuário que logar terá sua pasta distinta.

Por exemplo:

Cliente 1:

Casa de Ração

Usuário: Casaderacao

Senha: 1234

Manda para a pasta: www.meusite.com.br/casaderacao

Cliente 2:

Açougue

Usuário: acougue

Senha: 1234567

Manda para a pasta: www.meusite.com.br/acougue

Entendeu?

Link para o comentário
Compartilhar em outros sites

  • 0

Não sei se entendi bem teu problema, mas tenho algumas observações.

1) Se o nome do diretório for o mesmo do login, podes direcionar direto para "$_POST['usuario']/index.php" - e se não for recomendo utilizar um banco de dados ou no mínimo arquivo de configuração para obter dinamicamente o diretório do usuário. Fazer elseifs pode ser massante e difícil de manter se o número de usuários puder crescer no futuro.

2) Não tenho certeza de que tua sessão vai funcionar. Não tenho contato com web há anos, mas tenho uma leve suspeita de que teu header de "Location" sendo enviado os cookies de sessão não o serão a tempo da forma como ocorre no código. Voltando ao caso 1, se o usuário for o mesmo do diretório, no teu lugar eu esqueceria tudo isso e faria no próprio formulário um javascript que muda o action do formulário direto para o index do usuário propriamente dito. (se é que eu entendi bem o que queres fazer).

E lembre-se do principal: eu sou um verdadeiro "enferrujado" em matéria de programação, não tenho contato há anos, então posso ter dito muita besteira.

Link para o comentário
Compartilhar em outros sites

  • 0

as sessions só vão funcionar nas proximas paginas.. não funcionam na mesma que foram criadas

sendo o login o mesmo nome da pasta pode fazer algo como:

<?php

session_start();

$usuario = "admin";

$senha = "12345";

if($_POST['usuario'] == $usuario && $_POST['senha'] == $senha) {

$_SESSION['usuario'] = $_POST['usuario'];

$_SESSION['senha'] = $_POST['senha'];

$LocalCliente = $_POST['usuario']."/index.php";

header("Location: $LocalCliente");

}else{

header("Location: erro.php");

}

?>

Editado por jissa
Link para o comentário
Compartilhar em outros sites

  • 0

Amigo,

quando criar o usuário no banco de dados, coloque um campo para colocar o nome da pasta, toda vez que a pessoa logar você busca pelo nome de usuário o nome da pasta deste usuário, grava ele em uma variável da sessão que abriu e depois é só redirecionar com a url comum a todos + o nome da pasta.

Se não souber como fazer isso na prática me diga que eu posto aqui o código.

Abraços!

Link para o comentário
Compartilhar em outros sites

  • 0
as sessions só vão funcionar nas proximas paginas.. não funcionam na mesma que foram criadas

Isso ocorre com os cookies (por motivos óbvios), mas com sessões não...

<?php
session_start();

$teste = 'alguma coisa';

$_SESSION['x'] = $teste;

print_r($_SESSION);

?>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...