Jump to content
Sign in to follow this  
brunoogm

Duvidas sobre SESSION e codigo php

Recommended Posts

Pessoal estou com um código onde tenho uma tabela Comanda e uma Quantidadevendacomanda, e preciso através da mesma pagina php criar a comanda e inserir  valores nas duas...

Então preciso criar a tabela comanda, em seguida pegar o ID e após isso inserir na tabela Quantidadevendacomanda os seus valores junto com esse ID.

 

Até ai tudo OK, mas...

 

Preciso que na segunda vez que essa ação for feita ele verifique se essa comanda já existe e se existir ele apenas use o ID para inserir mais um valor na tabela Quantidadevendacomanda.

 

E ai surge o problema, no meu código usei uma SESSION para armazenar o ID da tabela comanda e se ele for 0 (Zero) ele cai na condição que cria a comanda nova senão ele apenas usa o ID na outra tabela, então na finalização eu faço com que a SESSION receba 0 novamente e o ciclo continua...

 

O que acontece é o seguinte, sempre que a SESSION vale zero e eu tento criar a comanda e inserir valor na Quantidadevenda... ele não faz, mas se eu tentar pela segunda vez ele faz certinho

 

Resumindo, toda vez que a SESSION é 0 ele pula o insert da segunda tabela, mas pega o ID e na proxima vez ele executa como determinado

 

 

Codigo ::

 

session_start();
include_once("php/conexao.php");
$idPessoa = $_SESSION['id_pessoa'];
$id_cliente = $_SESSION['id_user']; 
$cont = $_SESSION['cont'];

echo $cont;


if ($cont == 0) {
    
    $insert ="INSERT INTO comanda (CodigoCliente,  CodigoSituacao, ValorTotal) VALUES ('$id_cliente','1', '$codigoprato')";
    $resulta = mysqli_query ($conectar, $insert);

 

    $sql = "SELECT MAX(CodigoComanda) FROM comanda";
                $resultado_banco = @mysqli_query($conectar, $sql);
                    
                $inter = mysqli_num_rows ($resultado_banco);
                if ($inter == 0){
                    echo "Erro";
                }else {
                    $dados = @mysqli_fetch_array($resultado_banco);
                }
                    
                $id_comanda= $dados[0];
                $_SESSION['cont'] = $id_comanda;
    

}
$select = "INSERT INTO quantidadevendacomanda (CodigoComanda, CodigoPrato , CodigoCliente, Quantidade,  Preco) VALUES ('$cont','$codigoprato', '$idPessoa','$quantidade', '$valor')";
$resultado = @mysqli_query($conectar, $select);

 

 

Na outra tabela tenho um UPDATE referente a outra coisa e o 

 

$_SESSION['cont'] = 0;

 

assim quando ele voltar ele cai na condição...

 

Alguma dica de como fazer isso funcionar???

 


 

Share this post


Link to post
Share on other sites

Voltando aqui só para deixar a solução que encontrei...

 

if ($cont == 0) {
        
        $insert ="INSERT INTO comanda (CodigoPessoaCliente, CodigoEstabelecimento, CodigoEndereco,  CodigoMetodoPag,CodigoSituacao, ValorTotal) VALUES ('$idPessoa', '$idEstabelecimento','0','0', '1', '0')";
        $resulta = mysqli_query ($conectar, $insert);

        $sql = "SELECT MAX(CodigoComanda) FROM comanda";
                    $resultado_banco = @mysqli_query($conectar, $sql);
                        
                    $inter = mysqli_num_rows ($resultado_banco);
                    if ($inter == 0){
                        echo "Erro";
                    }else {
                        $dados = @mysqli_fetch_array($resultado_banco);
                    }
                        
                    $id_comanda= $dados[0];
                    $_SESSION['cont'] = $id_comanda;
                    
        $inserir_qtd = "INSERT INTO quantidadevendacomanda (CodigoComanda, CodigoPrato , CodigoCliente, Quantidade,  Preco) VALUES ('$id_comanda','$codigoprato', '$idPessoa','$quantidade', '$valor')";
        $resultado1 = @mysqli_query($conectar, $inserir_qtd);

 

} else {

    $selec = "INSERT INTO quantidadevendacomanda (CodigoComanda, CodigoPrato , CodigoCliente, Quantidade,  Preco) VALUES ('$cont','$codigoprato', '$idPessoa','$quantidade', '$valor')";
                        $resultado2 = @mysqli_query($conectar, $selec);
                        }
        

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
Sign in to follow this  

  • Similar Content

    • By luialcantara
      Olá, a empresa onde trabalho tem uma página de login para área restrita que está com problema na função de cadastro. O formulário está enviando os dados para o banco de dados e o usuário se torna ativo para acesso normalmente. O problema é que a mesma função que salva os dados deveria redirecionar o cliente para a área restrita ou então para a página inicial para que ele digite usuário e senha e consiga acessar a página. 
       
      A página já estava pronta quando comecei aqui e eu não tenho domínio sobre php, mas já corrigi alguns erros que estavam impedindo o cadastro. Porém os clientes reclamam pois após concluir o cadastro a imagem de carregamento não desaparece, então apenas coloquei um delay para evitar os questionamentos, pois o usuário fica ativo, então é só voltar para o login que eles conseguem usar nosso site.
       
      A página está dividida entre uma de login (php), uma para cadastro (php) e a principal, que está no wordpress. 
       
      Função do formulário de cadastro:
                  submitHandler: function(form) {                 $(".botoesactions").hide();                 $(".ajaxloader").show();                 var dados = jQuery( form ).serialize();                  $(".ajaxloader").fadeOut(1500);                 $.ajax({type: "POST", data: dados, url:"<?php echo get_site_url(); ?>/atendimento/cadastrar",success: function(data){                     console.log(data);                     try {             var ret = JSON.parse(data);                     } catch (e) {          var ret = false;                    }                     $(".ajaxloader").hide();                     if(ret !== false && ret.retorno === "ok"){                         console.log(ret);                         alert("Cadastrado realizado com sucesso!");                         window.location.href = "<--!?php echo get_site_url(); ?-->/atendimento/";                     }else if(ret !== false && ret.retorno === "fail"){                         alert(ret.mensagem);                         $(".botoesactions").show();                     }else{                         $(".botoesactions").show();                     }                 }});             }  
       
      Função de inserção de informações no banco de dados:
      elseif('cadastrar' == $syjusaten){                         if(!isset($_SESSION) || !isset($_SESSION['jusate_session']['answeris']) || $_SESSION['jusate_session']['answeris'] != 42 ){                 if($_POST && $_POST['typos'] == "iscadastro"){                     $url= $urlServer.'/Cliente/ClienteSite/cadastraclientesite';                     $parms = array(                         "usuario" => $_POST['user'],                         "Senha" => $_POST['pass'],                         "Cliente.ClienteId" => $_POST['clienteId'],                         "Cliente.Nome" => $_POST['nome'] /*Existem outros dados, mas acho que ficaria muito codigo e não contribuem para erro*/                     );                     $respServer = syJuCurl($url, $parms);                     if($respServer == ""){                         echo json_encode( array(                             "retorno" => "fail",                             "mensagem" => "Não foi possivel realizar o cadastro. Tente novamente mais tarde"                         ));                     }else{     echo $respServer;                         }                 }else{                     echo "ELSEE";                     header("Location: ".get_site_url()."/atendimento");                 }                         exit;             }else{                 header("Location: ".get_site_url()."/atendimento/");             }         }  
      Agradeço pela atenção ;)
       
    • By TheRonaldoStar
      Olá, Venho aqui de novo para tirar uma dúvida que creio eu ser muito simples porem não sei como aplicar!;
      Como diz no título do post eu gostaria de fazer um select de cadastros cujo o id do usuário online está nesta coluna,
      Porem neste campo contem 2 id separados por uma ' , '. Sendo assim não dar para mim fazer uma pesquisa com com a tag WHERE id ='Valor'
      Em fim eu quero ajuda para selecionar todos os cadastro cujo o id do usuário online está por EX: Sou o usuário 1 existe dois cadastros que tem meu id: [1, 2] e [2, 1];
      Alem de pesquisar todos os cadastros que tenha meu id nesta coluna eu quero que não tenha interferência ou listar cadastro do usuário 1 se eu for o usuário 21 por ex.
       
      Qual quer ajuda é bem vinda!
      Atenciosamente,
      ~Ronaldo
    • By Agnosticado
      Olá senhores, estou intrigado com uma coisa: tenho o seguinte código:
      $id_exame = "50296"; $pesquisa = "SELECT motivo, CASE WHEN motivo = 'Intensa superposição celular em mais de 75% de esfregaço' THEN 'A' WHEN motivo = 'Sangue em mais de 75% de esfregaço' THEN 'B' WHEN motivo = 'Artefatos de dessecamento mais de 75% de esfregaço' THEN 'C' ELSE 'TESTE' END AS opcao FROM insatisfatorio WHERE exame_id = '$id_exame' ORDER BY opcao ASC"; $linha = mysql_query($pesquisa); while ($pesquisa = mysql_fetch_array($linha) or die(mysql_error())){ echo $pesquisa["opcao"]; } Quando executo usando
       
      $linha = mysql_query($pesquisa);
                 while ($pesquisa = mysql_fetch_array($linha) or die(mysql_error())){
              echo $pesquisa["opcao"];
              echo "<br>";
       
       
      a saída é palavra "TESTE" que o default e não o texto "B" que corresponde a string da chamada do $id_exame = 50296.
       
      O ESQUISITO é que quando executo todo select que está na variável $pesquisa direto no SGBD dá certo e o texto "B" aparece normalmente.
      PQ DIABOS ISSO ACONTECE???
    • By Alandeoli
      Boa noite Pessoal!
       
       
      Estou criando uma tela de login, e passando os dados para uma pagina que vai se conectar ao AD, mas mesmo eu colocando os campos em branco a conexão esta passando como ok, segue os códigos se puderem me ajudar agradeço muito!
       
      Tela conexao:
       
      <?php   $adServer = "ldap://xxx.xxxx.xx.xx";   $ldap = ldap_connect($adServer); $username = $_POST['user']; $password = $_POST['pass'];   $ldaprdn = 'XXX' . "\\" . $username;   ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3); ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0);   $bind = @ldap_bind($ldap, $ldaprdn, $password);   if($bind=true)   {   echo "conexão ok";     } else   {   echo "erro";     }   Tela Login:   <!DOCTYPE html> <html lang="pt-br"> <link href='css/login.css' rel='stylesheet' />


        <head> <meta charset="UTF-8"> <title>Tela de Login e Senha</title> </head>   <body> <div name="login" id="login"> <div name="box" id="box"> <form method="POST" action="ad.php" name="form"> Login : <input type="text" name="user" id="user"><br><br> Senha : <input type="password" name="pass" id="pass"><br><br> <input type="submit" value="Login" id="button"> </form> </div> </div>   </body>   </html>                                
    • By dutopfave
      Boa Tarde Galera, tenho um sistema de etiqueta que nele vai também código de barras, quando eu mostro na tela, funciona perfeitamente, mais quando gero pra pdf, com a biblioteca mPDF, da erro,  e é justo o código de barras q da esse erro, oq pode ser sera, segue o código de como ta:
       
      <?php require '../../Connections/config.php'; include "../Classes/funcoes.php"; include "cod.php"; $largura = 140; $altura = 130; include("mpdf60/mpdf.php"); // INICIO RECUPERA O ID DA ETIQUETA IMPORTADA $Row_Id_Etiqueta = addslashes($_GET['id_etiqueta']); $Recuperacao_Etiqueta = $pdo->prepare("SELECT * FROM tb_sys_etiqueta WHERE e_id = :e_id"); $Recuperacao_Etiqueta->bindValue(":e_id", $Row_Id_Etiqueta); $Recuperacao_Etiqueta->execute(); if($Recuperacao_Etiqueta->rowCount() > 0){ $Row_Recuperacao_Etiqueta = $Recuperacao_Etiqueta->fetch(); } // FIM RECUPERA O ID DA ETIQUETA IMPORTADA $id_etiqueta = $_GET['id_etiqueta']; $Lista_Etiqueta = "SELECT * FROM tb_sys_etiqueta WHERE e_id = '$id_etiqueta'"; $Lista_Etiqueta = $pdo->query($Lista_Etiqueta); if($Lista_Etiqueta->rowCount() > 0){ $etiqueta_id = $Lista_Etiqueta->fetch(); $qtd = $etiqueta_id['e_volume'] + 1; $qtd2 = $etiqueta_id['e_volume']; for ($i>0; $i<$qtd; $i++) { if($i>$etiqueta_id['e_pagina']){ // verificar se a pagina é menor que 10 if($i<10){ $n = '0'; }else{ $n = ''; } // verificar se a quantidade é menor que 10 if($etiqueta_id['e_volume']<10){ $nq = '0'; }else{ $nq = ''; } $html .= '<div class="etiqueta"> <div class="etiqueta-topo"> <img src="../images/logo.fw.png" width="116" height="52"> </div> <div class="etiqueta-empresa"> <div class="etiqueta-empresa-left"> <h1>GYN</h1> </div> <div class="etiqueta-empresa-right"> <h1>VOL: '.$n.''.$i.'/'.$nq.''.$qtd2.'</h1> </div> </div> <div class="etiqueta-endereco"> <div class="etiqueta-endereco-left"> <span><b>Remetente:</b></span><br/> <span>'.$etiqueta_id['e_remetente'].'</span><br/><br/> <span><b>Destinatário:</b></span><br/> <span>'.$etiqueta_id['e_destinatario'].'</span> </div> <div class="etiqueta-endereco-right"> '.geraCodigoBarra('232323232323').' <br /> '.$etiqueta_id['e_codigo_barras'].' <p>Goiânia/GO</p> </div> </div> </div>'; } } } $mpdf = new mPDF('utf-8', array($largura,$altura)); $css = file_get_contents("css/estilo.css"); $mpdf->WriteHTML($css,1); $mpdf->WriteHTML($html); $mpdf->Output(); exit;  
      a função pra gera o código de barras: cod.php
       
      <?php function geraCodigoBarra($numero){ $fino = 1; $largo = 3; $altura = 50; $barcodes[0] = '00110'; $barcodes[1] = '10001'; $barcodes[2] = '01001'; $barcodes[3] = '11000'; $barcodes[4] = '00101'; $barcodes[5] = '10100'; $barcodes[6] = '01100'; $barcodes[7] = '00011'; $barcodes[8] = '10010'; $barcodes[9] = '01010'; for($f1 = 9; $f1 >= 0; $f1--){ for($f2 = 9; $f2 >= 0; $f2--){ $f = ($f1*10)+$f2; $texto = ''; for($i = 1; $i < 6; $i++){ $texto .= substr($barcodes[$f1], ($i-1), 1).substr($barcodes[$f2] ,($i-1), 1); } $barcodes[$f] = $texto; } } echo '<img src="../images/p.gif" width="'.$fino.'" height="'.$altura.'" border="0" />'; echo '<img src="../images/b.gif" width="'.$fino.'" height="'.$altura.'" border="0" />'; echo '<img src="../images/p.gif" width="'.$fino.'" height="'.$altura.'" border="0" />'; echo '<img src="../images/b.gif" width="'.$fino.'" height="'.$altura.'" border="0" />'; echo '<img '; $texto = $numero; if((strlen($texto) % 2) <> 0){ $texto = '0'.$texto; } while(strlen($texto) > 0){ $i = round(substr($texto, 0, 2)); $texto = substr($texto, strlen($texto)-(strlen($texto)-2), (strlen($texto)-2)); if(isset($barcodes[$i])){ $f = $barcodes[$i]; } for($i = 1; $i < 11; $i+=2){ if(substr($f, ($i-1), 1) == '0'){ $f1 = $fino ; }else{ $f1 = $largo ; } echo 'src="../images/p.gif" width="'.$f1.'" height="'.$altura.'" border="0">'; echo '<img '; if(substr($f, $i, 1) == '0'){ $f2 = $fino ; }else{ $f2 = $largo ; } echo 'src="../images/b.gif" width="'.$f2.'" height="'.$altura.'" border="0">'; echo '<img '; } } echo 'src="../images/p.gif" width="'.$largo.'" height="'.$altura.'" border="0" />'; echo '<img src="../images/b.gif" width="'.$fino.'" height="'.$altura.'" border="0" />'; echo '<img src="../images/p.gif" width="1" height="'.$altura.'" border="0" />'; } ?>  
×

Important Information

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