acao Posted June 20, 2013 at 05:25 PM Report #514109 Posted June 20, 2013 at 05:25 PM boas 1. É possivel comparar dois campos text antes de clicar no botao submit, em php ou html ? 2. num formulario tenho um campo data-hora e quero carrega-lo com a data-hora de efectuar o registo. se usar a função date ---> retorna-me a data do registo com uma hora a mais se usar gmdate --> retorna-me a data do registo com uma hora a menos porque a função date não retorna a hora correcta? resolvi assim: $timestamp = mktime(date("H")-1); $novoRegisto->Dataregisto = date("Y-m-d H:i:s",$timestamp); isto está correcto ou tenho que gravar a hora «GMT» agradecia ajuda cumps acao
bioshock Posted June 20, 2013 at 06:16 PM Report #514114 Posted June 20, 2013 at 06:16 PM (edited) if($_POST['campo1'] == $_POST['campo2']) { } Quanto à segunda questão, não percebi. Queres a data e hora actual? date("Y-m-d H:i:s") Edited June 20, 2013 at 06:16 PM by bioshock
acao Posted June 20, 2013 at 08:49 PM Author Report #514136 Posted June 20, 2013 at 08:49 PM if($_POST['campo1'] == $_POST['campo2']) { } obrigado pela resposta. Eu já tinha pensado nisso, mas acontece que eu quero comparar os valores antes de fazer o clik do botão ou seja (antes de enviar os dados para emitir uma msg se for necessario.). ou em alternativa depois de clikar no botão submit (enviar) quando os dois campos forem diferentes não limpar os campos do formulario. ps: é num formulario de envio de dados. Quanto à segunda questão, não percebi. Queres a data e hora actual? date("Y-m-d H:i:s") sim a minha ideia era gravar a datahora actual, mas acontece que a função date devolve-me a hora espanhola ou seja mais uma hora, eu consegui acertar a hora, mas agora não sei se está correcto, porque: imagine que fiz o registo em portugal colocando assim a hora actual. depois se verificar a hora em espanha vou ter lá a hora de registo hora portuguesa, (desfesada da hora espanhola). não concorda que deveria gravar a hora GMT (UTC) e depois ao fazer o select converter para a hora do pais de visualização. (mas não sei se isso é possivel. não sei se fiz entender. cumps acao
bioshock Posted June 20, 2013 at 11:26 PM Report #514154 Posted June 20, 2013 at 11:26 PM Relativamente à 1ª questão, então presisas de JSON. http://php.net/manual/pt_BR/book.json.php http://nitschinger.at/Handling-JSON-like-a-boss-in-PHP Quanto à 2ª questão, nunca estivesse nessa posição, pelo que não te sei ao certo o que aconselhar. 😕 Talvez alguém te possa ser mais útil nessa área do que eu.
yoda Posted June 20, 2013 at 11:44 PM Report #514157 Posted June 20, 2013 at 11:44 PM Para obter as horas em GMT 0 (Lisboa) em PHP : # default timezone date_default_timezone_set('Europe/Lisbon'); # default locale setlocale(LC_ALL, 'pt_PT.utf-8', 'ptg', 'pt_PT', 'portuguese', 'pt_PT@euro'); Quanto à validação dos campos, podes fazer com Javascript, basta apanhares o evento submit do formulário e comparares os valores antes de permitir que o envio seja feito. Caso decidas usar jQuery (biblioteca Javascript) para te facilitar, podes fazer algo assim : $('form[name="nome_do_formulario"]').on('submit', function() { if ($('input[name="valor_1"]', this).val() != $('input[name="valor_2"]', this).val()) { alert('Os valores não coincidem, tente outra vez.'); return false; } }); before you post, what have you tried? - http://filipematias.info sense, purpose, direction
acao Posted June 21, 2013 at 10:27 PM Author Report #514396 Posted June 21, 2013 at 10:27 PM boas obrigados aos dois pelas respostas Relativamente à 1ª questão, então presisas de JSON. http://php.net/manual/pt_BR/book.json.php http://nitschinger.at/Handling-JSON-like-a-boss-in-PHP @bioshock, estive a ver os links mas ainda acho muito confuso usar o json, mas registei o link que me enviou (obrigado). Para obter as horas em GMT 0 (Lisboa) em PHP : # default timezone date_default_timezone_set('Europe/Lisbon'); # default locale setlocale(LC_ALL, 'pt_PT.utf-8', 'ptg', 'pt_PT', 'portuguese', 'pt_PT@euro'); @yoda, funcionou em pleno, corrigiu a hora local e assim até já me retorna a diferença horaria correcta. mais uma questão: 1. devo utilizar a função gmdate para gravar na db a datahora e depois no select utilizar a datagravada + a diferença horaria. ex: /*$timestamp = mktime(date("H")+1); $novoRegisto->DataCadastro = date("Y-m-d H:i:s",$timestamp); o (+1 do mktime) seria retornado utilizando a função date_default_timezone_get(). ou será melhor gravar com a função date e utilizar normalmente.? $('form[name="nome_do_formulario"]').on('submit', function() { if ($('input[name="valor_1"]', this).val() != $('input[name="valor_2"]', this).val()) { alert('Os valores não coincidem, tente outra vez.'); return false; } }); a minha ideia era não utlizar javascript, mas sendo assim terei que usar. já agora se fizer um form dinamico utilizando uma variavel para ter acesso a um ou outro form. explicando melhor(ter dois forms um tipo envio de dados e outro dinamico com os campos que quero que não sejam descarregados e carrega-los com variaveis + os dois campos a comparar (vazios) + o submit). funcionará, merece a pena perder tempo em implementar. obrigado pelas respostas. cumps acao
yoda Posted June 22, 2013 at 12:23 PM Report #514435 Posted June 22, 2013 at 12:23 PM Podes guardar as datas como quiseres, mas por exemplo o MySQL já tem funções para as datas, e situações como guardar a data actual podem ser definidas directamente na query (podes trabalhar com fusos horários sem problemas). Podes também definir um campo para ser actualizado com a data corrente sempre que é inserido um registo. before you post, what have you tried? - http://filipematias.info sense, purpose, direction
acao Posted June 22, 2013 at 01:45 PM Author Report #514451 Posted June 22, 2013 at 01:45 PM boas obrigado pelas respostas topico resolvido cumps acao
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now