Jump to content
granderodeo

Como eu gravo os dados de uma SESSÃO em uma variável

Recommended Posts

Tenho o seguinte código, onde ele valida o login do usuário e pega os dados dele para serem usados futuramente

 

session_start();
include_once("config/conexao_fornec.php");

if (isset($_POST['enviar'])) {
	if (!empty($_POST['login']) || !empty($_POST['senha'])) {
		$login=$_POST['login'];
		$senha=MD5($_POST['senha']);

		$comando="SELECT *, usuarios.id_usuario as id_usuario FROM usuarios LEFT JOIN orders ON usuarios.id_usuario = orders.id_usuario WHERE usuarios.email='$login' and usuarios.senha='$senha'";
		$enviar=mysqli_query($conn, $comando);
		$resultado = mysqli_fetch_assoc($enviar);
		if ($resultado) {
		    $_SESSION['id_usuario'] = $resultado['id_usuario'];
		    $_SESSION['order_date']=$resultado['order_date'];
		    $_SESSION['order_name']=$resultado['order_name'];
		    $_SESSION['order_endereco']=$resultado['order_endereco'];
		    $_SESSION['order_numero']=$resultado['order_numero'];
		    $_SESSION['order_referencia']=$resultado['order_referencia'];
		    $_SESSION['order_id']=$resultado['order_id'];
	    	$_SESSION['login']=$resultado['login'];
	    	$_SESSION['senha']=$resultado['senha'];
			$_SESSION['email']=$resultado['email'];
			$_SESSION['nome']=$resultado['nome'];
			$_SESSION['seguranca']=$resultado['seguranca'];
		    echo "<script>window.location='../';window.alert('Login efetuado com sucesso!');</script>";
		    exit;

Tenho o seguinte código, onde ele valida o login do usuário e pega os dados dele para serem usados futuramente

 

session_start();
include_once("config/conexao_fornec.php");

if (isset($_POST['enviar'])) {
	if (!empty($_POST['login']) || !empty($_POST['senha'])) {
		$login=$_POST['login'];
		$senha=MD5($_POST['senha']);

		$comando="SELECT *, usuarios.id_usuario as id_usuario FROM usuarios LEFT JOIN orders ON usuarios.id_usuario = orders.id_usuario WHERE usuarios.email='$login' and usuarios.senha='$senha'";
		$enviar=mysqli_query($conn, $comando);
		$resultado = mysqli_fetch_assoc($enviar);
		if ($resultado) {
		    $_SESSION['id_usuario'] = $resultado['id_usuario'];
		    $_SESSION['order_date']=$resultado['order_date'];
		    $_SESSION['order_name']=$resultado['order_name'];
		    $_SESSION['order_endereco']=$resultado['order_endereco'];
		    $_SESSION['order_numero']=$resultado['order_numero'];
		    $_SESSION['order_referencia']=$resultado['order_referencia'];
		    $_SESSION['order_id']=$resultado['order_id'];
	    	$_SESSION['login']=$resultado['login'];
	    	$_SESSION['senha']=$resultado['senha'];
			$_SESSION['email']=$resultado['email'];
			$_SESSION['nome']=$resultado['nome'];
			$_SESSION['seguranca']=$resultado['seguranca'];
		    echo "<script>window.location='../';window.alert('Login efetuado com sucesso!');</script>";
		    exit;

 

Futuramente vou fazer outra query para pegar os pedidos do usuário que está logado, e simplesmente não consigo por

SELECT * FROM orders LEFT JOIN usuarios ON orders.id_usuario = usuarios.id_usuario WHERE usuarios.id='$_SESSION['id_usuario']'

Ele dá erro no $_SESSION['id_usuario'], então pensei em fazer assim, na validação onde pego os dados do usuário colocar dentro de uma váriavel, exemplo:

$resultado['id_usuario'] = $session_user;

  OU (não sei se é possível)

$_SESSION['id_usuario'].$resultado['id_usuario'] = $session_user;

O importante é fazer uma variavel que eu possa utilizar na hora da query. Na página onde faço outra query para assim pegar os pedidos do usuário da SESSÃO está da seguinte forma.

<?php
            require '../config/conexao_fornec.php';
            $comando="SELECT * FROM orders LEFT JOIN usuarios ON orders.id_usuario = usuarios.id_usuario";
            $result=$conn->query($comando);
            $result = mysqli_query($conn, $comando);
if ($result):
    while ($row = mysqli_fetch_assoc($result)): ?>
        <tr>
            <th scope="row"><?= $row['order_id'] ?></th>
            <td><?= $row['order_date'] ?></td>
            <td><?= $row['order_name'] ?></td>
            <td><?= $row['order_endereco'] ?></td>
            <td><?= $row['order_numero'] ?></td>
            <td><?= $row['order_referencia'] ?></td>
        </tr>
<?php endwhile;
    endif; ?>

 

Share this post


Link to post
Share on other sites

Primeiro que na página onde você faz a consulta para pegar os pedidos você tem que incluir o session_start() no inicio do código.

<?php
		session_start();
            require '../config/conexao_fornec.php';
		$idUsuario = $_SESSION['id_usuario'];
            $comando="SELECT * FROM orders LEFT JOIN usuarios ON orders.id_usuario = usuarios.id_usuario WHERE usuarios.id = '$idUsuario'";
            $result=$conn->query($comando);
            $result = mysqli_query($conn, $comando);
if ($result):
    while ($row = mysqli_fetch_assoc($result)): ?>
        <tr>
            <th scope="row"><?= $row['order_id'] ?></th>
            <td><?= $row['order_date'] ?></td>
            <td><?= $row['order_name'] ?></td>
            <td><?= $row['order_endereco'] ?></td>
            <td><?= $row['order_numero'] ?></td>
            <td><?= $row['order_referencia'] ?></td>
        </tr>
<?php endwhile;
    endif; ?>

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By mamotinho
      Boa noite! estou com dúvidas em relação a array, eu tenho uma procedure no SQL Server e essa procedure exibe uma lista de resultados, eu gostaria de pega o valor desses resultados e lista em um array para eu comparar com outro valor que vai ser selecionado em um select , tipo abaixo:
       
      $arraySelect = $db->prepare(exec WebSite.dbo.server_value_product 2);
      $arraySelect->execute();
      $arrayExemple = $arraySelect->fetchAll();

      procedure_list = array($arrayExemple);
       
      !in_array($valorSelect, $procedure_list){
         echo 'O Valor selecionado não existe nos resultados da procedure';
      }
       
       
      alguem sabe como posso listar o resultado da procedure em array. e sabe se o valor que procuro está entre os resultados da array.
    • By asacap1000
      Galera já não sei mais onde procurar, estou configurando o processo de login com certificação digital porém não consigo ler o retorno. No site da Certisign explica em java e .Net mas utilizo em minha aplicação da intranet tudo em PHP como eu teria que fazer. Segue exemplo que eles fornecem em .Net
       
      <form action="https://autenticador.certisign.com.br/CertisignLogin/certificado/login" method="get"> <input type="hidden" value="209" id="id" name="id"> <input type="hidden" value="CHAVE CRIPTOGRAFICA INICIAL" id="nome" name="nome"> <input type="hidden" value="http://www.seusite.com.br/suaAplicacao/retorno" id="retorno" name="retorno"> <div> <input type="image" src="images/ico-certisign_30x30.png" alt="Submit" id="btnLoginCertisign"> </div> </form> O de cima envia até aí tudo bem
       
      Abaixo o retorno que é o que não consigo fazer em PHP
       
      string retorno = Request["cb"]; string encryptionKey = "<conteúdo da chave criptográfica descarregada na etapa 2>"; retorno = CryptoLogin.Instance.DecryptText(retorno,encryptionKey);</conteúdo> A variável retorno deverá mostrar as informações como o exemplo aaixo.
       
      CertificadoBean: { emissor: Certisign Autoridade Certificadora TESTE, nome: "PROPRIETARIO DO CERTIFICADO DE TESTE", cpf: "001.002.003-44", cnpj: "", OAB: "", validade: "2015-05-27 20:59:59", emissao: "2014-05-27 21:00:00", email: "proprietario.teste@certisign.com.br", certificadoBase64: "MIIFmDCCBICgAwI...... BAQUFADCCARAx" }  
    • By Camilavip
      Queria saber como fazer esse select e quando eu trazer um estado ele já puxa as cidades contidos nele, e ao escolher a cidade ele trazer os bairros. Consegui pela internet mas só com estados e cidades. no caso em 2 níveis, e eu precisaria em 3, faço pelo mysqli
       
      Em estados no banco está assim
      CREATE TABLE `estados` ( `id_estado` int(10) NOT NULL, `estado` varchar(30) NOT NULL ) ENGINE=Aria DEFAULT CHARSET=latin1; -- -- Extraindo dados da tabela `estados` -- INSERT INTO `estados` (`id_estado`, `estado`) VALUES (1, 'Rio de Janeiro'), (2, 'Minas Gerais'); Cidades
      CREATE TABLE `cidades` ( `id_cidade` int(10) NOT NULL, `id_estado` int(10) NOT NULL, `cidade` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Extraindo dados da tabela `cidades` -- INSERT INTO `cidades` (`id_cidade`, `id_estado`, `cidade`) VALUES (1, 1, 'Rio de Janeiro'), (2, 2, 'Belo Horizonte'); E bairros
      CREATE TABLE `bairros` ( `id_bairro` int(10) NOT NULL, `id_cidade` int(10) NOT NULL, `bairro` varchar(255) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Extraindo dados da tabela `bairros` -- INSERT INTO `bairros` (`id_bairro`, `id_cidade`, `bairro`) VALUES (1, 1, 'Centro'), (2, 1, 'Tijuca'), (3, 1, 'Leblon'), (4, 2, 'Pampulha');  
    • By danilo759
      Estou com uma dúvida, em uma tabelinha é cadastrado a data em uma coluna e a hora em outra coluna, então para "juntar" podemos usar CONCAT() no SELECT. Tudo certo...
       
      SELECT id, CONCAT(data_ini, ' ', hora_ini) as inicio FROM tabela

      Retorna como esperado:

       

      Minha dúvida é, se eu quiser exibir o horário de término para ficar assim como seria a consulta? Lembrando que não existe as colunas data_final e horario_final.

      2020-09-13 03:00:00 2020-09-13 04:00:00
      2020-09-13 04:00:00 2020-09-13 05:00:00
      2020-09-13 05:00:00 ....
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.