Ci ho messo un po' ma penso di esserci riuscita:
Codice PHP:
<?php
class dbfunctions{
#definisco le variabili d'accesso
var $conn = "host=localhost port=5432 dbname=minifacebook user=*** password=***";
var $db;
var $query;
#Connessione al database tramite i parametri indicati
public function connect(){
$this->db = pg_connect($this->conn);
if (!$this->db){
die ("Errore nella connessione. Verificare i parametri d'accesso.");
}
return $this->db;
}
#Input: una query di tipo SELECT
#Output: array associativo del tipo : $array['campo']
public function query($query){
$this->query = pg_query($this->db,$query);
$righe = pg_num_rows($this->query);
if ($righe > 1){
while ($row = pg_fetch_assoc($this->query)){
$result[] = $row;
}
return $result;
}elseif ($righe == 1){
while ($row = pg_fetch_assoc($this->query)){
$result = $row;
}
return $result;
}elseif ($righe == 0){
return NULL;
}
}
#Input: una query di tipo INSERT, UPDATE, DELETE
#Output: se la query va a buon fine true, altrimenti false
public function insert($query){
return (pg_query($this->db,$query));
}
#Chiude la connessione al database creata
public function close() {
pg_close($this->db);
}
}
?>
Adesso il problema è che credo di invocare la classe e le funzioni nel modo sbagliato!
Codice PHP:
#bisogna verificare che l'email inserita non sia già stata usata da un altro utente
$db = new dbfunctions();
$db->connect();
$result = $db->query("SELECT COUNT(*) FROM utente WHERE email = '".$email."'");
#echo $result;
if ($result > 0){
echo "<table align='center'><tr><td><ul>[*]Attenzione! L'indirizzo email da te inserito è già in uso.[/list]</td></tr></table>";
echo "<form method='post' action='index.php'><input type='submit' value='Indietro'></form>";
}else{
#se l'email non è in uso allora registra l'utente
$result->insert("INSERT INTO utente (nome, cognome, email, password) VALUES ('".$nome."', '".$cognome."', '".$email."', '".$password."')");
echo "
La tua registrazione è avvenuta con successo!</p>
Completa il tuo profilo!</p>";
echo "[url='infoprofilo.php']Ora[/url] o [url='home.php']Più tardi[/url]";
}
Non riesco a stampare il risultato per sapere se è giusta o meno!