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

Problema com o modal no PHP


Frank K Hosaka

Pergunta

Hoje estava pensando em montar o código para o plano de contas aparecer no modal do lançamento contábil para selecionar as contas de débito e crédito, mas precisei fazer compras.

De volta no apartamento, aproveitei o cupom para fazer o lançamento no sistema. Na hora de puxar o código do fornecedor, surgiu uma tela bem bagunçada e ele simplesmente travou.

Eu fiquei mordido, eu tinha feito vários testes, não era para ele falhar. Olhei o painel de inspeção do navegador e vi que o erro não foi meu, mas sim do registro no banco de dados, o nome do contato tinha aspas Quitanda "Aqui é Mais Barato", e logo percebi que não posso usar o JavaScript como meio de transporte entre o PHP e o HTML.

Perdi duas semanas da minha vida fazendo um código inútil. Para não perder outras próximas semanas, pedi para o MySQL auditar a tabela de pessoa e produto e substituir as aspas duplas ou simples por um acento agudo. Esse procedimento não é correto, mas é a única gambiarra que imaginei na hora do desespero.

Mas, no fundo, o erro foi meu mesmo. Não há nenhum motivo para eu pedir para o PHP mandar o conteúdo de uma variável para o JavaScript escrever no HTML, o próprio PHP já é uma fábrica de HTML. Com isso em mente vou fazer o próximo modal do plano de contas sem a ajuda do JavaScript, só o necessário, do tipo ligar e desligar o modal.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 1

Olá! Sr. @Frank K Hosaka!
Uma das melhores experiências em codar é a refatoração.
A gente tá sempre "melhorando" o que a gente escreve.

Continue seus estudos... daqui a pouco o sr. vai perceber que na web, js é o mara!!!
Eu não entendi direito o que o sr. quis dizer.

Veja esse exemplo: https://github.com/w-studies/date-from-database-to-js

Nele, eu escrevo dados com aspas duplas sem problema algum.
Dados com aspas podem ser carregados num input/select/texarea de formulário, numa tabela, numa modal... onde for necessário.
image.png.3ca6ab20d0e7fd0949280085b489dc6b.png

Exemplo com single quote
image.png.7fba101bc8dc28c891cd5c40f1c466e3.png

Veja como ficou no database:
image.png.d506463fc36c5ed3d74678e7c024fa23.png

Editado por wash
Link para o comentário
Compartilhar em outros sites

  • 1

É um estilo bem peculiar  de misturar linguagens.
Tudo bem, se a linguagem permite, muito provalmente é porque pode ser feito.
Mas qual o problema em organizar seguindo o estilo acima(com separação de responsabilidades), sugerido pelo colega?
Pense aí:
É mais leve rápido e mais barado transitar somente json pela web
ou transitar um html completo?

Link para o comentário
Compartilhar em outros sites

  • 0

Para você sentir o meu drama, a verdade é que não estou conseguindo codificar sequer uma linha de HTML. Veja só:

 

<li id=L1 onclick="L1.innerHTML='Teste 1 ok'">Teste 1</li><br>

<?php

echo "<li id=L2 onclick='L2.innerHTML=\" Teste 2 ok\"'>Teste 2</li><br>";
 
$mensagem = "Teste 3 ok";
echo "<li id=L3 onclick='L3.innerHTML=\"$mensagem\"'>Teste 3</li><br>"; 

$java = 'L4.innerHTML="Teste 4 ok"';
echo "<li id=L4 onclick='$java'>Teste 4</li><br>";

$mensagem = "Teste 5 ok";
$java = 'L5.innerHTML="'.$mensagem.'"';
echo "<li id=L5 onclick='$java'>Teste 5</li><br>";

$mensagem = "Meu nome é 'Joãoponês'";
$java = 'L6.innerHTML="'.$mensagem.'"';
echo "<li id=L6 onclick='$java'>Teste 6</li><br>";  
// não funciona, apesar de ter a mesma sintaxe do teste 5

?>

 

Editado por Frank K Hosaka
Link para o comentário
Compartilhar em outros sites

  • 0

Iowys, o correto é sempre separar responsabilidades.

Mas eu ainda não sei distribuir responsabilidades, e isso explica a promiscuidade digital dos meus códigos. O Wash tem apresentado vários códigos, eu sei fazer o download e descompactar, mas como adaptar tudo aquilo no meu notebook, eu ainda não tenho a menor ideia. Por enquanto, eu coloco tudo no "c:/wamp64/www/frank", e é óbvio que o código não funciona. Isso porque ainda não sei identificar quem é o CSS e onde posso guardar, bem como outras ferramentas.

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,4k
×
×
  • Criar Novo...