Premetto che non mi funziona manco nella versione procedurale, comunque, questo è il listato del file di config, dove sono presenti le classi:
Codice PHP:
session_start();
class blog{
private $db_host;
private $db_user;
private $db_pass;
private $db_name;
public $conn;
public $sel;
public function __construct(){
$this->db_host='localhost';
$this->db_user='root';
$this->db_pass='';
$this->db_name='blog';
$this->conn=mysql_connect($this->db_host,$this->db_user,$this->db_pass);
$this->sel=mysql_select_db($this->db_name,$this->conn);
}
}class conn extends blog{
public function Errore_connessione(){
if(!$this->conn){
die('Errore di connessione');
}
}
public function Errore_selezione(){
if(!$this->sel){
die('Errore di connessione del database');
}
}
/* REGISTRAZIONE */
}class registrati extends conn{
protected $nome;
protected $cognome;
public $nickname;
protected $email;
protected $password;
protected $moderazione;
protected $amministratore;
public $query;
public $result;
public function __construct(){
parent ::__construct();
$this->nome=mysql_real_escape_string($_POST['nome']);
$this->cognome=mysql_real_escape_string($_POST['cognome']);
$this->nickname=mysql_real_escape_string($_POST['nickname']);
$this->email=mysql_real_escape_string($_POST['email']);
$this->password=mysql_real_escape_string($_POST['password']);
$this->moderazione=mysql_real_escape_string('no');
$this->amministratore=mysql_real_escape_string('no');
$this->query="INSERT INTO utenti (nome,cognome,nickname,email,password,moderazione,amministratore) VALUES ('{$this->nome}','{$this->cognome}','{$this->nickname}','{$this->email}','{$this->password}','{$this->moderazione}','{$this->amministratore}')";
$this->result=@mysql_query($this->query, $this->conn);
}
public function registrati(){
switch(FALSE){
case $this->nome:
case $this->cognome:
case $this->nickname:
case $this->email:
case $this->password:
echo('Devi riempire tutti i campi
[url="registrati.php"]Ritenta[/url]');
break;
default:
$this->query;
$this->result;
if(!$this->result){
die ("Errore nella query".mysql_error());
}else{
header("Location:login_utente.php");
}
}
}
/* LOGIN */
}class login extends registrati{
protected $num_rows;
protected $assoc;
public function __construct(){
parent ::__construct();
$this->query="SELECT * FROM utenti WHERE nickname='{$this->nickname}' AND password='{$this->password}'";
$this->result=mysql_query($this->query, $this->conn);
$this->num_rows=@mysql_num_rows($this->result);
$this->assoc=mysql_fetch_assoc($this->result);
}
public function login(){
switch(FALSE){
case $this->nickname:
case $this->password:
echo('Devi riempire tutti i campi
[url="login_utente.php"]Ritenta[/url]');
break;
default:
$this->query;
$this->result;
@$_SESSION['utente']=$this->nickname;
if($this->num_rows==1){
header("Location:index.php");
}else{
echo "Dati errati: [url='login_utente.php']Ritenta[/url] | [url='/blog/registrati.php']Registrati[/url]";
}
}
}
public function index_editor(){
if($this->assoc['amministratore']=='ok'){
echo('[url="editor.php"]Editor[/url]');
}
}
}
@session_register('Logged');
$conn = new blog();
$conn->conn;
$sel= new blog();
$sel->sel;
$Errore_connessione = new conn();
$Errore_connessione->Errore_connessione();
$Errore_selezione = new conn();
$Errore_selezione->Errore_selezione();
Questo invece è il file index, che non presentava alcun errore prima che aggiungessi l'elemento in questione:
Codice PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Home</title>
</head>
<body>
<h1>Home page</h1>
<?php
include('blog/config.php');
switch(@$_SESSION['utente']){
case TRUE:$utente=@$_SESSION['utente'].'
[url="logout.php"]Logout[/url]';
break;
default:$utente='[url="registrati.php"]Registrati[/url] | [url="login_utente.php"]Login[/url]';
}
echo('Benvenuto '.$utente);
$index_editor = new login();
$index_editor->index_editor();
?>
</body>
</html>
Questo è quanto mi "dice" la pagina index:

La parte dove stanno gli errori è questa, nella classe registrazione:
Codice PHP:
$this->nome=mysql_real_escape_string($_POST['nome']);
$this->cognome=mysql_real_escape_string($_POST['cognome']);
$this->nickname=mysql_real_escape_string($_POST['nickname']);
$this->email=mysql_real_escape_string($_POST['email']);
$this->password=mysql_real_escape_string($_POST['password']);
Spero possiate aiutarmi, mi sto cimentando da poco nella Oop e sono pure mezzo cotto da ieri sera (sic!)