Jump to content
stinson92

Formulário alterar dados na Base de Dados

Recommended Posts

stinson92

Boas, estou a fazer um programa de um sistema de login. E como é um sistema de registar faturas, cada utilizador entra com o seu NIF. Até aqui tudo bem mas, é suposto um utilizador poder alterar os seus dados através de um formulário e esses dados substituírem na base de dados criada. A variável $user é usada para sabermos a que nif a sessão iniciada está atribuída, para saber qual a conta a ser alterada.

$ligacao = liga_bd();
$user = $_SESSION['user'] ;
$email = $_POST['email'];
$morada = $_POST['morada'];

if (!isset($_SESSION['user'])) {
 mysql_query("UPDATE utilizadores SET email = '$email', morada = '$morada' WHERE nif = '$user'");
 echo 'Dados actualizados';
} else {
 echo 'Nao foi actualizado';
}

Edited by Rui Carlos
GeSHi

Share this post


Link to post
Share on other sites
stinson92

Ya desculpa. Isto da-me um erro que diz undefined variable: _SESSION. O que está mal?

Share this post


Link to post
Share on other sites
HappyHippyHippo

quer dizer que :

- não apresentaste aqui a totalidade da mensagem que te é apresentada

- o erro não está no código que apresentaste ou configuraste mal o teu servidor


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
stinson92

Esta função está ligada a outra página que contem um form com os campos a alterar e um $_SESSION para saber qual a conta a ser alterada. E é mesmo só esse erro que aparece. Só que a parte do $_SESSION está numa tabela, e vai alterar os dados numa tabela diferente, não sei se isso é relevante.

Share this post


Link to post
Share on other sites
HappyHippyHippo

é mesmo só esse erro que aparece.

mas não é a mensagem completa ...


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
HappyHippyHippo

epa ... é assim ...

se eu disse que existia mais informação na mensagem é porque existia mais informação na mensagem. e se não percebes que a mensagem é :

Notice: Undefined variable: _SESSION in C:\wamp\www\Netbeans\PW\funcoes.php on line 101

é porque deverás ter problemas em perceber que a parte que coloquei a negrito também faz parte da mensagem, o que me leva a crer que é irrelevante continuar a responder a este tópico.

espera por alguém com mais paciência do que eu (irá aparecer) para te ajudar no que for preciso


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
stinson92

Eu achei que o restante da mensagem não fosse assim tão importante, através do que disse entendia-se qual era o erro. Mas tudo bem, obrigado na mesma.

Share this post


Link to post
Share on other sites
fil79

Eu achei que o restante da mensagem não fosse assim tão importante, através do que disse entendia-se qual era o erro. Mas tudo bem, obrigado na mesma.

Se leres bem a mensagem é mesmo importante

funcoes.php on line 101


MCITP-MCTS-MCP

Share this post


Link to post
Share on other sites
stinson92

Se leres bem a mensagem é mesmo importante

funcoes.php on line 101

Essa linha refere-se a:

$user = $_SESSION ['user'];

Share this post


Link to post
Share on other sites
munkbozz

E onde é atribuída á variável $_SESSION['user'] um valor?

Se tu tens um sistema de login, por exemplo: ao verificar se o NIF e a password estão correctos a partir da base dados, se os dados estiverem correctos atribui ao

$_SESSION['user'] o valor do campo onde se insere o NIF. É possível que te falte isto.

Share this post


Link to post
Share on other sites
oxyzero

Ele não está a reconhecer o tipo de variável de _SESSION. Não se trata se o campo está vazio, pois se fosse esse o caso ele avisava-te que o valor do índice não estava definido.

Podes mostrar o código da página toda?

Share this post


Link to post
Share on other sites
stinson92

E onde é atribuída á variável $_SESSION['user'] um valor?

Se tu tens um sistema de login, por exemplo: ao verificar se o NIF e a password estão correctos a partir da base dados, se os dados estiverem correctos atribui ao

$_SESSION['user'] o valor do campo onde se insere o NIF. É possível que te falte isto.

Isso eu ja tenho, assim que ele entra no sistema ele atribui a variavel $user o valor do $_SESSION que é o NIF. Só que ele nao altera na base de dados

Ele não está a reconhecer o tipo de variável de _SESSION. Não se trata se o campo está vazio, pois se fosse esse o caso ele avisava-te que o valor do índice não estava definido.

Podes mostrar o código da página toda?

Isto está na página do form.

$user = $_SESSION['user'];
 echo $user;

A função fica noutro ficheiro e está assim

$ligacao = liga_bd();
$user = $_SESSION['user'];
if (!isset($_SESSION['user'])) {
 mysql_query("UPDATE utilizadores SET email = '$email', morada = '$morada' WHERE nif = '$user'");
 echo 'Dados actualizados';
} else {
 echo 'Nao foi actualizado';
}
mysql_close($ligacao);

Edited by Rui Carlos

Share this post


Link to post
Share on other sites
N3lson

estás a dizer " se não existir sessão" if (!isset($_SESSION['user'])) ele actualiza ?


You can't do it, kid. But don't worry, my boy. You're not the only one. No one else can do it.

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.