Jump to content
alexandre16

Erro de Registo

Recommended Posts

alexandre16

Boas pessoal

tenho o seguinte código para a verificacao se os campos estao preenchidos ou nao, está tudo bem mas quando chega á parte da data de nascimento eu preencho tudo correcto e ele nao sai do mesmo erro faz como se estive mal e nao me deixa registar como posso meter isto bem?

<script>

function confirmar()

{

var nome = document.getElementById('nome').value;

var sobrenome = document.getElementById('sobrenome').value;

var email = document.getElementById('email').value;

var email2 = document.getElementById('email2').value;

var password = document.getElementById('password').value;

var sexoM = document.getElementById('sexoM').checked

var sexoF = document.getElementById('sexoF').checked

var ano = document.getElementById('ano').value;

var mes = document.getElementById('mes').value;

var dia = document.getElementById('dia').value;

var erro = document.getElementById('erro');

if (nome == '')

{

erro.innerHTML = 'Preencha o primeiro nome';

return false;

}

if (sobrenome == '')

{

erro.innerHTML = 'Preencha o ultimo nome';

return false;

}

if( email=='' || email!=email2 )

{

erro.innerHTML = 'Não introduziu o e-mail, ou a confirmação de e-mail está errada ';

return false;

}

if (password == '')

{

erro.innerHTML = 'Preencha a password';

return false;

}

if( !sexoM && !sexoF )

{

erro.innerHTML = 'Escolha o seu sexo';

return false;

}

if(ano == '0' || mes == '0' || dia == '0')

{

erro.innerHTML = 'Preencha a sua data de nascimento';

return false;

}

}

</script>

Share this post


Link to post
Share on other sites
alexandre16

a maneira que eu postei da ultima vez os erros eram mostrados de uma maneira diferente de agr, antes abria do tipo de uma tabela e mostrava todos os erros, agora mostra os erros por baixo do form em apenas uma frase, tudo o que tenho ai está certo se nao preencher o nome ele dix para preencher e depois passa para o campo seguinte agora o problema é mesmo na condicao da data que mesmo que eu meta a data correctamente ele diz que nao está preenchida e nao deixa resgistar

Share this post


Link to post
Share on other sites
cra2sh
var ano = new Number(document.getElementById('ano').value);
var mes = new Number(document.getElementById('mes').value);
var dia = new Number(document.getElementById('dia').value);

if (ano == 0 || mes == 0 || dia == 0)
{
erro.innerHTML = 'Preencha a sua data de nascimento';
return false;
}

Share this post


Link to post
Share on other sites
alexandre16

Mesmo com o código que me indicas-te ela continua a dizer para preencher bem a data de nascimento, nao sei pk ele dá sempre que tenho de preencher bem a data pois todos os outros campos estao correctos vou mostrar-vos o código do formulario para se alguem conseguir ver o erro ajudar-te

<html>

<head>

<script>

function confirmar()

{

var nome = document.getElementById('nome').value;

var sobrenome = document.getElementById('sobrenome').value;

var email = document.getElementById('email').value;

var email2 = document.getElementById('email2').value;

var password = document.getElementById('password').value;

var sexoM = document.getElementById('sexoM').checked

var sexoF = document.getElementById('sexoF').checked

var ano = new Number(document.getElementById('ano').value);

var mes = new Number(document.getElementById('mes').value);

var dia = new Number(document.getElementById('dia').value);

var erro = document.getElementById('erro');

if (nome == '')

{

erro.innerHTML = 'Preencha o primeiro nome';

return false;

}

if (sobrenome == '')

{

erro.innerHTML = 'Preencha o ultimo nome';

return false;

}

if( email=='' || email!=email2 )

{

erro.innerHTML = 'Não introduziu o e-mail, ou a confirmação de e-mail está errada ';

return false;

}

if (password == '')

{

erro.innerHTML = 'Preencha a password';

return false;

}

if( !sexoM && !sexoF )

{

erro.innerHTML = 'Escolha o seu sexo';

return false;

}

if (ano == 0 || mes == 0 || dia == 0)

{

erro.innerHTML = 'Preencha a sua data de nascimento';

return false;

}

}

</script>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Single Line Border</title>

<style>

.singleBorder{

    border:1px #d6d6d6 solid;

    background-color:#f6f6f6;

}

.singleBorder td{

    font-family:Verdana, Arial, Helvetica, sans-serif;

    font-size:12px;

    font-weight:bold;

    color:#333333;

}

.singleBorder input,select{

    border:1px #aaaacc solid;

    font-family:tahoma;

    font-size:12px;

    font-weight:normal;

    padding:2px;

    background-color:#FFFFFF;

}

.singleBorder input:focus{ 

    border:1px #aaaacc solid;

    font-family:tahoma;

    font-size:12px;

    font-weight:normal;

    padding:2px;

    background-color:#FFFF99;

}

.points{

    font-family:Verdana, Arial, Helvetica, sans-serif;

    font-size:12px;

    color:#999999;

    font-weight:normal;

    padding:30px;

}

.formHeading{

    font-family:Verdana, Arial, Helvetica, sans-serif;

    font-size:22px;

    font-weight:bold;

    color:#0066CC;

    padding:10px;

    text-shadow:#FF3333 .2em .2em .2em;

}

</style>

</head>

<body>

<form action="registo_ligacao.php" method="POST" onsubmit="confirmar();">

    <table width="500px" border="0" cellpadding="2px" cellspacing="1px">

        <tr>

            <td width="2px" height="462"></td>

          <td>

          <div class="formHeading">Registate</div>

              <table width="100%" border="0" cellpadding="3px" class="singleBorder" cellspacing="2">

                  <tr>

                      <td colspan="2"> </td>

                  </tr>

                  <tr>

                 

                    <td align="right" width="130">Primeiro Nome:

                      </td>

                      <td><input type="text" name="nome" id="nome" size="40" /></td>

                  </tr>

                  <tr>

                      <td align="right">Ultimo nome:</td>

                      <td><input type="text" name="sobrenome" id="sobrenome" size="40" /></td>

                  </tr>

                  <tr>

                      <td align="right">Email:

                      </td>

                      <td><input type="text" name="email" id="email" size="40" /></td>

                  </tr>

                  <tr>

                      <td align="right"><p>Introduza novamente o e-mail:</p></td>

                      <td><input type="text" name="email2" id="email2" size="40" /></td>

                  </tr>                 

                  <tr>

                      <td align="right" style="font-weight:normal">Password:</td>

                      <td><input type="password"  name="password" id="password" size="40" /></td>

                  </tr>

                  <tr>

                      <td align="right" style="font-weight:normal">Sexo:</td>

                      <td><input type="radio" name="sexo" id="sexoM" value="M" />

                        Masculino

                          <input type="radio" name="sexo" id="sexoF" value="F" />

                      Feminino </td>

                  </tr>

                  <tr>

                      <td align="right" style="font-weight:normal">Data de nascimento:</td>

                      <td><select name='ano' id='ano'>

                        <option value='0'>Escolha...</option>

                        <option value='2010'>2010</option>

                        <option value='2009'>2009</option>

                      </select>

                        <select name='mes' id='mes'>

                          <option value='0'>Escolha...</option>

                          <option value='01'>Janeiro</option>

                          <option value='02'>Fevereiro</option>

                        </select>

                        <select name='dia' id='dia'>

                          <option value='0'>Escolha...</option>

                          <option value='01'>1</option>

                          <option value='02'>2</option>

                      </select></td>

                </tr>

                  <tr>

                      <td align="right" style="font-weight:normal"> </td>

                      <td> </td>

                  </tr>

                  <tr>

                      <td> </td>

                      <td>

                          <input type="button" value="Confirmar" onClick="confirmar()" />

                      </td>

                  </tr>

                  <tr>

                      <td colspan="2">

                    <div class="points">

                      <div align="center"><font color="red" id="erro"></font></div>

                    </div>

                      </td>

                  </tr>

              </table>

            </td>

        </tr>

    </table>

    </form>

</body>

</html>

Share this post


Link to post
Share on other sites
cra2sh

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Single Line Border</title>

<script>
function confirmar()
{
var nome = document.getElementById('nome').value;
var sobrenome = document.getElementById('sobrenome').value;
var email = document.getElementById('email').value;
var email2 = document.getElementById('email2').value;
var password = document.getElementById('password').value;
var sexoM = document.getElementById('sexoM').checked
var sexoF = document.getElementById('sexoF').checked
var ano = new Number(document.getElementById('ano').value);
var mes = new Number(document.getElementById('mes').value);
var dia = new Number(document.getElementById('dia').value);
var erro = document.getElementById('erro');

if (nome == '')
{
	erro.innerHTML = 'Preencha o primeiro nome';
	return false;
}

if (sobrenome == '')
{
	erro.innerHTML = 'Preencha o ultimo nome';
	return false;
}

if( email=='' || email!=email2 )
{
	erro.innerHTML = 'Não introduziu o e-mail, ou a confirmação de e-mail está errada ';
	return false;
}

if (password == '')
{
	erro.innerHTML = 'Preencha a password';
	return false;
}

if( !sexoM && !sexoF )
{
	erro.innerHTML = 'Escolha o seu sexo';
	return false;
}

if (ano == 0 || mes == 0 || dia == 0)
{
	erro.innerHTML = 'Preencha a sua data de nascimento';
	return false;
}

erro.innerHTML = '<font color="green">Registo efectuado com sucesso.</font>';
}
</script>

<style>
.singleBorder{
    border:1px #d6d6d6 solid;
    background-color:#f6f6f6;
}
.singleBorder td{
    font-family:Verdana, Arial, Helvetica, sans-serif;
    font-size:12px;
    font-weight:bold;
    color:#333333;
}
.singleBorder input,select{
    border:1px #aaaacc solid;
    font-family:tahoma;
    font-size:12px;
    font-weight:normal;
    padding:2px;
    background-color:#FFFFFF;
}
.singleBorder input:focus{  
    border:1px #aaaacc solid;
    font-family:tahoma;
    font-size:12px;
    font-weight:normal;
    padding:2px;
    background-color:#FFFF99;
}
.points{
    font-family:Verdana, Arial, Helvetica, sans-serif;
    font-size:12px;
    color:#999999;
    font-weight:normal;
    padding:30px;
}
.formHeading{
    font-family:Verdana, Arial, Helvetica, sans-serif;
    font-size:22px;
    font-weight:bold;
    color:#0066CC;
    padding:10px;
    text-shadow:#FF3333 .2em .2em .2em; 
}
</style>

</head>
<body>
<form action="registo_ligacao.php" method="POST" onsubmit="confirmar();">
    <table width="500px" border="0" cellpadding="2px" cellspacing="1px">
        <tr>
            <td width="2px" height="462"></td>
          <td>
          <div class="formHeading">Registate</div>
              <table width="100%" border="0" cellpadding="3px" class="singleBorder" cellspacing="2">
                  <tr>
                      <td colspan="2"> </td>
                  </tr>
                  <tr>
                  
                    <td align="right" width="130">Primeiro Nome:
                      </td>
                      <td><input type="text" name="nome" id="nome" size="40" /></td>
                  </tr>
                  <tr>
                      <td align="right">Ultimo nome:</td>
                      <td><input type="text" name="sobrenome" id="sobrenome" size="40" /></td>
                  </tr>
                  <tr>
                      <td align="right">Email:
                      </td>
                      <td><input type="text" name="email" id="email" size="40" /></td>
                  </tr>
                  <tr>
                      <td align="right"><p>Introduza novamente o e-mail:</p></td>
                      <td><input type="text" name="email2" id="email2" size="40" /></td>
                  </tr>                   
                  <tr>
                      <td align="right" style="font-weight:normal">Password:</td>
                      <td><input type="password"  name="password" id="password" size="40" /></td>
                  </tr>
                  <tr>
                      <td align="right" style="font-weight:normal">Sexo:</td>
                      <td><input type="radio" name="sexo" id="sexoM" value="M" />
                        Masculino
                          <input type="radio" name="sexo" id="sexoF" value="F" />
                      Feminino </td>
                  </tr>
                  <tr>
                      <td align="right" style="font-weight:normal">Data de nascimento:</td>
                      <td><select name='ano' id='ano'>
                        <option value='0'>Escolha...</option>
<script>
var date = new Date();
var year = date.getFullYear();

for (var i = year; i >= 1900; i--)
{
document.write('<option value="' + i + '">' + i + '</option>');
}
</script>

                      </select>
                        <select name='mes' id='mes'>
                          <option value='0'>Escolha...</option>
<script>
var month = new Array(0,'Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro');

for (var i = 1; i <= 12; i++)
{
document.write('<option value="' + i + '">' + month[i] + '</option>');
}
</script>

                        </select>
                        <select name='dia' id='dia'>
                          <option value='0'>Escolha...</option>
<script>
for (var i = 1; i <= 31; i++)
{
document.write('<option value="' + i + '">' + i + '</option>');
}
</script>
                      </select></td>
                </tr>
                  <tr>
                      <td align="right" style="font-weight:normal"> </td>
                      <td> </td>
                  </tr>
                  <tr>
                      <td> </td>
                      <td>
                          <input type="button" value="Confirmar" onClick="confirmar()" />
                      </td>
                  </tr>
                  <tr>
                      <td colspan="2">
                    <div class="points">
                      <div align="center"><font color="red" id="erro"></font></div>
                    </div>
                      </td>
                  </tr>
              </table>
            </td>
        </tr>
    </table>
     </form>
</body>
</html>

O teu código está a funcionar, mas apartir do momento em que te enganas na data a messagem de erro nao desaparece, mas ele aceita a data.

Share this post


Link to post
Share on other sites
alexandre16

Agora já está correcto e tudo funcional, só há um problema, não está a guardar dados nenhuns na base de dados, diz que o registo foi efectuado mas nao o guarda, e essa parte da ligacao está igual como estava na altura em que funcionava, algo se passa e nao consigo ver o que possa ser :/

Share this post


Link to post
Share on other sites
cra2sh

Agora já está correcto e tudo funcional, só há um problema, não está a guardar dados nenhuns na base de dados, diz que o registo foi efectuado mas nao o guarda, e essa parte da ligacao está igual como estava na altura em que funcionava, algo se passa e nao consigo ver o que possa ser :/

O registo diz que foi efectuado com exito mas foi a mensagem que lhe coloquei para veres que aceita a data.

Estive a adicionar este código para te facilitar

<script>
var date = new Date();
var year = date.getFullYear();

for (var i = year; i >= 1900; i--)
{
        document.write('<option value="' + i + '">' + i + '</option>');
}
</script>

                      </select>
                        <select name='mes' id='mes'>
                          <option value='0'>Escolha...</option>
<script>
var month = new Array(0,'Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro');

for (var i = 1; i <= 12; i++)
{
        document.write('<option value="' + i + '">' + month[i] + '</option>');
}
</script>

                        </select>
                        <select name='dia' id='dia'>
                          <option value='0'>Escolha...</option>
<script>
for (var i = 1; i <= 31; i++)
{
        document.write('<option value="' + i + '">' + i + '</option>');
}
</script>

Share this post


Link to post
Share on other sites
alexandre16

Sim realmente facilita e fico muito melhor, Obrigado mesmo, só uma coisa, isto já faz tudo bem mas nao guarda os dados na base de dados e antes guardava, sabes o que se possa estar a passar?

Share this post


Link to post
Share on other sites
cra2sh

Sim realmente facilita e fico muito melhor, Obrigado mesmo, só uma coisa, isto já faz tudo bem mas nao guarda os dados na base de dados e antes guardava, sabes o que se possa estar a passar?

O mais provavel é por ter sido colocado como número volta a colocar como estava

var ano = document.getElementById('ano').value;
var mes = document.getElementById('mes').value;
var dia = document.getElementById('dia').value;

if (ano == '0' || mes == '0' || dia == '0')
{
erro.innerHTML = 'Preencha a sua data de nascimento';
return false;
}

Share this post


Link to post
Share on other sites

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.