Problème connexion php et postgres

Fermé
Utilisateur anonyme - 13 juin 2011 à 22:10
 Utilisateur anonyme - 14 juin 2011 à 10:00
Bonjour à tous,

Voila j'ai un très gros problème ! Je travail sous Ubuntu
Pour mon BTS on doit faire des pti et j'ai donc fait un site internet qui gére un garage.
La première page est ma page d'accueil avec identification par login et mot de passe.
Seuelement voila, quand je veux me conecter avec l'identifiant 'stik' et le mot de passe 'stik' ca me renvoie 'erreur de conexion'. J'ai l'impression qu'il se conecte jamais a ma base en faites. Je vous met mon code :

Code de la page authentification.php

<?php
	session_start();
	include_once ("fonctions.inc");
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
	<head>
		<link rel="stylesheet" type="text/css" href="style.css"/>
		<title>Garage Chivrolette</title>

	</head>
<body>

<div id="header">
	<h1>Garage Chivrolette<sup>&#174;</sup></h1>
	<div class="description">Connexion</div>
</div>
<br /><br /><br /><br />


<?php


$passwd = $_POST["passwd"];
$login = $_POST["login"];

$resultat = estAuthentifie($login, $passwd);
$profil = profilUtilisateur($login);
$_SESSION["idDuClient"] = idClient($login);

if(($resultat == true && $profil == 1) || ($resultat == true && $profil == 2))
{
	
	$_SESSION["profil"] = $profil;
	echo "<p align ='center'>Vous êtes identifié ...<br/>Redirection automatique dans 1 secondes</p>
		  <form action='accueil.php' method='post'>
		  <p align='center'>
		  <button type='submit'>Continuer</button>
		  </p></form>";
	?>
		<meta http-equiv='refresh' content='1; url=accueil.php' />
	<?php
}

else
{
	echo "<p align ='center'>Mauvais Login ou Mot de passe (voir les deux) ...<br/>Redirection automatique dans 1 secondes</p>
		  <form action='index.php' method='post'>
		  <p align='center'>
		  <button type='submit'>Retour</button>
		  </p>
		  </form>";
	?>
		<meta http-equiv='refresh' content='1; url=index.php' />
	<?php
}
?>

		  <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
		  <p align='center'>Ce site n'est pas affilié à Ronald McDonald <sup>©</sup> (et c'est bien dommage)</p>

</body>

</html>


code des fonctions :

<?php

require_once ("constantes.inc");

//**********************************************************************//
function crypter($pPasswd)
{
	$lPasswdCrypte = substr(crypt($pPasswd, substr($pPasswd, 0, 2)), 2, 13);
	return $lPasswdCrypte;
}

//**********************************************************************//
function estAuthentifie($pLogin, $pPasswd)
{
	$lPasswd = crypter($pPasswd);
	
	$lConnexion = pg_connect("host=localhost port=5432 dbname=" . BASE . " user=" . UTILISATEUR . " password=" . MDP);
	if (!$lConnexion) 
	{
		echo "erreur de connexion<br>\n";
		exit(1);
	}
	$lRequete = "select * from utilisateur where login='$pLogin' and motdepasse='$lPasswd'";
	$lResultat = pg_query($lConnexion, $lRequete);
	if (!$lResultat) 
	{
		echo "Une erreur est survenue.<br>\n";
		exit(1);
	}

	$lLignes = pg_fetch_all($lResultat);
	if($lLignes == false)
		$lCorrespond = false;
	else
		$lCorrespond = true;

	return $lCorrespond;
}
?>


Code des constantes :

<?php

define("UTILISATEUR", "stik");
define("MDP", "stik");
define("BASE", "garage");

?>



et la base de donnée :

\c postgres
drop database if exists garage;
create database garage;

\c garage;

drop table if exists intervention;
drop table if exists vehicule;
drop table if exists client;
drop table if exists utilisateur;

create table client (
    id serial primary key,
    nom varchar(30),
    prenom varchar(30),
    numTel varchar(14)
);

create table vehicule (
    immat varchar(10) primary key,
    marque varchar(30),
    modele varchar(30),
    idClient int,

    foreign key (idClient) references client(id) on delete cascade
);

create table intervention (
    id serial primary key,
	ladate date,
	heure varchar(8),
    libelle varchar(50),
    prix decimal,
    immat varchar(10),

    foreign key (immat) references vehicule(immat) on delete cascade
);

create table utilisateur (
	idClient int,
    login varchar(20) primary key,
    motDePasse varchar(20),
    profil int,

    foreign key (idClient) references client(id) on delete cascade
);

-- Jeux d'essai
insert into client values ('1','alexy','husson','0324375896');
insert into utilisateur values('1','stik','Lo2357MY6cI','1');



-- Droits
GRANT all on client to stik;
GRANT all on intervention to stik;
GRANT all on utilisateur to stik;
GRANT all on vehicule to stik;
GRANT all on intervention_id_seq  to stik;


Evidemment j'ai fait un
create role stik with password 'stik'


Donc le problème est que dès que je tape dans login et mot de passe 'stik' 'stik, puis que j'appuie sur valider, ca me renvoie erreur de connexion comme si il se connecter pas a ma base.

J'ai même essayer dans un fichier a part :
<?php $lConnexion = pg_connect("host=localhost port=5432 dbname=garage user=stik password=stik");
	if (!$lConnexion) 
	{
		echo "erreur de connexion<br>\n";
		exit(1);
	}
	else {
		echo "ca marche";
	}
?>

Et ca me renvoie erreur de connexion.

Merci de m'aider et de prendre de votre temps pour moi s'il vous plait.

A voir également:

1 réponse

Utilisateur anonyme
14 juin 2011 à 10:00
Personne n'as un petite idée ?
0