Jump to content

Ajuda - Php formulario de validação e retorno etc..


Recommended Posts

Posted

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

Posted

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..

Posted

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();
}
Posted

eu meti esse código e nada.. :S

:wallbash:

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

^^

Posted

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?

Posted

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?

Posted

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.