diokhan Posted December 14, 2009 at 01:35 PM Report Share #300305 Posted December 14, 2009 at 01:35 PM boas, eu preciso de fazer um script em que valide os dados antes de enviar para a base de dados, por exemplo, este é o meu código: if(isset($_SESSION['USER'])) { echo "User <b><i>{$_SESSION["NAME_USER"]}</i></b> logged in.<hr>"; } else { header('Location: ../../BioCantProject/index.php'); } echo " <h2>Change Password:</h2><hr> <form action=admin/pass.php method='POST'> <tr> <td>Old password:</td> <td><input type='password' name='oldpass'></td> </tr> <tr> <td>New password:</td> <td><input type='password' name='password'></td> </tr> <tr> <td>Repeat new password:</td> <td><input type='password' name='repeatpassword'></td> </tr> <tr> <td colspan='2' align='center'> <input type='submit' id='Submit_btn' value='Save Changes'> <input type='button' value='Cancel' onclick=javascript:history.back()> </td> </tr> </form>"; e queria que ao clicar para salvar as alterações ele fizesse uma verificação antes se a repeatpassword é igual a password, sei que tenho de fazer em javascript, ou posso fazer em php? ? ...Join the dark side...and get a free cookie... Link to comment Share on other sites More sharing options...
mAiN_iNfEcTiOn Posted December 14, 2009 at 02:02 PM Report Share #300308 Posted December 14, 2009 at 02:02 PM Ora bem, antes demais um pouco do conceito de linguagens 'server-side' e 'client-side'. O PHP é uma linguagem de scripting 'server-side' o que quer dizer que só corre do lado do servidor. O Javascript é o oposto, ou seja 'client-side'. Só corre do lado do cliente. Uma existe para complementar a outra... Ora a base de dados (entre outros serviços) estando no servidor é necessário uma linguagem 'server-side', neste caso o PHP, para comunicar com a base de dados. No entanto, o Javascript é usado para processos que não necessitam da interacção do servidor e que podem ser feitos no cliente. Se pretenderes uma validação em "real-time", o Javascript será a melhor escolha. Dá-te a resposta sem teres que usar recursos do servidor. No entanto, e como eu costumo dizer, uma coisa não implica a outra! Deves colocar essa validação em Javascript, mas também deves validar no PHP. Porque actualmente existem plugins - como por exemplo, o firebug - que permitem editar o Javascript presente na página e dessa forma conseguirão passar os dados que pretendem mesmo que tenhas a validação em Javascript. Conseguirão fazer o 'bypass' da validação do lado do cliente. No entanto, do lado do servidor, não conseguem (normalmente) fazer o bypass 🙂 E é a maneira de teres a certeza que é seguro 🙂 Conclusão? Se pretenderes, faz a de Javascript... Para muitos que não percebem de javascript ou informática no foro técnico, será mais rápida essa validação e escusam de esperar que a página carregue (sim sim, existe o AJAX, mas .... na realidade é na mesma um pedido ao servidor, certo?). No entanto, deves também fazer em PHP 🙂 para que caso alguem edite a parte javascript e faça o tal 'bypass' o PHP valide na mesma os dados. Acima de tudo, a segurança 🙂 Link to comment Share on other sites More sharing options...
diokhan Posted December 14, 2009 at 02:07 PM Author Report Share #300310 Posted December 14, 2009 at 02:07 PM eu no php tenho uma linha que verifica se a repeatpassword é igual ou não a password eu precisava mesmo do javascript mais pela mensagem de erro que vai gerar, desta forma avisa o utilizador que a password foi alterada com sucesso ou que não foi possível alterar por a repeatpassword e a password não serem iguais que o meu site já esta a funcionar bem e assim, só preciso de elaborar um pouco mais para aparecer as mensagens de erros e assim, mas javascript eu não sou muito experiente ainda 🙂 PS: a questão das passwords ficou a funcionar, fiz aparecer um alert caso a password seja ou não alterada, agora outra duvida, no caso do login, tive a procura no fórum e não encontrei nada deste género, para validar o login é da mesma forma que fiz para validar a alteração da password? ? deixo o javascript que elaborei, e caso alguém tenha uma ideia diferente ou uma sugestão para melhorar o meu código, estou aberto a sugestões 🙂 <script language="javascript"> function valida() { var password = document.formpass.password.value; var repeatpass = document.formpass.repeatpassword.value; if (password == repeatpass){ alert("Password was changed!"); return true; } else { alert("The 'PASSWORD' and 'REPEAT PASSWORD' need to match!"); return false; } } </script> e na form chamo assim: <form action=admin/pass.php method='POST' onsubmit='javascript:return valida()' name='formpass'> ...Join the dark side...and get a free cookie... Link to comment Share on other sites More sharing options...
EclipseX Posted December 14, 2009 at 03:23 PM Report Share #300331 Posted December 14, 2009 at 03:23 PM amigo, sempre podes utilizar o REGEX do asp =) no teu código html =), se precisares de alguma ajuda com o REGEX apita =), k ate te forneço um mini manual que tive de fazer para me orientar deves enquanto. Mas se queres um concelho para a coisa ficar boa, valida do lado do cliente e do lado do servidor sempre 🙂 Link to comment Share on other sites More sharing options...
diokhan Posted December 14, 2009 at 03:27 PM Author Report Share #300332 Posted December 14, 2009 at 03:27 PM REGEX? nao conheço..se puderes ajudar agradecia, e é simples de se utilizar com php? eu faço sempre a validação do lado do servidor, falta mesmo é validar do lado do cliente, como referi anteriormente, apenas para mostrar as mensagens aos utilizadores a informar se há erros ou não 🙂 ...Join the dark side...and get a free cookie... Link to comment Share on other sites More sharing options...
EclipseX Posted December 14, 2009 at 03:50 PM Report Share #300338 Posted December 14, 2009 at 03:50 PM ups, atenção como disse a pouco Regex é asp.net lol acho que não vai dar para php :S Link to comment Share on other sites More sharing options...
diokhan Posted December 14, 2009 at 03:52 PM Author Report Share #300340 Posted December 14, 2009 at 03:52 PM pois, o problema que trabalho sempre com php, e d ASP.net não percebo porque foi algo que nunca utilizei, mas obrigado a mesma pela ajuda 🙂 ...Join the dark side...and get a free cookie... Link to comment Share on other sites More sharing options...
yoda Posted December 14, 2009 at 04:14 PM Report Share #300345 Posted December 14, 2009 at 04:14 PM ups, atenção como disse a pouco Regex é asp.net lol acho que não vai dar para php :S regex não é asp.net, existe no asp.net ... assim como em php, javascript, phyton, and so on .. before you post, what have you tried? - http://filipematias.info sense, purpose, direction Link to comment Share on other sites More sharing options...
EclipseX Posted December 14, 2009 at 04:21 PM Report Share #300347 Posted December 14, 2009 at 04:21 PM como uso muito o asp desconhecia esse facto xD.....são mais coisas que aprendo por aqui 🙂 tens aqui um site que te ajuda =) http://www.regular-expressions.info/ se sempre presisares do manual envia-me o teu email para te enviar Link to comment Share on other sites More sharing options...
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