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

Dados Da Autenticação


Guest Josias

Pergunta

Gente, tenho um banco de dados com os seguintes campos: id, nome, sobrenome, login, senha

Quando o visitante faz o login, aparece o login e um link de logout. Quero saber como eu faço para que, em vez de aparecer o login, apareça o nome e o sobrenome do cidadão. Vejam os códigos que peguei prontos e deram certo.

<?php 
/* logar.php */ 
include("config.php"); 
session_start(); 

// pegando dados do formulario 
$usuario = str_replace("'","",$_POST["usuario"]); 
$senha = $_POST["senha"]; 

// verificado login no banco de dados 
dbcon(); 

$query = mysql_query("select * from usuarios where usuario = '$usuario' and senha = '$senha'");
if (!$query) { 
    die("Ocorreu um erro técnico ao tentar acessar o banco de dados:" . mysql_error()); 
} 

// verificando se encontrou registros do login e senha no banco de dados. 
if (mysql_num_rows($query) > 0) {  
    $dados = mysql_fetch_array($query); // pegando dados do banco. 
    $usuario = $dados["usuario"];
    $nome = $dados["nome"]; 
    $chave = "1a2cf8gk68gj67gf784kh69fo6"; // chave secreca 
    $ip = $_SERVER["REMOTE_ADR"]; // ip do usuario 
    $hora = time(); // pegado horario atual. 
    $chave = md5($usuario . $chave . $ip . $hora); 
    // registrando a session com um array com o codLogin, login e a chave. 
    $_SESSION['MeuLogin'] = array("id" => $codLogin,"login" => $usuario,"chave" => $chave,"hora" => $hora);  
    // redirecionando para a pagina registrada. 
    header("location: AreaRestrita.php"); 
} else {  
    // redirecionando para o formulario de login com o erro. 
    header("location: login.php?erro=Usuário e senha não correspondem.");  
} 
?>
<?php 
/* restritos.php */  
session_start(); 

if (isset($_SESSION['MeuLogin'])) {  
    $login = $_SESSION['MeuLogin']['login']; 
    $hora = $_SESSION['MeuLogin']['hora'];    

    $chave = "1a2cf8gk68gj67gf784kh69fo6"; // chave secreca 
    $ip = $_SESSION['REMOTE_ADDR']; // pegando ip do usuario 
    if ($_SESSION['MeuLogin']['chave'] != md5($login . $chave . $ip . $hora)) {  
        // verificado se a chave é válida 
        header("Location: login.php?erro=$login Login invalido"); 
    } 

    // atualizando a chave com novo horario de acesso 
    $hora = time(); 
    $chave = md5($login . $chave . $ip . $hora . $nome); 
    // registrando os novos dados na session. 
    $_SESSION['MeuLogin'] = array("id" => $id,"login" => $login,"chave" => $chave,"hora" => $hora);  
} else { 
    header("location: login.php"); 
} 
?>
<?php 
/* AreaRestrita.php */ 
require("restritos.php");  
?> 

<p><font face="verdana" size="2"><? echo $login; ?> | <a href="logout.php">Sair</a></font></p>

Onde eu devo mudar o código, além do arquivo AreaRestrita.php? Afinal, se eu substituir $login por $nome neste arquivo, ele ficará em branco na visualização.

Agradeço quem me ajudar.

Link para o comentário
Compartilhar em outros sites

24 respostass a esta questão

Posts Recomendados

  • 0

Cara, valeu pela ajuda, mas acabei de conseguir.

Minha outra dúvida é:

Como eu faço para colocar em um menu suspenso dados de uma tabela do banco de dados?

Assim: Um usuário registrado deve enviar mensagem para um segundo usuário.

No formulário ele deverá selecionar este segundo em um menu, no qual os campos são atualizados toda vez que se tem um novo registro. Não sei se deu pra entender.

Link para o comentário
Compartilhar em outros sites

  • 0

É que me fugiu o nome daquele menu onde, quando um pessoa vai fazer um cadastro, por exemplo, aparece no formulário um menu com uma relação de estados que ele deve escolher. Lógico que ele é pré-configurado. O que eu quero é que tais "estados" sejam puxados de uma tabela em um banco de dados para este formulário.

Não sei se fui claro. Qualquer dúvida eu coloco um exemplo detalhado do que eu quero.

Link para o comentário
Compartilhar em outros sites

  • 0

menu drop down :D

usa select dentro do menu que funciona se for isso que eu entendi

<select name="cdusuario" id="cdusuario">

<?

$sql = mysql_query("SELECT * from tbadmin Where nivel = '2'");

while($rs = mysql_fetch_array($sql)){

echo "<option value=\"".$rs['cdusuario']."\">".$rs['nome']."</option>";}

?>

</select>

Link para o comentário
Compartilhar em outros sites

  • 0

seria assim??

<select name="estados" id="estados">
  include "conexao.php";
  $categoria = mysql_query("SELECT * FROM estado", $bd);
  while($row = mysql_fetch_array($categoria))
  {
  echo "<option value=$row[nome_estado]>$row[nome_estado]</option>";
}

:huh:

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

menu.jpgA figura que representa um campo de um formulário, e os nomes que estão nele fazem parte de uma tabela.

É isso que eu quero que aconteça, que as informações contidas em uma certa tabela do banco de dados sejam jogadas para a caixa suspensa do meu formulário.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante
<select name="estados" id="estados">

include "conexao.php";

$categoria = mysql_query("SELECT * FROM estado", $bd);

while($row = mysql_fetch_array($categoria))

{

echo "<option value=$row[nome_estado]>$row[nome_estado]</option>";

}

Duas coisinhas: posso substituir [nome_estado] por outra coisa? O que eles significam? E eu me bato um pouquinho ainda quanto a include "conexao.php". Será que você pode colocar o código para eu substiruí-lo? Lógico que o resto da conexão eu consigo fazer.

Link para o comentário
Compartilhar em outros sites

  • 0

você está usando em HTML certo?? dentro de <? ?>, bom vamos la:

<?
include "conexao.php"; 
echo "<select name=\"estados\" id=\"estados\">";
$categoria = mysql_query("SELECT * FROM estado", $bd);
while($row = mysql_fetch_array($categoria)) {
  echo "<option value=".$row[nome_estado].">".$row[nome_estado]."</option>";
}
echo "</select>";
?>

Link para o comentário
Compartilhar em outros sites

  • 0

Esqueci de especificar: 2 -> 1

Ou seja

Este SELECT tem que pegar dados de dois campos diferentes (nome e sobrenome da tabela usuários). E é lógico, eles têm que ficar no mesmo select.

Não sei se fui bem claro.

Link para o comentário
Compartilhar em outros sites

  • 0

É isso que você quer :huh: ?

<?

include "conexao.php";

echo "<select name=\"estados\" id=\"estados\">";

$categoria = mysql_query("SELECT nome, sobrenome FROM usuarios", $bd);

while($row = mysql_fetch_array($categoria)) {

echo "<option value=".$row[nome_estado].">".$row[nome_estado]."</option>";

}

echo "</select>";

?>

Isso??

Link para o comentário
Compartilhar em outros sites

  • 0

Isso. Mas ele só mostra um dos campos. Se eu coloco nome AND sobrenome dentro dos [], ele aparece só o sobrenome, se eu coloco nome, sobrenome, dá erro. O que eu devo colocar lá?

Link para o comentário
Compartilhar em outros sites

  • 0

Eu fiz de vários jeitos.

Um deles é assim:

<?

include "conexao.php";

echo "<select name=\"destinatario\" id=\"destinatario\">";

$categoria = mysql_query("SELECT nome, sobrenome FROM usuarios", $a);

while($row = mysql_fetch_array($categoria)) {

echo "<option value=".$row[nome.sobrenome].">".$row[nome.sobrenome]."</option>";

}

echo "</select>";

?>

Tentei de tudo um pouco. :unsure:

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