Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

alissong

Pegar Usuário da Session

Recommended Posts

Pessoal,Estou tendo criar um sistema que tem um login e senha. Veja o código:

// obtém os valores digitados$login = $_POST["login"];$senha = $_POST["senha"];// Conexão com o banco de badosinclude("conexao.php");$result = mysql_query("select * from professores where login = '$login'");$recset=mysql_num_rows($result);if($recset==0) // testa se a consulta retornou algum registro{echo "<html><body>";echo "<hr>";echo "<p align=\"center\">Usuários não encontrado !</p>";echo "<p align=\"center\"><a href=\"index.php\">Voltar</a></p>";echo "<hr>";echo "</body></html>";}else{if ($senha !=mysql_result($result,0,"senha")) // confere senha{echo "<html><body>";echo "<hr>";echo "<p align=\"center\">A senha está incorreta !</p>";echo "<p align=\"center\"><a href=\"index.php\">Voltar</a></p>";echo "<hr>";echo "</body></html>";}else // usuário e senha corretos. vamos criar os cookies{ session_start(); $_SESSION["cod_professor"] = $recset["codigo"]; $_SESSION["login"] = $recset["login"]; header("Location: sgp.php"); exit; mysql_close($conexao);}}?>

Mas quero exibir os dados do professor logando. Veja o código:

<?phpsession_start();$login = $_SESSION["login"]; #Arquivo de funções ************************************* include("conexao.php");#********************************************************$sql ="select * from professores WHERE login ='$login'"; $resultado = mysql_query($sql); $linha = mysql_fetch_array($resultado);$nome = $linha["nome"];$data_nascimento = $linha["data_nascimento"];$complemento = $linha["complemento"];$bairro = $linha["bairro"];$cidade = $linha["cidade"];$estado = $linha["estado"];$cidade = $linha["cidade"];$telefone = $linha["telefone"];$celular = $linha["celular"];$senha = $linha["senha"];?><html><head><title>SGP - Professores</title><link href="estilo.css" rel="stylesheet" type="text/css"></head><body bgcolor="#FFFFFF"><form name="form1" method="post" action="/escolas/professores/dados.php"> <table width="300" border="1" align="center" cellpadding="2" cellspacing="0" bordercolor="#EBE9ED"> <tr> <td width="110">Professor:</td> <td width="190"><input name="nome" type="text" value="<?=$linha["nome"]?>" size="35"></td> </tr> <tr> <td width="110">Data Nascemento:</td> <td width="190"><input name="data_nascimento" type="text" value="<?=$linha["data_nascimento"]?>" size="35"></td> </tr> <tr> <td width="110">Endereço:</td> <td width="190"><input name="endereco" type="text" value="<?=$linha["endereco"]?>" size="35"></td> </tr> <tr> <td width="110">Complemento:</td> <td width="190"><input name="complemento" type="text" value="<?=$linha["complemento"]?>" size="35"></td> </tr> <tr> <td width="110">Bairro:</td> <td width="190"><input name="bairro" type="text" value="<?=$linha["bairro"]?>" size="35"></td> </tr> <tr> <td width="110">Cidade:</td> <td width="190"><input name="cidade" type="text" value="<?=$linha["cidade"]?>" size="35"></td> </tr> <tr> <td width="110">Estado:</td> <td width="190"><input name="estado" type="text" value="<?=$linha["estado"]?>" size="35"></td> </tr> <tr> <td width="110">Telefone:</td> <td width="190"><input name="telefone" type="text" value="<?=$linha["telefone"]?>" size="35"></td> </tr> <tr> <td width="110">Celular:</td> <td width="190"><input name="celular" type="text" value="<?=$linha["celular"]?>" size="35"></td> </tr> <tr> <td width="110">Senha:</td> <td width="190"><input name="senha" type="password" value="<?=$linha["senha"]?>" size="35"></td> </tr> <tr> <td width="110">Confirma Senha:</td> <td width="190"><input name="confirma" type="password" size="35"></td> </tr> <tr align="right"> <td colspan="2"><input type="hidden" name="id" value="7"> <input type="hidden" name="Alterar" value="ok"> <input type="submit" name="Submit" value="Alterar"></td> </tr></table></form></body></html>

Portanto, clico no link o formulário não exibe nada.Alguem pode me ajudar nesse código.Um abraço.Alissong

Compartilhar este post


Link para o post
Compartilhar em outros sites

Igo,Valeu Cara, Agora deu certo.Mas está exibindo esse erro estranho:A versão do PHP 5.2.3

Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0

Um abraço.Alissong

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acrescente essas linhas ao seu php.ini

session.bug_compat_42 = 1session.bug_compat_warn = 0
http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

GuttoSp e The Cod,Acrescentei a linha que vocês pediram, bom resolveu o problema, mas para exibir os formulários no quadro especifico preciso habilitar essa linha: register_globals = OnMas veja a tradução do próprio php.ini sobre essa linha:

Você deveria fazer seu melhor escrever seus manuscritos de forma que eles não requerem register_globals para ser em; Usando variáveis de forma como globals podem conduzir facilmente para possíveis problemas de segurança, se o código não é muito bem pensado.

Veja o código que coloco no formulário principal:

<td width="585" valign="top"><p align="center"><b>Bem-vindo Professor(a)</b></p><?phpif (file_exists($menu.'.php')){include ($menu.'.php');}else {include('principal.php');}?></td>

Alguem sabe como acertar isso ou não tem jeito.Um abraço.Alissong

Compartilhar este post


Link para o post
Compartilhar em outros sites

GuttoSp,Não exibi nem um erro, mas os formulários não carrega. Veja o código que uso na página principal para chamar as outras páginas:

<td width="165" valign="top" bgcolor="#EBE9ED"><p><a href="?menu=index">Página Inicial</a></p><p><a href="?menu=cad_professor">Dados cadastrais</a></p><p><a href="?menu=cad_notas">Notas</a></p><p><a href="?menu=cad_frequencia">Frequências</a></p><p><a href="?menu=cad_mensagem">Mensagens</a></p><p><a href="deslogar.php">Sair</a></p><br></td>

Um abraço.Alissong

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloca esse code logo no início da página, se tiver session_start(), coloca logo depois, se não tiver, coloca na primeira linha:

PHP

 

Ele vai te mostrar o erro que está ocorrendo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

GuttoSP,Habilitei globals_register = off e fiz as alteração que você pediu. Bom, agora exibe esse erro:

Notice: Undefined variable: menu in C:\Arquivos de programas\Apache Group\Apache\htdocs\mestrado\professores\SGP.PHP on line 43

Um abraço.alissong

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa mensagem está informando que existe uma variável indefinida, (deve ser $menu = $_GET["menu"]; )

 

Aqui você poderá ver uma explicação sobre (em francês)

http://frederic.bouchery.free.fr/?2004/10/...riable-Ou-Index

 

Para terminar esse tipo de mensagem, basta tirar o código que te passei. O correto seria que você inicializasse as variáveis, para depois usá-las. Como isso não ocorreu, exibe essa mensagem.

 

Posta seu script atual e explica o que você quer fazer. Se estiver usando includes anexe ou cole o code dos arquivos para serem analizados, se estiver usando banco de dados poste a estrutura da sua tabela e o nome do BD.

Compartilhar este post


Link para o post
Compartilhar em outros sites

GuttoSP,

 

O código completo ficou assim:

1- Pagina principal

<?php

session_start();

$login = $_SESSION["login"];

 

?>

 

<html>

<head>

<title>SGP - PROFESSORES</title>

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

</head>

<body bgcolor="#FFFFFF">

<table width="750" border="0" align="center" cellpadding="4" cellspacing="0" bordercolor="#EBE9ED">

<tr>

<td colspan="2" valign="top" bgcolor="#EBE9ED">

<table width="100%" border="0" cellspacing="0" cellpadding="2">

<tr>

<td width="65%">

<? include ("cumprimento.php");?> <? echo "<b>-$login</b> - ";?></td>

<td align="right">

<b>Data:</b>

<?include ("data.php");?></td>

</tr>

</table>

</td>

</tr>

<tr>

<td width="165" valign="top" bgcolor="#EBE9ED">

<p><a href="?menu=index">Página Inicial</a></p>

<p><a href="?menu=cad_professor">Dados cadastrais</a></p>

<p><a href="?menu=cad_notas">Notas</a></p>

<p><a href="?menu=cad_frequencia">Frequências</a></p>

<p><a href="?menu=cad_mensagem">Mensagens</a></p>

<p><a href="deslogar.php">Sair</a></p>

<br>

</td>

<td width="585" valign="top">

<p align="center"><b>Bem-vindo Professor(a)</b></p>

<?php

$menu = $_GET["menu"];

if (file_exists($menu.'.php')){

include ($menu.'.php');

}

else {

include('principal.php');

}

?>

</td>

<tr align="right" bgcolor="#EBE9ED">

<td colspan="2"</td>

</tr>

</body>

</html>

2- Pagina secundário - Cadastro de Frequencia

<html>

<head>

<title>Frequencia</title>

<script language="javascript">

function valida_frequencia ()

{

indice = freq.cod_aluno.selectedIndex;

if (freq.cod_aluno.options[indice].text == "OPÇÕES"){

alert("O campo ALUNO deve ser escolhido!");

freq.cod_aluno.focus();

return false;

}

indice = freq.cod_disciplina.selectedIndex;

if (freq.cod_disciplina.options[indice].text == "OPÇÕES"){

alert("O campo DLISCIPLINA deve ser escolhido!");

freq.cod_disciplina.focus();

return false;

}

if (freq.quantidade.value=="") {

alert ("O campo QUANTIDADE deve ser digitado!");

freq.quantidade.focus();

return false;

}

if (isNaN(freq.quantidade.value)){

alert("O campo QUANTIDADE deve conter apenas números!");

freq.quantidade.value = "";

freq.quantidade.focus();

return false;

}

if (freq.lancamento.value == ""){

alert("O campo LANÇAMENTO deve ser preenchido!");

freq.lancamento.focus();

return false;

}

barras = freq.lancamento.value.split("/");

if (barras.length == 3)

{

dia = barras[0];

mes = barras[1];

ano = barras[2];

resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (dia.length == 2) &&

(!isNaN(mes) && (mes > 0) && (mes < 13)) && (mes.length == 2) &&

(!isNaN(ano) && (ano.length == 4) && (ano >= 1900));

if (!resultado)

{

alert("Formato de DATA inválido!");

freq.lancamento.value = "";

freq.lancamento.focus();

return false;

}

}

else

{

alert("Formato de DATA inválido! Faltou alguma \"/ \"");

freq.lancamento.value = "";

freq.lancamento.focus();

return false;

}

return true;

}

</script>

</head>

<body>

<?php

 

// Conectar com banco mysql

include("conexao.php");

$aluno = mysql_query("select * from alunos ORDER BY nome");

$menu1 = mysql_fetch_assoc($aluno);

$disciplina = mysql_query("select * from disciplinas order by nome");

$menu2 = mysql_fetch_assoc($disciplina);

 

?>

<table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<td background="imagens/bg_04.jpg"><div align="center"><b><font color="#FFFFFF" face="Times New Roman, Times, serif">CADASTRO DAS COMPRAS</font></b></div></td>

</tr>

<tr>

<td height="253"><form name="freq" method="post" action="?menu=inserir_frequencia" onSubmit="return valida_frequencia()">

<br><table width="100%" border="0" cellspacing="0" cellpadding="2">

<tr>

<td width="18%"><font size="2" face="Arial, Helvetica, sans-serif"><b>Aluno..::</b></font></td>

<td width="82%"><select name="cod_aluno" id="cod_aluno">

<option value="0">OPÇÕES</option>

<?php

do {

?>

<option value="<?php echo $menu1['cod_aluno']?>"><?php echo $menu1['nome']?></option>

<?php

} while ($menu1 = mysql_fetch_assoc($aluno));

mysql_free_result($aluno);

?>

</select>

<img src="imagens/required.gif" width="10" height="8"></td>

</tr>

<tr>

<td><font size="2" face="Arial, Helvetica, sans-serif"><b>Disciplina..::</b></font></td>

<td><select name="cod_disciplina" id="select">

<option value="0">OPÇÕES</option>

<?php

do {

?>

<option value="<?php echo $menu2['cod_disciplina']?>"><?php echo $menu2['nome']?></option>

<?php

} while ($menu2 = mysql_fetch_assoc($disciplina));

mysql_free_result($disciplina);

?>

</select>

<img src="imagens/required.gif" width="10" height="8"></td>

</tr>

<tr>

<td><font size="2" face="Arial, Helvetica, sans-serif"><b>Quantidade..::</b></font></td>

<td><input name="quantidade" type="text" id="quantidade" size="10" maxlength="10">

<img src="imagens/required.gif" width="10" height="8"></td>

</tr>

<tr>

<td><font size="2" face="Arial, Helvetica, sans-serif"><b>Lançamento..::</b></font></td>

<td>

<input name="lancamento" type="text" size="15" maxlength="10"

onKeyPress="return Formatar_Campo(document.freq,'lancamento','99/99/9999',event)">

<font color="#FF0000"><b>dd/mm/aaaa <img src="imagens/required.gif" width="10" height="8"></b></font></td>

</tr>

<tr>

<td><font size="2" face="Arial, Helvetica, sans-serif"><b>Responsável..::</b></font></td>

<td><input name="responsavel" type="text" id="responsavel" size="10" value =" <? echo "$login";?>" maxlength="10">

<img src="imagens/required.gif" width="10" height="8"></td>

</tr>

<tr>

<td> </td>

<td> </td>

</tr>

<tr>

<td colspan="2"><input name="enviar" type="submit" id="enviar2" value=" Enviar ">

<input name="limpar" type="reset" id="limpar2" value=" LImpar ">

</td>

</tr>

</table>

</form></td>

</tr>

</table>

</body>

</html>

Esta funcionando, agora só falta melhor o design.

 

Um abraço.

 

Alissong

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.