a ver no entiendo porque después de comparar en tu consulta el usuario y pass ingresado, lo vuelves a comparar(digo no?????).
pienso que tu código debería ser algo así.
Cita: <?php
session_start();
If(isset($_POST$_POST["usuario"]) and isset($_POST["password"]))
{
$usuario=$_POST["usuario"];
$pass=$_POST["password"];
//validaciones de las variables
$con=pg_connect("host=127.0.0.1 port=5432 user=postgres password=*** dbname=Curso");
if ($con === PGSQL_CONNECTION_OK) {} else {echo 'no pudo conectarse';
}
$sql="SELECT id_usuario,usuario FROM usuarios WHERE usuario='$usuario' and contrasena='$pass'";
$query=pg_query($sql);
If(pg_num_rows($query)==1)
{
$row=pg_fetch_row($query);
$_SESSION["id"]=$row[0];
$_SESSION["usuario"]=$row[1];
header ('Location: curso/nihongo_aragon.php?modulo=inicio');
exit;
}
else
{
header ('Location: logerror.php');
exit;
}
}
else
{
echo “no existen los datos”;
}
?>