Ciao,
di seguito quello che io ho notato.
Innanzitutto, siccome dici di non ricevere nessun genere di errore,
ti consiglierei di inserire questa linea come prima linea di codice
Codice PHP:
error_reporting(E_ALL);
in questo modo attiverai la visualizzazzione degli errori.
Per la gestione del db usi una classe che si chiama 'db' ma la istanzi come 'db_open', dovresti quindi scrivere
Codice PHP:
$db = new db();
$db->db_open();
$db->db_connect();
Da questo momento saresti connessa al database.
E' inutile istanziare la classe molteplici volte ed effettuare molteplici connessioni in quanto per la connessione usi sempre gli stess dati, dichiarati in db_open().
Inoltre questo if
Codice PHP:
if (!$result1 && !$result2)
devi notare che è una casistica che avviene solo quando ENTRAMBE i result danno esito negativo, devi poi vedere tu se far succedere qualcosa o meno se solo uno dei due ha dato errore.
In caso che la procedura abbia esito positivo, entreremmo nell'else, che prevede prima un 'echo' e quindi un 'header location', questo vuol dire che l'echo non sarà mai visualizzato, in quanto l'utente sarebbe rediretto senza visualizzare nessun genere di output, o in alternativa potresti ricevere il fatidico errore 'headers already sent'.
Infine la sintassi del tuo codice fa trasparire che questo sia stato scritto per php4, forse sarebbe il caso di aggiornare un po...
C'è qualche motivo sulla scelta di postgres rispetto a mysql?
Ciao