Baldit Posted February 20, 2012 Report Share Posted February 20, 2012 Olá, tenho um sistema de login que tem o formulário que faz POST para o arquivo validar.phpEis 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.phpPois 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 sitewww.meusite.com.br/index (LOGIN)www.meusite.com.br/joao (sistema do joao)www.meusite.com.br/pedro (sistema do pedro)Podem me ajudar? Quote Link to comment Share on other sites More sharing options...
0 ESerra Posted February 20, 2012 Report Share Posted February 20, 2012 O nome disto é URL amigável...Movendo Tutoriais & Dicas - PHP » PHP. Quote Link to comment Share on other sites More sharing options...
0 Baldit Posted February 20, 2012 Author Report Share Posted February 20, 2012 O nome disto é URL amigável...Movendo Tutoriais & Dicas - PHP » PHP.Amigo, eu sei o que é URL amigavel.. você que não entendeu o que eu quero explicar.. :P Quote Link to comment Share on other sites More sharing options...
0 ESerra Posted February 20, 2012 Report Share Posted February 20, 2012 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. Quote Link to comment Share on other sites More sharing options...
0 Baldit Posted February 21, 2012 Author Report Share Posted February 21, 2012 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 :PAquele 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çãoUsuário: CasaderacaoSenha: 1234Manda para a pasta: www.meusite.com.br/casaderacaoCliente 2:AçougueUsuário: acougueSenha: 1234567Manda para a pasta: www.meusite.com.br/acougueEntendeu? Quote Link to comment Share on other sites More sharing options...
0 ESerra Posted February 21, 2012 Report Share Posted February 21, 2012 Além do já falado, pesquise por elseif. Quote Link to comment Share on other sites More sharing options...
0 thb_matrix Posted February 21, 2012 Report Share Posted February 21, 2012 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. Quote Link to comment Share on other sites More sharing options...
0 jissa Posted February 24, 2012 Report Share Posted February 24, 2012 (edited) as sessions só vão funcionar nas proximas paginas.. não funcionam na mesma que foram criadassendo o login o mesmo nome da pasta pode fazer algo como:<?phpsession_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");}?> Edited February 24, 2012 by jissa Quote Link to comment Share on other sites More sharing options...
0 Diogo Rebello Posted February 24, 2012 Report Share Posted February 24, 2012 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! Quote Link to comment Share on other sites More sharing options...
0 ESerra Posted February 24, 2012 Report Share Posted February 24, 2012 as sessions só vão funcionar nas proximas paginas.. não funcionam na mesma que foram criadasIsso 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); ?> Quote Link to comment Share on other sites More sharing options...
0 Diogo Rebello Posted February 25, 2012 Report Share Posted February 25, 2012 Edgar, no caso ele estaria buscando o nome da pasta no banco de dados, então não precisaria da variável da sessão logo na primeira página, e escrevi sessão pois além de achar mas seguro vi que ele está trabalhando com ela. Quote Link to comment Share on other sites More sharing options...
Question
Baldit
Olá, tenho um sistema de login que tem o formulário que faz POST para o arquivo validar.php
Eis o arquivo validar.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 to comment
Share on other sites
10 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.