Jump to content
xico127

Erros ao inserir na base de dados

Recommended Posts

xico127

Boa tarde

eu estou a tentar inserir dados numa base de dados através de php mas por algum motivo os dados nao estam a ser inseridos, mas quando envio o form nao me da nenhum erro  :)

gostava que alguem me pudesse ajudar sff

<?php

include "config.php";

$nome=$_POST['nome'];
$login=$_POST['user'];
$pass=$_POST['pass'];
$morada=$_POST['morada'];
$cod_postal=$_POST['cod_postal'];
$dia=$_POST['dia'];
$mes=$_POST['mes'];
$ano=$_POST['ano'];
$sexo=$_POST['sexo'];
$tlm=$_POST['tlm'];
$tlf=$_POST['tlf'];
$mail=$_POST['mail'];
$bi=$_POST['bi'];
$enc_educ=$_POST['enc_educ'];
$data=$ano.'-'.$mes.'-'.$dia;


if($ano<2002 && $ano>=2005){
$seccao=1;
$sql=mysql_query("insert into elementos (nome, morada, cod_postal, data_nasc, sexo, telemovel, telefone, email, bi, enc_educ, id_seccao) VALUES('', '$nome', '$morada', '$cod_postal', '$data', '$sexo', '$tlm', '$tlf', '$mail', '$bi', '$enc_educ', '$seccao')"or die("Erro ao inserir os dados"));
$tipo=1;
$sql=mysql_query("insert into login (nome, login, pass, tipo) values ('', '$nome', '$login', '$pass', '$tipo')");
echo " <meta http-equiv=refresh content='0; url=index.php'>
	<script type='text/javascript'>
	alert(\"Registado Com sucesso\");
	</script>";
}

ps: estou a receber os valores do form para esta pagina correctamente!

se alguem me pudesse ajudar agradecia imenso!

Share this post


Link to post
Share on other sites
scorch

Isso deve-se a esse if, que retornará sempre false.

Aí tu estás a verificar se o Ano é menor que 2002 e maior que 2005. Impossível.

Acho que o que tu queres é: :)

<?php

include "config.php";

$nome=$_POST['nome'];
$login=$_POST['user'];
$pass=$_POST['pass'];
$morada=$_POST['morada'];
$cod_postal=$_POST['cod_postal'];
$dia=$_POST['dia'];
$mes=$_POST['mes'];
$ano=$_POST['ano'];
$sexo=$_POST['sexo'];
$tlm=$_POST['tlm'];
$tlf=$_POST['tlf'];
$mail=$_POST['mail'];
$bi=$_POST['bi'];
$enc_educ=$_POST['enc_educ'];
$data=$ano.'-'.$mes.'-'.$dia;


if($ano > 2002 && $ano <= 2005){
    $seccao=1;
    $sql=mysql_query("insert into elementos (nome, morada, cod_postal, data_nasc, sexo, telemovel, telefone, email, bi, enc_educ, id_seccao) VALUES('', '$nome', '$morada', '$cod_postal', '$data', '$sexo', '$tlm', '$tlf', '$mail', '$bi', '$enc_educ', '$seccao')"or die("Erro ao inserir os dados"));
    $tipo=1;
    $sql=mysql_query("insert into login (nome, login, pass, tipo) values ('', '$nome', '$login', '$pass', '$tipo')");
    echo " <meta http-equiv=refresh content='0; url=index.php'>
                <script type='text/javascript'>
                alert(\"Registado Com sucesso\");
                </script>";
}


PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
brunoais

Verifica se depois de:

$sql=mysql_query("insert into login (nome, login, pass, tipo) values ('', '$nome', '$login', '$pass', '$tipo')");

$sql é FALSE sff.


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
xico127

Obrigado realmente tinha o erro nos anos, e agora o javascript ja me aparece registado com sucesso apesar disso os dados ainda nao estao a ser enviados para a base de dados!

:)

Share this post


Link to post
Share on other sites
scorch

Antes de fazeres aquele echo do JavaScript e depois da query, mete isto: e vê o que aparece.

echo mysql_errno().": ".mysql_error();


PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
xico127

1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1

da este erro

Share this post


Link to post
Share on other sites
xico127

alguem me pode dar uma ajuda por favor estou mesmo a rasca :)

obrigado

pela ajuda ate agora B)

Share this post


Link to post
Share on other sites
Mac135

$sql=mysql_query("insert into elementos (nome, morada, cod_postal, data_nasc, sexo, telemovel, telefone, email, bi, enc_educ, id_seccao) VALUES('', '$nome', '$morada', '$cod_postal', '$data', '$sexo', '$tlm', '$tlf', '$mail', '$bi', '$enc_educ', '$seccao')"or die("Erro ao inserir os dados"));

nesta linha do insert porque tens ''(2 plicas) antes de $nome, é que estas a tentar inserir 12 valores em 11 campos, não será isso?

Share this post


Link to post
Share on other sites
xico127

as pelicas é por causa de 1 auto increment mas realmente faltava-me definir 1 campo!

muito muito obrigado

tópico resolvido

:)

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.