Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mruoppolo

Utilização de IP em sistema PHP

Recommended Posts

Olá, tudo bem?

 

estou criando um sistema de comandas para bares e restaurantes baseado em php, o sistema trabalhará diretamente através dos celulares dos garçons, mandando notificações para a cozinha, caixa e tudo mais, único porém é que estarei utilizando o Xampp configurado na rede para que ele fique acessível por todos os dispositivos na rede.

 

Ai que entra o problema, cada vez que o computador servidor for desligado (ou o roteador, não sei ao certo) o ip do localhost muda, como eu poderia fazer para arrumar uma solução ou para o IP não mudar ou para o PHP pegar o ip automaticamente do localhost??

 

Muito obrigado :)

Compartilhar este post


Link para o post
Compartilhar em outros sites
22 minutos atrás, mruoppolo disse:

único porém é que estarei utilizando o Xampp

Não cara...

XAMPP em produção :(

 

 

22 minutos atrás, mruoppolo disse:

Ai que entra o problema, cada vez que o computador servidor for desligado (ou o roteador, não sei ao certo) o ip do localhost muda, como eu poderia fazer para arrumar uma solução ou para o IP não mudar ou para o PHP pegar o ip automaticamente do localhost??

Não usa ué, hospedar em algum lugar.

 

Se uns cara roubar a 'maquina/servidor' como o cliente faz? chora ?? kkkk

 

O que impede de hospedar em algum lugar externo?

Garantir uptime?

 

Só fazer algo assim....

Ex:

Se a 'net' do cliente acabar -> Modem da vivo assume ou Tim Fibra assume.

 

 

 

22 minutos atrás, mruoppolo disse:

mandando notificações para a cozinha

Como? 

Oq você defini como notificação? Um insert na base? um PushNotification do Android?

------------------------------------------------------------------------------------------------

 

Se ainda assim você quer seguir com a ideia do XAMP Local,  não precisa de IP externo.

 

Só os clients da aplicação (garçom?App) estiverem na mesma rede de Wifi pelo Roteador, e apontar para a maquina que correspondente ao cliente

 

Ex de como roda uma rede Wifi / LAN / Endereço IPv4:

 

192.168.0.101 (Maquina do Servidor)

192.168.0.102 (Client - 1)

192.168.0.103 (Client - 2)

192.168.0.105 (Client - 6)

 

É possível acessar externamente sempre com um no-ip da vida.

 

Recomendo a leitura:

https://pt.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol

https://pt.wikipedia.org/wiki/Rede_de_longa_distância

https://pt.wikipedia.org/wiki/LAN

https://pt.wikipedia.org/wiki/Endereço_IP

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, eu queria hospedar na web, porém o cliente ficou me enchendo, porque caso o cliente fique sem internet o sistema para de funcionar, saca??

 

Como eu poderia fazer para burlar esta parte do sistema parar de funcionar quando não tem net?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu editei isso.

 

Citar

 

O que impede de hospedar em algum lugar externo?

Garantir uptime?

 

Só fazer algo assim....

Ex:

Se a 'net' do cliente acabar -> Modem da vivo assume ou Tim Fibra assume.

 

Ai a galera de Infra/Rede pode te ajudar.

 

Mas é bem sem noção hospedar qualquer coisa em Servidor físico na minha visão.

 

O computador pode dar problema, a tiazinha da limpeza pode puxar a tomada, pode dar um raio.

 

Melhor garantir Segurança de Dados/Arquivos.

 

Vamos ver se alguém também da algumas dicas hehe não leve como verdade absoluta oq eu falei.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, não entendi essa parte de modem da vivo assume, tipo como eu faço pra saber através do PHP que a internet acabou?? E o que significa o modem da vivo assumir???

 

Outra coisa, isso daria divergências nos dados que estão no banco local e os que estão no banco da web, não daria??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Complementando:

A maioria dos roteadores tem a opção de vincular um endereço MAC a um ip local. Dessa forma, mesmo que o roteador seja desligado e ligado, o servidor sempre pegara o mesmo ip, pois estará reservado para o  MAC cadastrado.

Então é só você ver ai qual é o MAC  do servidor,  entrar no roteador e procurar esse opção, que geralmente não tem segredo para configurar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@EdCesar não da ideia pow haha XAMP local é sacanagem.
Você q manja muito de Infra, como faz pra existir tolerância a falhas de internet, é possivel? 



Por exemplo minha namorada tinha um restaurante 100% Delivery (iFood)
Quando a internet dela acaba (NET zoada em SP) , ela usava o modem da vivo ou roteava o celular 4G.

Apesar de ser manual era uma tolerância :tounge_wink: 

Compartilhar este post


Link para o post
Compartilhar em outros sites

 @gabrieldarezzo não estou apoiando o uso do XAMP, nem desapoiando Hahahahah
A questão dele é não perder o ip quando o roteador for desligado e ligado, e a solução é vincular o ip ao mac, no roteador, sendo XAMP ou não :)

Tolerância a falhas? É de comer? rsrsrs

Falando serio, no caso da sua namorada, e de qualquer outro, isso depende muito da infra externa da operadora na região. Em qualquer operadora, a infra interna é de boa qualidade, mas a externa, é outra historia. A VIVO por exemplo, no caso de atendimento via par metalico, a maioria não recebem manutenção. Cabos com mais de 3 anos de vida, tomando chuva e sol e não são trocados. Geralmente nesses casos, o ping é baixo e ocorrem perdas, ai é jeito é abrir um chamado, e exigir que o tecnico leve um analisador de protocolos para ele visualizar os erros, e só for embora quando o analisador não pegar mais erros, que no caso, só trocando toda a infra, da central até a casa do cliente rsrs

Atualização

Talvez você tenha falado de redundância, existem roteadores/switch que você pode conectar mais de uma conexão de internet, sendo dois cabos, ou um cabo e uma entrada para 4G, ai quando um cai, o outro assume automaticamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É um sistema relativamente simples e envolve pagamentos e controle financeiro, ele pode até ficar na Internet, mas precisa ter um sistema local. O restaurante/lanchonete/bar não pode deixar de faturar o que for consumido por ter ficado sem Internet. Mesmo com redundância, esse é um problema que não pode ocorrer.

 

O IP pode ser fixo, com um servidor DHCP para os smartphones, claro que para que isto ocorra há uma outra parte de configuração que não tem muito haver com XAMP ou PHP. Você pode usar um equipamento Mikrotik que vai te dar um poder maior de configuração neste caso.

 

Para concluir, a opção de um sistema online não é ruim. É sabido que o cliente sempre quer o menor custo e não, necessariamente, o melhor serviço. Sugiro que você faça um desenho disso tudo e convença o seu cliente a ter uma infraestrutura um pouco mais profissional. Claro que isso tem um custo, mas avalie bem os riscos... Tanto do seu cliente quanto do seu, como profissional e prestador de serviços.

 

Sucesso!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

e não hesite em filmar a conversa pra o caso do cliente dizer depois que tu não falou nada dos riscos tu poder provar que falou sim e que deixou tudo muito bem claro

Spoiler

claro que é brincadeirinha :tounge_wink:

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@marsolim

Selo:

ptropa-de-elite05.jpg 

 

Ps:

 

Vale a pena dar uma lida nos links.

 

 

Outra abordagem legal, é antes de prosseguir com o desenvolvimento.

 

Subir um servidor em casa numa maquinha veia. (192.168 lembra? ^^ )

E tentar entender o conceito de DHCP/MAC como o @EdCesar comentou.

 

 

Abraço e bons estudos.

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 horas atrás, mruoppolo disse:

Ai que entra o problema, cada vez que o computador servidor for desligado (ou o roteador, não sei ao certo) o ip do localhost muda, como eu poderia fazer para arrumar uma solução ou para o IP não mudar ou para o PHP pegar o ip automaticamente do localhost??

Nem tudo é prego!

Como o @Prog disse, isso é simples, se precisa somente de um servidor, use Linux, e instale as dependências, uma vez ligado, ou se sofrer queda de energia etc,  ligou/reiniciou, tudo estará pronto para uso novamente, e até mais fácil configurar a segurança dos dados, SSL etc.

Uma dica é fazer o backup deste banco em algum lugar, nem que seja no Google Drive.

 

Outra dica e acho que essa é a mais segura em termo de disponibilidade de dados, é usar o http://www.symmetricds.org/ para sincronizar sua app com a nuvem. Assim você cobre 100% e seu cliente fica feliz, e você não terá que acordar nas madrugadas.

Lembre-se, a vida continua após a entrega de um software.

 




 

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, Prog disse:

É um sistema relativamente simples e envolve pagamentos e controle financeiro, ele pode até ficar na Internet, mas precisa ter um sistema local. O restaurante/lanchonete/bar não pode deixar de faturar o que for consumido por ter ficado sem Internet. Mesmo com redundância, esse é um problema que não pode ocorrer.

 

O IP pode ser fixo, com um servidor DHCP para os smartphones, claro que para que isto ocorra há uma outra parte de configuração que não tem muito haver com XAMP ou PHP. Você pode usar um equipamento Mikrotik que vai te dar um poder maior de configuração neste caso.

 

Para concluir, a opção de um sistema online não é ruim. É sabido que o cliente sempre quer o menor custo e não, necessariamente, o melhor serviço. Sugiro que você faça um desenho disso tudo e convença o seu cliente a ter uma infraestrutura um pouco mais profissional. Claro que isso tem um custo, mas avalie bem os riscos... Tanto do seu cliente quanto do seu, como profissional e prestador de serviços.

 

Sucesso!

 

 

Então temos um problema muito complicado ai, kkk, porque assim o cliente pra quem estou fazendo não é o cliente final, ele vai revender, ai que esta o problema.

 

Então não adianta eu convencer ele, porque ele vai precisar convencer todos os clientes a comprarem uma infra mais cara, e como já existe um concorrente na cidade que o cliente não precisa de nada além de um pc, eu não tenho como fazer de outra forma kkk, eu preciso é fazer o IP ficar fixo mesmo, eu vou pesquisar essa parada do MAC mesmo.

 

Depois eu posto exatamente o procedimento que fiz :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

O MAC Address está relacionado a placa de rede, toda placa de rede possui esse "número" que a identifica.

No servidor DHCP do seu access point você configura que esse determinado MAC vai receber um determinado IP, desta forma este equipamento (servidor onde estã o XAMP) sempre recebe o mesmo endereço IP. Como disse, isso é feito no access point e cada fabricante dispõe de um aplicativo específico para realizar este tipo de configuração (mesmo sendo diferentes, eles não diferem tanto de um para os demais).

 

Sucesso!

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera, tudo bem?
       
      Tenho o seguinte codigo:
       
       class Data {
      public static function ExibirTempoDecorrido($date)
      {
          if(empty($date))
          {
              return "Informe a data";
          }
          $periodos = array("segundo", "minuto", "hora", "dia", "semana", "mês", "ano", "década");
          $duracao = array("60","60","24","7","4.35","12","10");
          $agora = time();
          $unix_data = strtotime($date);
          // check validity of date
          if(empty($unix_data))
          {  
              return "Bad date";
          }
          // is it future date or past date
          if($agora > $unix_data) 
          {  
              $diferenca     = $agora - $unix_data;
              $tempo         = "atrás";
          } 
          else 
          {
              $diferenca     = $unix_data - $agora;
              $tempo         = "agora";
          }
          for($j = 0; $diferenca >= $duracao[$j] && $j < count($duracao)-1; $j++) 
          {
              $diferenca /= $duracao[$j];
          }
          $diferenca = round($diferenca);
          if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
          return "$diferenca $periodos[$j] {$tempo}";
      }
      }
       
      Funciona redondinho se o valor retornado for de algumas horas, mas...
      Quando passa de dois meses, ele retorna a palavra mess. Deve ser por conta dessa linha
      if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
       
      Quero que modre:
       
      2 meses atrás
      e não
      2 mess atrás.
       
      Espero que tenham entendido.
       
      Valeu
    • Por Carlos Web Soluções Web
      Olá...
      Estou tentando fazer o seguinte !!
      Listando dados em tabela !!
      Gostaria que....se na listagem houver 4 linhas...indepedente de seu número de ID, faça a listagem em ID ser em ordem 1 2 3 4 !!
      Exemplo...se tiver uma listagem de dados que está em ID 1 3 3...faça ficar 1 2 3 !!

       
      echo "<table class='tabela_dados' border='1'> <tr> <td>ID</td> <td>Nome Empresa</td> <td>Responsável</td> <td>Telefone 1</td> <td>Telefone 2</td> <td>E-mail 1</td> <td>E-mail 2</td> <td>Endereço</td> <td>CEP</td> <td>Bairro</td> <td>AÇÃO 1</td> <td>AÇÃO 2</td> </tr> "; $sql = "SELECT ID FROM usuarios_dados WHERE Usuario='$usuario'"; $result = $conn->query($sql); $num_rows = $result->num_rows; $Novo_ID = 1; for ($i = 0; $i < $num_rows; $i++) { $registro = $result -> fetch_row(); $sql2 = "UPDATE usuarios_dados SET ID='$Novo_ID' WHERE ID='$Novo_ID'"; $result2 = $conn->query($sql2); $Novo_ID++; } $sql = "SELECT * FROM usuarios_dados"; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { echo "<tr> <td>$row[ID]</td> <td>$row[Nome_Empresa]</td> <td>$row[Responsavel]</td> <td>$row[Telefone_1]</td> <td>$row[Telefone_2]</td> <td>$row[Email_1]</td> <td>$row[Email_2]</td> <td>$row[Endereço]</td> <td>$row[CEP]</td> <td>$row[Bairro]</td> <td> <form method='post' action='Editar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='EDITAR'> </form> </td> <td> <form method='post' action='Deletar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='DELETAR'> </form> </td> </tr> "; } } else { echo "0 results"; } $conn->close();  
    • Por ILR master
      Boa tarde pessoal, tudo bem ?
       
      Eu uso o tinymce para cadastro de textos no meu siite, porém, quero fazer um sistema para que os colunistas possam fazer o próprio post.
      O problema do tinymce, é que ele mantém a formatação do texto copiado, como tamanho de fonts, negritos, etc... Quero que o usuário cole o texto e a própria textarea limpe a formatação para que ele formate como quiser.
       
      A pergunta é:
       
      O tinymce tem uma opção para desabilitar a formatação quando um texto é colocado?
      Tem alguma função via java ou php para retirar a formatação assim que o texto é colado?
      Ou é melhor usar um outro editor?
       
      Agradeço deste já.
    • Por Giovanird
      Olá a todos!
      Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP.
      Uso a função setInterval para atualizar a pagina inclusa dentro da DIV.
      O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto.
      Preciso que a pagina inclusa já inicie carregada
       
      Meu código JavaScript e a DIV com a pagina PHP
       
      <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>  
    • Por ILR master
      Fala pessoal.
       
      Seguinte:
       
      Quero selecionar duas tabelas e mostrar com resultados intercalados. Abaixo segue um código explicando para vcs terem uma ideia.
       
      $consulta = "SELECT A.*, B.* FROM tabela1 A, tabela2 B'";
      $resultado = mysqli_query($conexao, $consulta) or die ("erro");
      while($busca = mysqli_fetch_array($resultado)){
       
      print $busca['cod_evento']; --> traz o código da tabela1 
      print $busca['titulo_evento']; -->  traz o titulo da tabela1
      print $busca['cod_noticia']; --> traz o código da tabela2
      print $busca['titulo_noticia']; --> traz o tituloda tabela2
       
      }
       
      Espero que entendam. Grato
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.