Ir para conteúdo
Fórum Script Brasil

Evair_Peterson

Membros
  • Total de itens

    5
  • Registro em

  • Última visita

Sobre Evair_Peterson

  • Data de Nascimento 01/10/1987

Perfil

  • Gender
    Male
  • Location
    Jundiaí / SP

Evair_Peterson's Achievements

0

Reputação

  1. Preciso executar um código javascript durante a execução de um código PHP. A coisa funciona +/- assim: quando o usuário clicar no botão REGISTRAR do formulário, será executada a função javascript JSF(), que tem por objetivo fazer uma primeira validação dos dados inseridos no formulário. Se estiver tudo OK, vai dar um submit e executar uma segunda validação pela função PHP enviar(). Se o estiver tudo OK novamente, vai prosseguir com o login do usuário... Durante as validações, caso seja encontrado algum erro, é gerada uma mensagem que é impressa no campo frmRegisterError do formulário. Com o javascript foi fácil fazer este direcionamento da mensagem de erro. Fiz dessa maneira: Código Javascript: var frmRegisterError = document.getElementById("frmRegisterError"); frmRegisterError.value = "INFORME SEU NOME DE USUÁRIO"; Como tudo o que eu li até hoje sobre o PHP diz que ele não consegue fazer este direcionamento de seu retorno para um campo específico do formulário, aí a solução foi misturar PHP com javascript. Só para testar se ia funcionar eu fiz da seguinte maneira: Código HTML: <form method="post" action="teste.php?function=enviar" id="frmRegister" name="frmRegister" accept-charset="utf-8"> <label>Nombre de usuario: </label> <input type="text" id="frmRegisterUN" value="" name="frmRegisterUN" /> <br /> <label>Se encontro un error: </label> <input type="text" value="" id="frmRegisterError" name="frmRegisterError"/> <br /> <input type="button" value="REGISTRAR" id="frmRegister_Button"/ onClick="JSF ()"> </form> Código Javascript: function JSF () { document.getElementById("frmRegister").submit(); } Código PHP: <?php if($_GET['function'] == "enviar") { enviar(); } function enviar () { if (isset($_POST)) { $usuario = $_POST['frmRegisterUN']; if ($usuario != "") { ?> <script> document.write("INFORME SEU NOME DE USUÁRIO"); </script> <?php } else { echo "INFORME SEU NOME DE USUÁRIO"; } } } ?> Dessa maneira a mistura do PHP com o javascript funcionou perfeitamente. Ambos imprimem a mensagem como era desejado. Já que tinha funciounou dessa maneira, penso que agora basta substituir o código javascript interno ao PHP para imprimir a mensagem de erro dentro do campo frmRegisterError do formulário. Então mudei este trecho de código para: Código PHP: <?php function enviar () { if (isset($_POST)) { $usuario = $_POST['frmRegisterUN']; if ($usuario != "") { ?> <script> var error = document.getElementById("frmRegisterError"); error.value = "INFORME SEU NOME DE USUÁRIO"; </script> <?php } else { echo "INFORME SEU NOME DE USUÁRIO"; } } } ?> Teoricamente era para ter funcionado, mas não sei por qual motivo não funcionou desse modo! Depois de testar de algumas maneiras cheguei à seguinte conclusão: quando se tem um código javascript interno à um código PHP não é possível obter retorno de getElementById que passa a não funcionar. Para ter certeza de que era isso que estava acontecendo, fiz o seguinte teste: Código Javascript function JSF () { var error = document.getElementById("frmRegisterUN").value; alert (error); document.getElementById("frmRegister").submit(); } Código PHP: <?php if($_GET['function'] == "enviar") { enviar(); } function enviar () { if (isset($_POST)) { $usuario = $_POST['frmRegisterUN']; if ($usuario != "") { ?> <script> var error = document.getElementById("frmRegisterUN").value; alert (error); </script> <?php } else { echo "INFORME SEU NOME DE USUÁRIO"; } } } ?> Com isso, se o usuário insere corretamente o seu nome de usuário era para ser exibida uma mensagem de erro com um alert duas vezes, só que ela só é exibida uma única vez! O que eu percebi que está acontecendo é que, quando a página executa o código da função JSF() a mensagem é exibida normalmente. Porém, ao executar o código contido na função PHP enviar() esta menagem não é exibida como era o esperado. Percebi também que depois da linha que contém o getElementById a execução do código é interrompida. Alguém sabe como resolver este problema?
  2. Conversando com um amigo de Portugal eis que surge a solução, conforme sua orientação: Assim que mantive a DIV "right" exatamente como ela estava e mudei apenas o overflow da DIV "major" de HIDDEN para AUTO. E com isso sim tenho 100% do meu problema resolvido, da maneira mais adequada possível. Espero que esta informação venha a ajudar alguém no futuro. Agradeço a atenção de todos. EVAIR.
  3. Boa noite. Estou tendo problemas com a propriedade overflow nesta página que estou desenvolvendo: www.evairpeterson.com.br/duvidas/overflownaofunciona.html O problema é que a barra de rolagem vertical não aparece nem quando o texto da DIV "right" contém textos demais, não cabendo nela. É desejável que em casos como este, onde a listagem vai desde TESTE 1 até TESTE 99 aparecesse uma barra de rolagem vertical à direita da página. Normalmente eu agregaria ao CSS da DIV "right" o seguinte código: overflow-y:auto; Mas não sei porque isso não está funcionando. Alguém sabe como resolver este problema? Desde já agradeço toda e qualquer ajuda. EVAIR.
  4. Carlos Rocha. Eu não possuo grandes conhecimentos no assunto, quase nada na verdade, mas há pouco eu passei por problema semelhante e me deram uma dica que resolveu o meu caso, talvez resolva o seu também. Na sua função de conexão com o seu banco de dados, insira o seguinte código: mysql_query ("SET NAMES 'utf8'"); mysql_query ("SET character_set_connection=utf8"); mysql_query ("SET character_set_client=utf8"); mysql_query ("SET character_set_results=utf8"); Como eu disse, não tenho certeza que seja esta a solução para seu problema, mas não custa tentar. Vai que dá certo. Espero de alguma forma ter lhe ajudado. Se não, que alguém mais experiente lhe oriente da maneira devida. Boa sorte. EVAIR.
  5. Boa noite. Estou dando meus primeiros passos no aprendizado de PHP com MySQL, assim que não tenho maiores conhecimentos no assunto e preciso de sua ajuda. Tenho um projeto em mente o qual pretendo implementar em breve. Se eu concretizá-lo, acredito que o banco de dados usado terá em torno de 10 tabelas, cada uma com cerca de 15 campos. Estima-se que serão inseridos dados de cerca de 30.000 itens em cada uma destas tabelas, resultando assim em cerca de 4.500.000 registros no banco de dados, sendo que parte destes conterá imagens. Falando-se de bancos de dados MySQL não sei se este é um grande número ou não. Minha dúvida é: Faz-se necessários dividir todo este conteúdo em dois ou mais bancos de dados distintos para que se obtenha uma maior velocidade em buscas pelo mesmo? Na verdade eu não sei nem se é possível fazê-lo. Por exemplo: na página de login acessar o BD-1 para validação da sessão e no decorrer da navegação pelas páginas acessar dados contidos no BD-2, sem que seja perdida a validação feito ao acessar o BD-1? Desculpem a ignorância. Sei que ara alguns a dúvida parecerá ridícula, mesmo para um iniciante, mas quem puder me ajudar eu agradeço.
×
×
  • Criar Novo...