Queiroz 0 Denunciar post Postado Dezembro 13, 2004 Fala Galera,Sou novo aqui no fórum e estou com um problema. Estou criando uma página de internet em php com acesso ao banco de dados Mysql. Agora vem o problema.Preciso fazer várias atualizações em um dos campos da tabela. Mas a única atualização que dá certo é a primeira.include ("conectar.php");$logar = mysql_query("SELECT * FROM login WHERE nome='$nome' AND senha='$senha'") or die("erro ao selecionar");if (mysql_num_rows($logar)>0 ){ $verifica=mysql_fetch_array($logar,MYSQL_NUM); $a=$verifica[2]; $verifica[2]+=1; mysql_query("UPDATE login SET quantidade='$verifica[2]' WHERE nome= '$nome' AND senha = '$senha' AND quantidade = '$a'");....}Esta atualização dá certo ... depois desta atualiazação chamo outra página e nesta outra tb deveria ocorrer atualização mas não não ocorre.include ("conectar.php");mysql_query("UPDATE login SET quantidade= '2' WHERE nome= '$nome' AND senha = '$senha'") or die("erro ao selecionar");Nesta atualização eu queria que o campo quantidade recebesse 2, mas isso não ocorre.Já tentei várias modificações, mas em nenhuma obtive sucesso.Obrigado desde já,Diogo. Compartilhar este post Link para o post Compartilhar em outros sites
michelsp 0 Denunciar post Postado Dezembro 13, 2004 os dados $nome, $senha estão msm disponiveis na 2 pg?!?! :huh: se der um echo neles, retorna algo?!?! Compartilhar este post Link para o post Compartilhar em outros sites
Queiroz 0 Denunciar post Postado Dezembro 13, 2004 A variável nome contém o conteúdo correto ....já fiz os testes e ela retornou o esperado. Agora vou mandar o programa completo paraa você dar uma olhada, mas acho q está tudo certo, mas mesmo assim não funciona.Preciso fazer várias atualizações em um dos campos da tabela. Mas a única atualização que dá certo é a primeira. Este é o arquivo consulta.phpinclude ("conectar.php");session_start();$nome= $_POST['nome'];$senha = $_POST['senha'];$logar = mysql_query("SELECT * FROM login WHERE nome='$nome' AND senha='$senha'") or die("erro ao selecionar");if (mysql_num_rows($logar)>0 ){ $usuario['nome']=$nome; $usuario['senha']=$senha; session_register("usuario"); $verifica=mysql_fetch_array($logar,MYSQL_NUM); $a=$verifica[2]; $verifica[2]+=1; mysql_query("UPDATE login SET quantidade='$verifica[2]' WHERE nome= '$nome' AND senha = '$senha' AND quantidade = '$a'"); mysql_close($conectar); header("location:questao1.php");}Esta atualização dá certo ... depois desta atualiazação chamo outra página e nesta outra tb deveria ocorrer atualização mas não ocorre. O arquivo qusetao1.php contém o seguinte código.include ("conectar.php");session_start();$teste=session_is_registered("usuario");$nome=$usuario['nome'];$senha=$usuario['senha'];mysql_query("UPDATE login SET quantidade= '2' WHERE nome= '$nome' AND senha = '$senha'") or die("erro ao selecionar");mysql_close($conectar);O arquivo conectar.php contém o seguinte código:<?php$host = "localhost";$user = "root";$senha = "11111";$dbname = 'login';//conecta ao banco de dados$conectar=mysql_connect($host,$user,$senha) or die('Não foi possível conectar-se com o banco de dados');//seleciona o banco de dadosmysql_select_db($dbname)or die('NNNNão foi possível conectar-se com o banco de dados');?>Pq a atualização da página (arquivo) questão1.php não ocorre? As variáveis $nome e $senha contém os meus dados tanto no arquivo consulta quanto no questao1.php.Obriagdo desde já pela ajuda,Diogo. Compartilhar este post Link para o post Compartilhar em outros sites
michelsp 0 Denunciar post Postado Dezembro 13, 2004 PHP [/tr][tr]$nome=$usuario['nome'];$senha=$usuario['senha'];[/tr]q q é isso?!?! Array?!?! Ta sendo definido no começo da pg?!?! :huh: Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Dezembro 14, 2004 o erro está no envio de cabeçalhos session_start() e header("location:questao1.php"); session_start() envia um cabeçalho para o navegador, não pode ter nanhuma saída antes do seu uso. Nenhum outro cabeçalho pode ser enviado depois do uso do session_start() Pode até usar, mas vai provocar erros no script ou na execução, no processamento de dados. esse trecho: $verifica=mysql_fetch_array($logar,MYSQL_NUM); $a=$verifica[2]; $verifica[2]+=1; mysql_query("UPDATE login SET quantidade='$verifica[2]' WHERE nome= '$nome' AND senha = '$senha' AND quantidade = '$a'"); você poderia simplificar desssa forma: mysql_query("UPDATE login SET quantidade=(quantidade+1) WHERE codigo = '$codigo'");para somar um valor você pode usar comando so próprio mysql (azul) no lugar de código (negrito) você coloca o nome do campo primário referente as dados encontrados na tabela quando foi feita a consulta de validação do nome e senha Compartilhar este post Link para o post Compartilhar em outros sites
Queiroz 0 Denunciar post Postado Dezembro 14, 2004 Michelsp -- a variável usuário é um array que é armazenado na sessão ... com isso (acho) esta variável fica arnazenada na sessão ... assim .. até que a destrua esta variável fica contida nesta sessão ... para ter acesso a ela basta iniciar a sessão (session_start).hinom -- qual é a sugestão pra eu ter acesso a outra página que desejo (questao1.php) sem enviar um cabeçalho. Session_start pelo menos acho que eu não posso retirar devido ao q desejo fazer, mas como devo fazer para chamar a página questao1.php sem enviar um cabeçalho (que é (acho) a sua sugestão) ?Obrigado pela ajuda de vcs,Diogo. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Dezembro 15, 2004 naquele trecho: mysql_close($conectar);header("location:questao1.php");}troque por isso:mysql_close($conectar);?><script language=javascript>location.href="questao1.php";</script><?}para testar se a variável de sessão está registrada,coloque isso na primeira linha do arquivo questao1.phpsession_start(); echo "usuário: ": $usuario['nome']; die;se aparecer o valor então está tudo okcomente a linha e prossiga debugando o código Compartilhar este post Link para o post Compartilhar em outros sites