Ir ao conteúdo
  • Cadastre-se

PHP


lcfantin

Posts recomendados

Olá pessoal.

Estou tendo um problema na hora em que tento acessar o DB no site... mas aqui na minha máquina (localhost) não dá este erro. Por que será ?

Segue o código

<?php

// Conexão com o banco de dados

require "comum.php";

// Inicia sessões

session_start();

// Recupera o login

$login = isset($_POST["login"]) ? addslashes(trim($_POST["login"])) : FALSE;

// Recupera a senha

$senha = isset($_POST["senha"]) ? addslashes(trim($_POST["senha"])) : FALSE;

// Usuário não forneceu a senha ou o login

if(!$login || !$senha)

{

echo "<center>

<font face=\"Verdana\" size=1>Você deve digitar usuário e senha !</center>\n";

echo "<center>

<a href=\"sair.php\">** Voltar **</a></center>";

exit;

}

$SQL = "SELECT id, login, senha, nome, razao, cpf, cnpj, endereco, telefone, fax, email, senha_exa, contrato

FROM aut_usuarios

WHERE login = '" . $login . "'";

$result_id = @mysql_query($SQL) or die("Erro ao acessar o banco de dados!");

$total = @mysql_num_rows($result_id);

if($total)

{

$dados = @mysql_fetch_array($result_id);

if(!strcmp($senha, $dados["senha"]))

{

$_SESSION["id_usuario"] = $dados["id"];

$_SESSION["login_usuario"] = $dados["login"];

$_SESSION["senha_usuario"] = $dados["senha"];

$_SESSION["nome_usuario"] = $dados["nome"];

$_SESSION["razao_usuario"] = $dados["razao"];

$_SESSION["cpf_usuario"] = $dados["cpf"];

$_SESSION["cnpj_usuario"] = $dados["cnpj"];

$_SESSION["iestadual_usuario"] = $dados["iestadual"];

$_SESSION["endereco_usuario"] = $dados["endereco"];

$_SESSION["telefone_usuario"] = $dados["telefone"];

$_SESSION["telefone2_usuario"] = $dados["telefone2"];

$_SESSION["fax_usuario"] = $dados["fax"];

$_SESSION["celular_usuario"] = $dados["celular"];

$_SESSION["email_usuario"] = $dados["email"];

$_SESSION["contato_usuario"] = $dados["contato"];

$_SESSION["senha_exa_usuario"] = $dados["senha_exa"];

$_SESSION["contrato_usuario"] = $dados["contrato"];

header("Location: pg_autenticacao.php");

exit;

}

// Senha inválida

else

{

echo "

";

echo "<center><font face=\"Verdana\" size=1>Senha inválida !</center>\n";

echo "<center>

<a href=\"sair.php\">Voltar</a></center>";

exit;

}

}

// Login inválido

else

{

echo "

";

echo "<center><font face=\"Verdana\" size=1>O nome do usuário fornecido por você é inexistente !</center>\n";

echo "<center>

<a href=\"sair.php\">Voltar</a></center>";

exit;

}

?>

</body>

acima é o código (claro né), mas quando informo o usuário e a senha e tento fazer o login, dá op seguinte erro:

mensagem de erro: Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home2/csesiste/public_html/login_vai.php:2) in

/home2/csesiste/public_html/login_vai.php on line 7

Obrigado. :joia:

Link para o comentário
Compartilhar em outros sites

Postado Originalmente por alexmontoanelli@07 jan 2005, 13:14

olá...lcfantin..pelo q vi

seu erro está em starta a sessão depois de enviar qualquer dado para o browswer cliente

issto é um erroapenas inverta

coloque o session_start no começo do script

e depois o resot do codigo

deve resolver...

Olá alexmontoanelli

eu fiz o que você me orientou, mas infelizmente não deu certo, continua como erro.

<?php

// Inicia sessões

session_start();

// Conexão com o banco de dados

require "comum.php";

// Recupera o login

$login = isset($_POST["login"]) ? addslashes(trim($_POST["login"])) : FALSE;

**** daqui p/ baixo o código é o mesmo, não mudei nada

fiz assim, mas agora o erro é nalinha 3, justamente ao starta a sessão...

Por favor, veja o que mais pode estar ocorrendo.

Obrigado.

Link para o comentário
Compartilhar em outros sites

Postado Originalmente por lcfantin@07 jan 2005, 14:57

Olá alexmontoanelli

eu fiz o que você me orientou, mas infelizmente não deu certo, continua como  erro.

<?php

  // Inicia sessões

  session_start();

  // Conexão com o banco de dados

  require "comum.php";

  // Recupera o login

  $login = isset($_POST["login"]) ? addslashes(trim($_POST["login"])) : FALSE;

**** daqui p/ baixo o código é o mesmo, não mudei nada

fiz assim, mas agora o erro é nalinha 3, justamente ao starta a sessão...

Por favor, veja o que mais pode estar ocorrendo.

Obrigado.

Desculpa falha minha... não percebi mas tinha uma outra linha antes, tirei, mas agora o erro é outro:

O erro agora é:

Erro ao acessar Banco de Dados !

que também está no código abaixo... a coisa tá feia. segue o código novamente.

<?php

// Inicia sessões

session_start();

// Conexão com o banco de dados

require "comum.php";

// Recupera o login

$login = isset($_POST["login"]) ? addslashes(trim($_POST["login"])) : FALSE;

// Recupera a senha

$senha = isset($_POST["senha"]) ? addslashes(trim($_POST["senha"])) : FALSE;

// Usuário não forneceu a senha ou o login

if(!$login || !$senha)

{

echo "<center>

<font face=\"Verdana\" size=1>Você deve digitar usuário e senha !</center>\n";

echo "<center>

<a href=\"sair.php\">** Voltar **</a></center>";

exit;

}

$SQL = "SELECT id, login, senha, nome, razao, cpf, cnpj, endereco, telefone, fax, email, senha_exa, contrato

FROM aut_usuarios

WHERE login = '" . $login . "'";

$result_id = @mysql_query($SQL) or die("Erro ao acessar o banco de dados!");

$total = @mysql_num_rows($result_id);

// Caso o usuário tenha digitado um login válido o número de linhas será 1..

if($total)

{

// Obtém os dados do usuário, para poder verificar a senha e passar os demais dados para a sessão

$dados = @mysql_fetch_array($result_id);

// Agora verifica a senha

if(!strcmp($senha, $dados["senha"]))

{

// Agora, passa os dados para a sessão e redireciona o usuário

$_SESSION["id_usuario"] = $dados["id"];

é claro que o script continua, mas não posteinovamente.

Obrigado.

Link para o comentário
Compartilhar em outros sites

Olá pessoal.

Sabe o que eu não consigo entender, é por que que está funcionando tudo perfeitamente aqui no meu computador (servidor local) mas no meu site não funciona... dá erro de acesso ao banco de dados...

Mas parece estar tudo igual, não encontrei nada de diferente. Parece que o script não está "encontrando" o banco.

Será que tem que "habilitar" alguma coisa no servidor de hospedagem para funcionar ???

Obrigaoo, desde já. :help:

Link para o comentário
Compartilhar em outros sites

Olá!

Coloque aqui tb o código do arquivo comum.php, tanto o que esta no localhost quanto o que é enviado para o servidor.

Há, pode ser tosca a pergunta, mas, o seu servidor dá suporte ao php?

Ou entre em contato com o suporte do servidor pedindo o caminho do diretório onde ficam os bancos.

Vladimir

Link para o comentário
Compartilhar em outros sites

Olá Vladimir

Quanto ao sevidor, sim dá suporte a PHP.

Estou enviando então o scritp co arquivo comum.php

<?php

// Conecta-se com o MySQL

$conexao = mysql_connect("localhost", "csesiste_claudio", "aqui_vai_a_senha") or die ("Erro de Conexão !");

// Seleciona banco de dados

mysql_select_db("csesiste_clientes", $conexao) or die ("Base de dados não existe !");

?>

Valeu... uma abraço.

Link para o comentário
Compartilhar em outros sites

Obrigado pela ajuda, pessoal.

Já está tudo acertado. Realmente havia um erro, mas o alexmontoanelli, me deu a orientação e foi resolvido.

Tinha também um erro no meu provedor de hospedagem, ( faltou me informar que são eles quem definem o usuário e a senha do DB :sne: ), mas também já foi resolvido.

Tópico encerrado....

Até +

:bye:

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...