Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, estou fazendo um sistema de suporte, e preciso de fazer o sistema de login, se usuario for = admin redireciona para pagina = admin, se não redireciona para pagina = cliente, só que tentei usar o header location, mas ele só funciona com localhost, teria outra forma para mim redirecionar para a página automático?
Estou usando assim:
if($nivel == 'admin'){
header("Location: admin.php");
}elseif($nivel == 'cliente'){
header("Location: cliente.php");
}
}você está fazendo impressão de tela antes do header() ?
Aparece algum erro ?
Qual ?
Sim, esta acontecendo um erro na linha 23:
Warning: Cannot modify header information - headers already sent by (output started at /home/rs88979/public_html/help-desk/login.php:3) in /home/rs88979/public_html/help-desk/login.php on line 23
Meu código é este aqui:
<?php include_once('config.php');?>
<?php if(isset($_POST['logar'])){
$cadUserEmail = $_POST['email'];
$cadUserSenha = md5($_POST['senha']);
$verifica = mysql_query("SELECT * FROM users WHERE user_mail = '$cadUserEmail' AND user_pass = '$cadUserSenha'");
$count = mysql_num_rows($verifica);
if($count <= '0'){
echo 'Erro ao logar - E-mail ou senha não conferem';
}else{
while($res = mysql_fetch_array($verifica)){
$userId = $res['user_id'];
$email = $res['user_mail'];
$senha = $res['user_pass'];
$nivel = $res['user_nivel'];
$_SESSION['log_id'] = $userId;
$_SESSION['log_mail'] = $email;
$_SESSION['log_senha'] = $senha;
$_SESSION['log_nivel'] = $nivel;
}
if($nivel == 'admin'){
header("Location: admin.php");
}elseif($nivel == 'cliente'){
header("Location: cliente.php");
}
}
}?>
<?php if(isset($_GET['logoff'])){
unset($_SESSION['log_id']);
unset($_SESSION['log_mail']);
unset($_SESSION['log_senha']);
unset($_SESSION['log_nivel']);
}?>
<form name="login" action="" method="post">
<input type="text" name="email" class="textfield-email" />
<input type="password" name="senha" class="textfield-senha" />
<input type="submit" name="logar" value="logar" class="btn" />
</form>Esse código deve ficar antes de qualquer html,ele está antes da tag <html> ?
>
Esse código deve ficar antes de qualquer html,ele está antes da tag <html> ?
Sim, pode reparar ai que eu copiei meu código completo e postei aqui
Estranho hein, tem um tutorial do thiago belem pode servir pra você, olhei rapido, mas parece que seu código tá ok.
http://blog.thiagobelem.net/como-criar-um-sistema-de-login-com-niveis-de-permissao/
psé, ele fez o header do mesmo jeito que eu fiz, até tentei colocar o exit; tbm não deu
Entre um código e outro possui uma impressão de tela, mesmo não tendo nada ali, conta como uma linha em branco
<?php include_once('config.php');?>
<?php if(isset($_POST['logar'])){
Deixe assim
<?php
include_once('config.php');
if(isset($_POST['logar'])){
Agora vamos ver no que vai dar :P
>
Entre um código e outro possui uma impressão de tela, mesmo não tendo nada ali, conta como uma linha em branco
<?php include_once('config.php');?>
<?php if(isset($_POST['logar'])){
Deixe assim
<?php
include_once('config.php');
if(isset($_POST['logar'])){
Agora vamos ver no que vai dar :P
Kratos, muuuuuuito obrigado cara, funcionou perfeitamente, após dias de dores de cabeça, finalmente.
muito obrigado mesmo.
:lol: :lol: :lol:
>
Entre um código e outro possui uma impressão de tela, mesmo não tendo nada ali, conta como uma linha em branco
<?php include_once('config.php');?>
<?php if(isset($_POST['logar'])){
Dessa eu não sabia!!
:clap:
Aparece algum erro?
Se você fizer assim:
#index.php
funciona.
Mas se você inserir alguma coisa antes do header, não dá certo.
#index.php
#Warning: Cannot modify header information - headers already sent by...