Connexion impossible avec un utilisateur créer en php
nadkaroui
Messages postés
4
Statut
Membre
-
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30426 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Quand je crée un utilisateur sur Postgres j'arrive à me connecter avec par contre quand je le crée sur une page php et j'essaie d'utiliser ses identifiants il m'affiche l'erreur "Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: FATAL: authentification par mot de passe échouée pour l'utilisateur"
voila mon code :
pour plus de détail voila la page php d'authentification
Merci pour votre aide.
Quand je crée un utilisateur sur Postgres j'arrive à me connecter avec par contre quand je le crée sur une page php et j'essaie d'utiliser ses identifiants il m'affiche l'erreur "Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: FATAL: authentification par mot de passe échouée pour l'utilisateur"
voila mon code :
<?php
$host = "host=localhost";
$dbname = "dbname=cloud-personnel";
$user = "user=postgres ";
$pass = "password=root";
$port = "port=5432";
$db=pg_connect( "$host $port $dbname $user $pass" );
$alias = $_POST["alias"] ;
$categorie = $_POST["cat"] ;
$pass = $_POST["password"] ;
$sql2 = "create user $alias with password '$pass';";
$sql3 = "alter group $categorie add user $alias";
pg_query($sql2);
pg_query($sql3);
header("location: ajoutuser.php");
?>
pour plus de détail voila la page php d'authentification
<?php
$pseudo = $_POST['la1'];
$passe = $_POST['la2'];
//Variable de connexion
$host = "host=localhost";
$dbname = "dbname=cloud-personnel";
$user = "user=".$pseudo;
$pass = "password=".$passe;
$port = "port=5432";$date = date("m.d.y");
// CONNEXION A LA BASE DE DONNEE
if (pg_connect( "$host $port $dbname $user $pass" ))
{
if ($pseudo=='postgres' && $passe=='root')
{
header("Location:index_admin.html");
exit;
}
else
{
$sql = "UPDATE utilisateur SET date_con = '$date', nb_cnx = nb_cnx + 1 WHERE alias = '$user'";
$res=pg_query($sql);
header("Location:index_user.php?pseudo=$user&pass=$pass");
exit;
}
}
else
{
header("Location:authentification.php?error");
}
?>
Merci pour votre aide.
1 réponse
-
Bonjour,
Ne te manquerait il pas des virgules ?$db=pg_connect( $host, $port, $dbname, $user, $pass );
EDIT : En regardant le manuel je pense que la chaine de connexion serait plutot du genre :$dbconn3 = pg_connect("host=$host port=$port dbname=$dbname user=$user password=$pass ");
Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane-
Merci pour votre réponse rapide, je pense qu'avec pg_connect on ne met pas les virgules je fais pareil pour les autres manipulations de mes pages et j'ai aucune erreur. L'utilisateur est déjà créer avec le mot de passe c'est pareil que je le crée en sql sur postgres par contre celui que je crée en sql j'arrive à me connecter avec et l'autre non :/ c'est bizarre
-
oui les variables de connexion sont en haut du code qui font pareil
$host = "host=localhost";
$dbname = "dbname=cloud-personnel";
$user = "user=postgres ";
$pass = "password=root";
$port = "port=5432";
bien cordialement- Oui je viens de le voir..
j'avais lu en diagonale.. désolé...
Par contre... je ne comprend pas ta phrase :L'utilisateur est déjà créer avec le mot de passe c'est pareil que je le crée en sql sur postgres par contre celui que je crée en sql j'arrive à me connecter avec et l'autre non
Ah.. je viens de voir que tu avais ajouté des infos...
Donc ton souci se situerait au niveau de cette partie là de ton code ?$pseudo = $_POST['la1']; $passe = $_POST['la2']; //Variable de connexion $host = "host=localhost"; $dbname = "dbname=cloud-personnel"; $user = "user=".$pseudo; $pass = "password=".$passe; $port = "port=5432";$date = date("m.d.y");
=> As tu fais un print_r($_POST) pour voir si les variables étaient bonnes ?
Eventuellement fais aussi un Print de ta chaine de connexion:$cnxString = "$host $port $dbname $user $pass" ; echo "<br> Chaine de connexion : <br>"; print_r($cnxString ); // CONNEXION A LA BASE DE DONNEE if (pg_connect( $cnxString ))
-
-