joao_n Posted May 19, 2009 at 07:01 PM Report #265454 Posted May 19, 2009 at 07:01 PM Boas.. tenho um problema que nao consigo resolver. é o seguinte Tenho o formulario feito. O que tem de fazer é o seguinte: fazer Log in, caso seja Admin com a password Admin, tem de ir para os registos todos dos users. caso seja um user registado tem de aparecer uma msg a dizer log in com sucesso caso nao exista tem de ir para os registos para se registar. como posso eu fazer isto? Aqui fica o codigo: Index: <html> <head> <title>Login</title> <script type="text/javascript"> function validate(form){ var Utilizador = form.Utilizador.value; var Password = form.Password.value; if (Utilizador.length === 0) { alert("Introduza um nome de utilizador."); return false; } if (Password.length === 0) { alert("Introduza uma password."); return false; } return true; } </script> <body> <h1>Log In</h1> <form method="post" action="teste.php" onsubmit="return validate(this);"> Utilizador: <input type="text" name="Utilizador" size="10"><br/> Password: <input type="Password" name="Password" size="10"><br/> <input type="submit" value="Enviar"> <input type="reset" value="Limpar"> </p> </form> <form method="post" action="Registo.html" onsubmit="return validate(this);"> Novo utilizador? <br> <input type="submit" value="Registar"> </p> </form> </body> </html> Confirmar.php <?php echo '<p>Bem Vindo!</p>'; echo '<p>Anote os dados pessoais:</p>'; // Obter valores de uma formulário. $Nome = $_POST['Nome']; $Utilizador = $_POST['Utilizador']; $Password = $_POST['Password']; $Localidade = $_POST['Localidade']; $Telefone = $_POST['Telefone']; $Email = $_POST['Email']; $saudacao = $_REQUEST['saudacao']; echo $saudacao . '<br>'; echo '<p> Registo foi efectuado a: '; echo date('H:i, jS F Y'); echo '</p>'; echo 'Utilizador:' . $Utilizador . '</br>'; echo 'Password: ' . $Password . '</br>'; echo 'Nome: ' . $Nome . '</br>'; echo 'Localidade:' . $Localidade . '</br>'; echo 'Telefone: ' . $Telefone . '</br>'; echo 'Email: ' . $Email . '</br>' . '</br>' . '</br>' . '</br>'; //a linha de baixo é para criar um xml $document= new DOMDocument(); $document->formatOutput = true; //a linha de baixo é para criar a raiz $root = $document->createElement( "Lista" ); $document->appendChild( $root ); //esta linha é para criar o nodo da aplicação $block = $document->createElement( "Elementos" ); $NomeUser = $document->createElement( "Utilizador" ); $NomeUser->appendChild($document->createTextNode($Utilizador)); $block->appendChild( $NomeUser ); $PasswordUser = $document->createElement( "Password" ); $PasswordUser->appendChild($document->createTextNode($Password)); $block->appendChild($PasswordUser); $NomeV = $document -> createElement ("Nome"); $NomeV -> appendChild ($document->createTextNode($Nome)); $block->appendChild($NomeV); $LocalidadeUser = $document -> createElement ("Localidade"); $LocalidadeUser -> appendChild ($document->createTextNode($Localidade)); $block->appendChild($LocalidadeUser); $TelefoneUser = $document -> createElement ("Telefone"); $TelefoneUser -> appendChild ($document->createTextNode($Telefone)); $block->appendChild($TelefoneUser); $EmailUser = $document -> createElement ("Email"); $EmailUser -> appendChild ($document->createTextNode($Email)); $block->appendChild($EmailUser); $root ->appendChild ($block); echo $document->saveXML(); $document->save("Utilizadores.xml"); ?> registo: <html> <head> <title>Registo</title> <script type="text/javascript"> function validate(form){ var Utilizador = form.Utilizador.value; var Password = form.Password.value; var Nome = form.Nome.value; var Localidade = form.Nome.value; var Telefone = form.Telefone.value; var Email = form.Email.value; if (Utilizador.length === 0) { alert("Introduza um nome de utilizador."); return false; } if (Password.length === 0) { alert("Introduza uma password."); return false; } if (Nome.length === 0) { alert("Introduza um nome."); return false; } if (Localidade.length === 0) { alert("Introduza uma localiade."); return false; } if (Telefone.length === 0) { alert("Introduza o número de telefone."); return false; } if (Email.length === 0) { alert("Introduza um Email."); return false; } return true; } </script> </head> <body> <h1>Registo de novo utilizador</h1> <br> <h5>Todos os campos são de preenchimento obrigatório</h5> <form method="post" action="Confirmar.php" onsubmit="return validate(this);"> Utilizador: <input type="text" name="Utilizador" size="10"><br/> Password: <input type="Password" name="Password" size="10"><br/> Nome: <input type="text" name="Nome" size="10"><br/> Localidade: <input type="text" name="Localidade" size="10"><br/> Telefone: <input type="text" name="Telefone" size="10"><br/> Email: <input type="text" name="Email" size="10"><br/> <input type="submit" value="Enviar"> <input type="reset" value="Limpar"> </p> </form> </body> </html> Obrigado
joao_n Posted May 19, 2009 at 07:03 PM Author Report #265455 Posted May 19, 2009 at 07:03 PM Portanto.. como posso fazer um If ou algo assim para ele poder ler os dados. e se corresponder a Adm vai retornar os registos feito em xml, eu tentei fazer um if, dentro do form e fora dele no index.html, mas ele vai sempre para a pagina de teste..
MX+ Posted May 19, 2009 at 10:32 PM Report #265604 Posted May 19, 2009 at 10:32 PM Qual é o codigo da página "teste.php"? Nesse tens de colocar este código: if (isset($_POST['Utilizador']) && isset($_POST['Password'])) { $utilizador = $_POST['Utilizador']; $password = $_POST['Password']; if ($utilizador == 'Admin' && $password == 'Admin') { header("Location: pagina_admin.php"); exit(); } // Esta linha é um comentário porque começa com duas barras // Aqui tens de inserir algum tipo de verificação se o utilizador existe // Suponho que queiras ir buscar ao ficheiro XML onde guardas os registos de utilzadores if (..) { } // Senão reenvia o utilizador para a página de registo header("Location: registo.php"); exit(); }
joao_n Posted May 19, 2009 at 11:06 PM Author Report #265633 Posted May 19, 2009 at 11:06 PM sim exacto.. pretendo ir buscar o xml onde guardo os dados.. 😉 obrigado. vou testar o codigo..
joao_n Posted May 20, 2009 at 12:16 AM Author Report #265653 Posted May 20, 2009 at 12:16 AM eu meti esse código e nada.. :S não entendo. ele vai para a pagina teste mas ela fica em branco mesmo com os dados Admin, nao vai para a pagina Utilizadores.xml ^^
joao_n Posted May 20, 2009 at 11:55 AM Author Report #265761 Posted May 20, 2009 at 11:55 AM funciona, mas o que nao funciona é o retorno do ficheiro XMl. fiz uma batota, meti um echo para testar e sim funciona. 😉 entao meti dois forms, um para se for para ver os users clica OK, caso contrario carregar voltar. fiz assim: <?php if (isset($_POST['Utilizador']) && isset($_POST['Password'])) { $utilizador = $_POST['Utilizador']; $password = $_POST['Password']; if ($utilizador == 'Admin' && $password == 'Admin') { echo '<p><center><b>Bem Vindo ao painel de Administração!</b></center></p>'; } // Veriicar se o user existe, ler o XML if ($utilizador != 'Admin' && $password != 'Admin') { echo '<p><center><b>Dados nao encontrados</b></center></p>'; } //Se o user não existe, então vai para o Registo //else } ?> <form method="post" action="Registo.html" onsubmit="return validate(this);"> Não consta na Base de dados, por favor efectue o seu registo, clique em Ok para confirmar. Se não desejar efectuar registo clique em Voltar <br /> <input type="submit" value="Ok" > </form> <form method="post" action="index.html" onsubmit="return validate(this);"> <input type="submit" value="Voltar" > </form> So neguei caso nao ser adm. eu no XML se meter um novo user ele vai apagar o anterior e meter um novo, ou seja so consigo gravar um. como posso ir sempre acrescentando?
joao_n Posted May 20, 2009 at 12:38 PM Author Report #265778 Posted May 20, 2009 at 12:38 PM afinal tenho aquilo mal.. bolas. nao sei... aquele codigo que esta la em cima nao me devolve o ficheiro xml :S e tambem preciso de então no teste.php abrir o xml e correr o xml e ver se os dados existem certo?
joao_n Posted May 20, 2009 at 06:38 PM Author Report #265902 Posted May 20, 2009 at 06:38 PM pronto corrigi da seguinte maneira e assim já nao aparece o form com outros dados: <?php if (isset($_POST['Utilizador']) && isset($_POST['Password'])) { $utilizador = $_POST['Utilizador']; $password = $_POST['Password']; if ($utilizador == 'Admin' && $password == 'Admin') { echo '<p><center><b>Bem Vindo ao painel de Administração!</b></center></p>'; echo '<p><p><center><b>Para confirmar que deseja ver o XML clique OK, para voltar ao Index, carregue em voltar.</b></center></p></p>'; ?> <form method="post" action="Utilizadores.xml" onsubmit="return validate(this);"> <input type="submit" value="OK"> </form> <form method="post" action="Index.html" onsubmit="return validate(this);"> <input type="submit" value="Voltar"> </form> <?php } ?> <?php // Veriicar se o user existe, ler o XML if ($utilizador != 'Admin' || $password != 'Admin') { echo '<p><center><b>Dados nao encontrados</b></center></p>'; } //Se o user não existe, então vai para o Registo //else } ?> Agora preciso de ajuda... para ir acrescentando users ao Utilizadores.xml, e como ler o xml para ver se o user existe
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