Ir para conteúdo
Fórum Script Brasil
  • 0

Acessando banco Firebird


JGS

Pergunta

Bom dia a todos, sou iniciante em php e estou com dificudades de acertar um codigo de login em php com firebird

a primeira difculdade que encontrei foi na conxao com o banco,

o erro retornado e esse: Fatal error: Call to undefined function: ibase_connect() in d:\web_server\logon_confirm.php on line 4

sera que alguém poderia medar uma ajuda.

se precisar envio o codigo.

desde já agradeço.

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

Boa tarde, sim essa configuraçaõ do " PHP.ini" já esta feita, mais ainda sim esta sem conexão.

Sera que pode ser a versão, eu estou usando a "4.4.9".

?

Esse seria o código que estou usando:

<html>

<body>

<?

$conectar=ibase_connect("192.168.0.101:D:/BANCO/CADASTRO.FDB","SYSDBA","masterkey");

ibase_select_db("login", $conectar);

$resultado=ibase_query("select * from CADASTRO where NOME='$userid' and SENHA=password('$pass')");

$num_linhas=ibase_num_rows($resultado);

//echo $num_linhas;

// Se numero de linhas no banco for zero quer dizer q não existe o usuario ou a senha não confere

if ($num_linhas=="0"){

echo "Usuário ou senha inválidos<br>";

echo "<a href=java script:history.go(-1)>Voltar</a>";

}else{

// caso contrario ele guarda na sessao os dados do usuario, o id e o nome do usuario

while ($linha=ibase_fetch_array($resultado)){

//echo ("logado");

$id_user=$linha[0];

$nome_user=$linha[1];

session_start();

session_register('id_user','nome_user');

//echo ("logado");

header ("location: pagina.php");

}

}

?>

</body>

</html>

Link para o comentário
Compartilhar em outros sites

  • 0

Boa noite a todos, Sistema de login PHP + Firebird, ainda sem solução.

Retornando erro de conexão.

Fatal error: Call to undefined function: ibase_connect() in d:\web_server\logon_confirm.php on line 4

PHP4 + Firebird 1.5 + APACHE 1.3

Link para o comentário
Compartilhar em outros sites

  • 0

Cara o erro fala que ele não conseguiu chamar a função porque ela não existe, não adianta muito "brigar" com o código, ela não existe porque ela, a extensão do firebird, não está instalada corretamente. Siga o manual de instalação e faça as seguintes verificações básicas:

1. Se o arquivo gds32.dll está na pasta system

2. Se o diretório em que a DLL está, está na PATH do Windows (caso a dll não esteja na system)

3. Se seu PHP.ini está de acordo com as configurações corretas

4. Se a php_interbase.dll está no diretório ext do php (ou outro diretorio setado como de extensoes) e se está liberada no php.ini

E o principal leia o link que o ESerra te passou, mais explicado do que lá impossível ;)

Caso você não consiga instalar manual pode usar um pack que gerencie as suas extensões, por exemplo o WAMP SERVER para ficar mais fácil pra você.

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia a todos, segui todas as dicas possiveis e impossiveis para o caso da conexão, pleo que pude observar e bug do php mesmo, apesar de ninguém relatar, mas isso usando Firebird, pelo menos na versão que eu estava utilizando que e a PHP 4.4.9 + APACHE 1.3.3.1, bom a questão e que o modulo do interbase, e que não reconhecia os comandos ibase.

Para resolver tudo eu acabei por desinstalar as versões do APCHE 1.3.31 + PHP4, e substituindo pelas versões mais atuais, APACHE 2.2.9 + PHP 5.2.9,

so que com uma resalva depois de instalar tudo e fazer as configurações essas versões por sua vez, tambem apresentaram erro em uma configuração especifica que e a versão da dll se carregamento do PHP5, que sugeri apontar para php5apache2.dll e na verdade seria a php5apache2_2.dll para o carregamento do PHP, que funcionou normal.

Agora vou testar o script. qualquer coisa eu posto novamente.

Abraço.

Link para o comentário
Compartilhar em outros sites

  • 0

Bem pessoal, testei o script ali postado mais sem sucesso, procurei algo bem mais simples, dai consegui este código:

<?

//Dados do formulário

$login=strtoupper($HTTP_POST_VARS['usuario']);

$pass=strtoupper($HTTP_POST_VARS['senha']);

//Verifica se não esta em branco

if (trim($login)=='')

{

print('Campo nome vazio...');

}

if (trim($pass)=='')

{

print('Campo senha vazio...');

}

//Faz a conexão com o banco FB

$conexao=ibase_connect("localhost:C:/BANCO/WEB_USERS.FDB","SYSDBA","masterkey","WIN1252",0,3)

or die('Não foi possível conectar a base de dados!');

//Se conectado executará a query, selecionando os dados abaixo:

if ($conexao) {

$query=("select IDCOD,LOGIN,PASS from USERS where LOGIN='$login' and PASS='$pass'");

$valida=(ibase_query($conexao,$query));

//a função ibase_fetch_object( ) obtém uma linha como um objeto de um banco de dados InterBase, ou seja, um pseudo-objeto.

if ($valida) {

while ($row = ibase_fetch_object($valida)) {

$achou=$row->IDCOD;

}

}

//Caso haja algum retorno a pagina index será aberta, caso não haja, receberá uma mensagem de usuário ou senha incorreta!

if ($achou > 0) {

include('acesso.htm');

}

else {

print("Usuário ou senha incorreta!!");

}//Fecha a conexão com o banco

ibase_close($conexao);

}//Fim do script

?>

Funcionou pefeitamente, depois de adptado algumas linhas, e um código bem simples mais que server para mostrar a didatica da coisa.

Da minha parte esta resolvido este tópico, qualquer dúvida voltarei a postar.

Agradeço a todos a atenção.

Link para o comentário
Compartilhar em outros sites

  • 0

Boa tarde.

Estou com o mesmo problema.

Já realizei todos estes procedimentos, mas nada dá certo.

Utilizei a função da maneira que o JGS mostrou:

<?php
	$conexao=ibase_connect("localhost:C:/xampp/htdocs/Teste1/BANCO.FDB","SYSDBA","masterkey","WIN1252",0,3) or die('Não foi possível conectar a base de dados!');
?>

Meu programa tem apenas isso, mas mesmo assim não funciona, dá erro de ibase_connect indefinido.

Alguém sabe me ajudar?

Obrigado.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...