Prova questo codice
Codice PHP:
<?php
session_start();
require ('connessione.php');
if ( !isset ($_SESSION["utente"]))
{
$usr = $_POST["username"];
$pass = $_POST["pass"];
$_query = "SELECT username,password FROM utente WHERE username ='$usr' and password = '$pass'";
echo $_query;
$result = pg_query($query);
if( ! $result )
{
echo "C'è stato un errore nell'esecuzione della query";
}
if(pg_fetch_array($result))
{
$_SESSION["utente"] = $usr;
$_SESSION["password"] = $pass;
echo "ciao $usr, sei loggato al sito";
}
else
{
echo "I dati forniti per il login non sono corretti!"
}
}
else
{
echo "Hey " . $_SESSION['utente'] . ", sei già loggato!";
}
?>
Per quanto riguarda la sicurezza, come minimo dovresti fare un'escape della query prima di eseguirla per assicurarti che non ci sia codice malevolo nei dati inseriti dall'utente (per maggiori informazioni cerca "sql injection").
Con PostgreSQL non ho molto a che fare, ma dopo una rapida consultazione del manuale, ciò che dovrebbe servirti è la funzione pg_escape_literal().
P.S. anche
echo $result;
non è corretto, $result contiene un resultset, non una stringa, oppure FALSE se la query fallisce.