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

Fazer Página Inicial Dinâmica


viper33

Pergunta

Tenho a seguinte página inicial abaixo. Essa página precisa ser dinâmica, ou seja, quando o usuário fizer o login, aparecerá o menu da página para cadastrar cliente, cidade e etc, controles e relatórios.

<?php

include "conexao.php";

session_start();

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Untitled Document</title>

<style type="text/css">

<!--

</style>

&lt;script src="includes/ice/ice.js" type="text/javascript"></script>

&lt;script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>

<link href="SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" />

<style type="text/css">

<!--

</style>

</head>

<body>

<center>

<div id="tudo">

<div id="topo"><img src="img/Topo.JPG" width="776" height="96" alt="topo" /></div><!--topo-->

<div id="menu">

<?php

if (isset($_SESSION["logado"])) //verifica se está setado, se existe

{

?>

<ul id=MenuBar1" class="MenuBarHorizontal">

<li><a class="MenuBarItemSubmenu" href="#">Cadastrar</a>

<ul>

<li><a href="#">Bairro</a></li>

<li><a href="#">Cidade</a></li>

<li><a href="#">Cliente</a></li>

<li><a href="#">Concorrente</a></li>

<li><a href="#">Consulta</a></li>

<li><a href="#">Motivo de Cancelamento</a></li>

<li><a href="#">Ramo de Atividade</a></li>

<li><a href="#">Rua</a></li>

<li><a href="#">Terminal</a></li>

<li><a href="#">Tipo de Sistema</a></li>

<li><a href="#">Usuário</a></li>

<li><a href="#">Vendedor</a></li>

</ul>

</li>

<li><a class="MenuBarItemSubmenu" href="#">Controle</a>

<ul>

<li><a href="#">Contrato</a></li>

<li><a href="#">Procuração</a></li>

<li><a href="#">Cancelamento de Contrato</a></li>

</ul>

</li>

<li><a class="MenuBarItemSubmenu" href="#">Relatórios</a>

<ul>

<li><a href="#">Clientes Ativos</a></li>

<li><a href="#">Clientes Inativos</a></li>

<li><a href="#">Quantidade de Vendas P/ Período</a></li>

<li><a href="#">Relação de Clientes e Motivos de Cancelamento</a></li>

<li><a href="#">Total de Clientes P/ Atividade</a></li>

<li><a href="#">Relação de Terminais</a></li>

</ul>

</li>

</ul>

<?PHP

}

else

{

?>

</div><!--menu-->

<div id="centro">

<table width="45%" align="center" border="0" cellspacing="0" cellpadding="0">

<tr>

<td><h3 align="center"> </h3></td>

<td><h4>CONTROLE DE ACESSO</h4></td>

</tr>

<tr>

<td width="17%"><img src="img/Cadeado.png" width="108" height="112" alt="cadeado" /></td>

<td width="83%"> <form method="post" action="login.php">

<p>Login: <input type="text" name="login" /></p>

<p>Senha: <input type="password" name="senha" /></p>

<input type="submit" value="Enviar" />

<input name="Reset" type="reset" value="Cancelar" /></p>

</form></td>

</tr>

</table>

</div><!--centro-->

<?PHP

}

?>

</div><!--tudo-->

<div id="rodape">© MOS</div><!--rodape-->

</center>

&lt;script type="text/javascript">

<!--

var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgDown:"SpryAssets/SpryMenuBarDownHover.gif", imgRight:"SpryAssets/SpryMenuBarRightHover.gif"});

//-->

</script>

</body>

</html>

Código do formulário para o qual o formulário de login direciona:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Logar</title>

</head>

<body>

<?

$login = @$_POST["login];

$senha = @$_POST["senha"];

include "conexao.php";

$resultado = mysql_query("SELECT * FROM tbusu WHERE login=$login'");

$vericheck=mysql_fetch_array($resultado);

if ($vericheck["login]==$login && $vericheck["senha"]==$senha)

{

session_start();

$_SESSION["logado"]=$vericheck['cdusu'];

header("location:./index.php");

}

else

{

header("location:./?id=invalido");

}

?>

</body>

</html>

mensagem de erro:

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\SICC\login.php:9) in C:\xampp\htdocs\SICC\login.php on line 24

Código da página que chamei de "inválido":

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<title>Usuário ou senha inválidos</title>

</head>

<body>

<table border="1" width="50%" bordercolor="#0066CC" bgcolor="#C0C0C0">

<tr>

<td><p align =center>Usuário ou senha inválidos!</p>

<p align="center"><a href="./?id=index">Ir para página inicial.</a></p></td>

</tr>

</table>

</body>

</html>

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Esse é um dos erros mais comuns, se tivesse buscado no google acharia a resposta fácil...

Enfim, após enviar algo pro navegador você não pode usar mais a função header... veja que antes do header("location.... você envia várias coisas para serem exibidas no navegador... isso não pode acontecer.

Link para o comentário
Compartilhar em outros sites

  • 0
Esse é um dos erros mais comuns, se tivesse buscado no google acharia a resposta fácil...

Enfim, após enviar algo pro navegador você não pode usar mais a função header... veja que antes do header("location.... você envia várias coisas para serem exibidas no navegador... isso não pode acontecer.

Ok. Pesquisei no google e descobri que além de não poder usar a mesma página eu poderia usar a função ob_start(); no início da página que recebe os dados do formulário que resolveria o problema. Resolveu em parte, porque a mensagem de erro não aparece mais. Por outro lado a partir do momento que efetuei o login, era para aparecer o menu de opções para o usuário cadastrar e etc. Mas o que ocorre é que aparece novamente o login.

Imaginem uma tabela com uma figura no topo embaixo dela um menu, mais embaixo (no centro da página) o login e por fim o rodapé. O que eu preciso é que quando o usuário fizer o login, essa tela de login desapareça e surja o menu. Quando o usuário clicar em cadastrar e etc, o form de cadastro irá aparecer no local onde ficava o login. Alguém pode me ajudar? Estou quebrando a cabeça há dias.

Viper33

Link para o comentário
Compartilhar em outros sites

  • 0

E sabe porque resolveu em parte? Porque ob_start (e deveria usar o ob_end_flush no final) é pura gambiarra... a sua lógica está errada, mude ela para só enviar o cabeçalho no momento certo... ou se não quiser mudar a lógica simplesmente use javascript para redirecionar...

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
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...