frnd Postado Setembro 19, 2007 Denunciar Share Postado Setembro 19, 2007 (editado) como faço para quando o usuário logar no sistema, a sessão ficar habilitada com seu ID do usuario??[]s Editado Setembro 19, 2007 por frnd Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gutto Postado Setembro 19, 2007 Denunciar Share Postado Setembro 19, 2007 (editado) Pega o valor da id no BD e cria uma sessão com o valor.$_SESSION["idUser"] = $dados["id"]; Editado Setembro 19, 2007 por Gutto Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Setembro 19, 2007 Denunciar Share Postado Setembro 19, 2007 Na hora que você fizer o SELECT para confirmar o login do usuário, pega o ID, ai é só salvar...$_SESSION['id'] = mysql_result.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 frnd Postado Setembro 19, 2007 Autor Denunciar Share Postado Setembro 19, 2007 mas se eu colocar<?.....session_start();$_SESSION['id'] = $linha['id'];?>não é a mesma coisa?se eu passo um session_start(), dá essa mensagemWarning: 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 0Agora funcionou! Só retirei o while e tudo OK! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gutto Postado Setembro 19, 2007 Denunciar Share Postado Setembro 19, 2007 posta seu script aí. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 frnd Postado Setembro 19, 2007 Autor Denunciar Share Postado Setembro 19, 2007 Seguinte,eu estou passando, em outras páginas, a sessão do usuário assim <? $_SESSION["id"] ?> mas não existe nenhum valor! porque será?[]s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Setembro 19, 2007 Denunciar Share Postado Setembro 19, 2007 Só isso:<? $_SESSION["id"] ?>Não retorna nada mesmo...<?phpsession_start();echo $_SESSION["id"] ;?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 frnd Postado Setembro 20, 2007 Autor Denunciar Share Postado Setembro 20, 2007 Seguinte,Em uma outra página eu chamo o <? session_start(); ?> <? $_SESSION["id"]; ?> e passo a seguinte SQL: $sql = "SELECT nome from administracao LEFT JOIN administrador ON (administrador.id = administracao.id) WHERE administrador.id = '" .$_SESSION["id"]. "' "; //echo "$sql"; mysql_query($sql); $linha = mysql_fetch_array($sql); $nome = $linha['nome'];Eu dei um echo na "$sql" e passa um SELECT normal, a sessão vai no sql mas dá esse erro:Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Setembro 20, 2007 Denunciar Share Postado Setembro 20, 2007 Se a sessão está sendo passada é porque existe algum erro na construção da query...Mude isso:mysql_query($sql);Para isso:mysql_query($sql) OR DIE (mysql_error());Ou (é que eu já mando o mysql_query direto junto com a query...): $exec = mysql_query($sql); $linha = mysql_fetch_array($exec); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 frnd Postado Setembro 20, 2007 Autor Denunciar Share Postado Setembro 20, 2007 Funcionou....mas tenho uma outra dúvida...eu criei uma função que fecha a sessão e vai p/ index<? function saida() session_destroy(); Location("../index.php");?>coloquei ela num href para Sair do sistema, mas não funciona. Está certo?[]s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Setembro 20, 2007 Denunciar Share Postado Setembro 20, 2007 O correto é: Header("Location.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 frnd Postado Setembro 20, 2007 Autor Denunciar Share Postado Setembro 20, 2007 passei..<? function logout(){ session_destroy(); } ?> no href eu coloquei assim <a href="../index.php" onclick="logout()">Sair</a></font></b>quando eu clico vai certinho, mas a sessão, é finalizada??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Setembro 20, 2007 Denunciar Share Postado Setembro 20, 2007 Meu Deus.... PHP roda do lado do SERVIDOR, você não pode chamar uma função PHP em um link como se fosse javascript! (pode até adaptar para usar AJAX, mas ai é basicamente JS)... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 frnd Postado Setembro 20, 2007 Autor Denunciar Share Postado Setembro 20, 2007 tá bom mas não se irrite!teria como eu passar um <? session_destroy ?> num href? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Setembro 20, 2007 Denunciar Share Postado Setembro 20, 2007 Não é questão de irritar, é questão de pensar um pouco, se a linguagem é server side, logo roda do lado do servidor, como vou fazer ela funcinar no lado do cliente!? Difícil né... é óbvio que não dá pra ter um link com um comando PHP... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 frnd Postado Setembro 20, 2007 Autor Denunciar Share Postado Setembro 20, 2007 (editado) eu fiz desta forma e funcionou.. está correto?pagina session_close.php<? session_start(); session_destroy(); header("Location: ../index.php"); ?> Editado Setembro 20, 2007 por frnd Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Setembro 20, 2007 Denunciar Share Postado Setembro 20, 2007 Sim. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 frnd Postado Setembro 20, 2007 Autor Denunciar Share Postado Setembro 20, 2007 Seguinte,Tenho uma segunda página que recebe o nível lá da primeira página...mas quando eu logo a partir do segundo nivel ele não mostra o nome, o select está certo, mas o $_['SESSION']; só passa no primeiro select, no resto não..<? if ($nivel == "1"){ require_once("../biblioteca/connectmysql.php"); $sql = "SELECT nome from administracao LEFT JOIN administrador ON (administrador.id = administracao.id) WHERE administrador.id = '" .$_SESSION["id"]. "' "; $exec = mysql_query($sql); $linha = mysql_fetch_array($exec); $nome = $linha['nome']; echo "<div class=\"TextoNoticiaCxAviso\">"; echo "Olá Admin <b>$nome</b> "; echo "</div>"; require_once("../biblioteca/closemysql.php"); } else if ($nivel == "2") { require_once("../biblioteca/connectmysql.php"); $sql = "SELECT nome from administracao LEFT JOIN coordenador ON (coordenador.id = administracao.id) WHERE coordenador.id = '".$_SESSION["id"]. "'"; $exec = mysql_query($sql); $linha = mysql_fetch_array($exec); $nome = $linha['nome']; echo "<div class=\"TextoNoticiaCxAviso\">"; echo "Olá Coordenador <b>$nome</b> "; require_once("../biblioteca/closemysql.php"); echo "</div>"; } else if ($nivel == "3") { require_once("../biblioteca/connectmysql.php"); $sql = "select fantasia from empresa, interno where interno.id = empresa.id AND empresa.id='" .$_SESSION['id']. "'"; $exec = mysql_query($sql); $linha = mysql_fetch_array($exec); $fantasia = $linha['fantasia']; echo "<div class=\"TextoNoticiaCxAviso\">"; echo "Olá Empresa $fantasia"; echo "</div>"; require_once("../biblioteca/closemysql.php"); } else if ($nivel == "4"){ require_once("../biblioteca/connectmysql.php"); $sql = "select nome from egresso, interno where interno.id = egresso.id AND egresso.id='" .$_SESSION['id']. "'"; $exec = mysql_query($sql); $linha = mysql_fetch_array($exec); $nome = $linha['nome']; echo "<div class=\"TextoNoticiaCxAviso\">"; echo "Olá Egresso $nome"; echo "</div>"; require_once("../biblioteca/closemysql.php"); } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
frnd
como faço para quando o usuário logar no sistema, a sessão ficar habilitada com seu ID do usuario??
[]s
Editado por frndLink para o comentário
Compartilhar em outros sites
17 respostass a esta questão
Posts Recomendados
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.