h_felix 1 Denunciar post Postado Abril 2, 2015 Bom dia Galera , tudo bem ? Estou com um problema que ja esta me tirando o sono tem um tempo. Tenho que entregar um trabalho ( metade da media do semestre :( ) .Ele ja esta quase que 100% pronto , mas falta um dos requisitos exigidos. Vamos la : Ao acessar a pagina, o usuario faz login ( cada usuario tem um login ). Quando ele faz login , é criada as sessões : UsuarioId ; UsuarioNome e UsuarioNivel. Tem uma pagina que faz o controle das demais , ao qual chamo de content.php. Ela é responsável por pegar o nivel de acesso de cada usuario , e fazer o include das pagina que ele tem permissão.Então , eu chamo a pagina case 5: include 'controllers/venda/venda.php'; break; Essa pagina , venda.php , tem uma tabela que é alimentada com dados do banco de dados , e em uma das colunas , tem um botão de editar echo "<tr> <td>". $id. "</td>" . "<td>" .$row['dataVenda'].' / ' .$row['horaVenda']. "</td>" . "<td>". $row['vendedor'] . "</td>" . "<td>". $row['nomeCliente'] . "</td>" . "<td>". $row['produto'] . "</td>" . "<td>". $row['CPF'] . "</td>" . "<td>" .$status1. "</td>" . "<td>" .$status3. "</td>" . "<td> <a href='index.php?pag=venda&idVenda=".$id." ' class='btn default btn-xs purple'><i class='fa fa-edit'></i> VER</a>" . "</tr>"; } </tbody> </table> Até ai OK ! Então , o usuario entra na pagina VENDA , e resolve editar e venda com ID 05. Mas , digamos que tenha 2 pessoas logadas no sistema , e por coincidência , as 2 resolvam editar a venda com o ID 05 , daria problema , pois os dados que uma iria editar poderiam já estar editados pela outra pessoa. Então eis que surge meu problema , como impedir de que 2 ,3 , 4 usuarios abram a mesma venda para edita-la ? Desculpe se não fui claro , e desde , muito obrigado Compartilhar este post Link para o post Compartilhar em outros sites
marsolim 110 Denunciar post Postado Abril 2, 2015 uma ideia pode ser ter uma tabela para controle. quando o usuário clicar para editar um registro verifica um campo dessa tabela. se ele estiver vazio coloca um editando e permite a edição. se já tiver escrito editando emite um aviso e não permite ir em frente. a partir daí decide se depois de editado outra pessoa pode editar de novo ou não para saber se depois de terminar a edição tira o editando e deixa o campo vazio ou se coloca editado para também bloquear novas edições. Compartilhar este post Link para o post Compartilhar em outros sites
h_felix 1 Denunciar post Postado Abril 2, 2015 uma ideia pode ser ter uma tabela para controle. quando o usuário clicar para editar um registro verifica um campo dessa tabela. se ele estiver vazio coloca um editando e permite a edição. se já tiver escrito editando emite um aviso e não permite ir em frente. a partir daí decide se depois de editado outra pessoa pode editar de novo ou não para saber se depois de terminar a edição tira o editando e deixa o campo vazio ou se coloca editado para também bloquear novas edições. Me perdi um pouco , mas entendi o que quis dizer . Mas , como eu faria a inserção no banco , quando o usuario clicasse no botão para editar a venda ? Compartilhar este post Link para o post Compartilhar em outros sites
Maykel-ctba 233 Denunciar post Postado Abril 2, 2015 Você pode controlar a sessão aberta através de session_id. No momento do Login, grave o session_id do primeiro que tentar editar a venda. Se outro tentar, vai ter o session_id diferente. É aí que você barra. Compartilhar este post Link para o post Compartilhar em outros sites
h_felix 1 Denunciar post Postado Abril 2, 2015 Você pode controlar a sessão aberta através de session_id. No momento do Login, grave o session_id do primeiro que tentar editar a venda. Se outro tentar, vai ter o session_id diferente. É aí que você barra. Bom dia , Você poderia demonstrar como que ficaria mais ou menos ? Compartilhar este post Link para o post Compartilhar em outros sites
Maykel-ctba 233 Denunciar post Postado Abril 2, 2015 http://stackoverflow.com/questions/6249707/check-if-php-session-has-already-started Compartilhar este post Link para o post Compartilhar em outros sites