Problème pgsql

Fermé
pop2010 - 22 déc. 2003 à 01:56
 pop2010 - 22 déc. 2003 à 12:24
Bonjour !

Voilà j'ai un problème avec pgsql et php.

Je récupère deux champs pass_client (mot de passe d'un client) et admin_client (booléen, le client est administrateur si vrai).

Je récupère également d'un formulaire $password (mot de passe entré dans le formulaire).

Je met un echo pour vérifier mes variable dans le site, et je constate que si le mot de passe entré dans le formulaire et le booléen sont corrects, le mot de passe stocké dans la base de donnée est toujours retourné avec un espace en plus... (donc par exemple au lieu d'avoir "pass" il renvoie "pass "), ce qui fait que je ne peux pas comparer les deux valeurs. En testant je me suis rendu compte que ça se passe avec toutes les chaînes de caractères.

Voici la parti du code concernée :

<?php include('connect.php');
$query="SELECT pass_client, admin_client FROM client WHERE login_client='".$login."'";
$result=pg_exec($cnx, $query);
if(!$result) {
  echo("Echec $query");
  exit();
}
$liste=pg_fetch_array($result, 0);
if($liste[pass_client]==$password) {
  if($liste[admin_client]) { ?>


J'aimerai donc savoir où le bât blesse... ou alors (mais c'est marginal comme solution) comment rajouter un espace à la variable $password (apparemment $password=+" " ne fonctionne pas).

Merci d'avance !

2 réponses

grofwa Messages postés 440 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 21 juillet 2006 479
22 déc. 2003 à 09:33
Salut,

Le problème d'espace ne me dis rien, mais effectivement, il y a une solution un peu moins jolie d'ajouter un espace au password :
$password .= " "; // Concaténation string avec le point !

Ou si il n'y a pas d'espace en fin de password :
if (rtrim($liste[pass_client] == rtrim[$password])

Pas très joli j'en conviens, mais ça devrait marcher...

Michael.
0
Merci pour la solution, j'essayerai ça.

Je me suis tout de même demandé si en fait ce n'était pas la manière de mettre les données dans la table qui pose problème, j'ai utilisé pgadmin 3 sous windows pour faire un insert, il faudra donc que je fasse des tests.
0