Non si capisce bene quale sia il tuo obbiettivo, per come lo hai descritto sembra che ogni utente registrato abbia una pagina personale che non viene popolata con dei dati presi dal db.
cmq a quanto ho capito ognuno ha delle personal page, soltanto che quando ti autentichi con i dati di un utente riesci a visualizzare anche le pagine degli altri
Potresti fare una pagina di controllo, mi spiego meglio....
1.fai autenticare l'utente facendo una select sul db delle user e pass che l'utente ha inserito sul form
2. se la select ha avuto esito positivo, fai memorizzare user - pass - id utente su delle variabili di sessione.
3. dopo ti crei la pagina di controllo che di user, pass e id che includerai su tutte le pagine.
In questo modo ogni volta che l'utente entrerà su una pagina non sua, lo script di controllo effettuerà una select dei suoi dati e lo riporterà solo ed esclusivamente sulla sue pagina
esempio pratico.
pagina di autenticazione
Codice PHP:
<?php
session_start();
$select = "select * from users where user = ".$_POST['user']." AND pass = ".$_POST['pss'].";";
$query = mysql_query($select);
if($query){
if (mysql_num_rows($query)>0){
$row = mysql_fetch_assoc($query);
$_SESSION['user'] = $row['user'];
$_SESSION['pss'] = $row['pass'];
$_SESSION['id'] = $row['id'];
header("location: ".$row['pagina']);
}else{
echo "<script language=javascript>alert('utente inesistente');</script>";
}
}else{
echo "<script language=javascript>alert('errore di connessione. riprova più tardi');</script>";
}
?>
Pagina di controllo
Codice PHP:
<?php
session_start();
$select = "select * from users where user = ".$_SESSION['user']." AND pass = ".$_SESSION['pss']."AND id = ".$_SESSION['id'].";";
$query = mysql_query($select);
if($query){
if (mysql_num_rows($query)>0){
$row = mysql_fetch_assoc($query);
header("location: ".$row['pagina']);
}else{
session_unset();
echo "<script language=javascript>alert('utente inesistente');</script>";
}
}else{
session_unset();
echo "<script language=javascript>alert('errore di connessione. riprova più tardi');</script>";
}
?>
Questa pagina la includi in tutte le pagine
include('controllo.php');
Oppure, invece di andare a fare una select ogni volta che entri in una pagina, in fase di autenticazione memorizzi in session anche la pagina di destinazione per quell'utente
Codice PHP:
<?php
session_start();
$select = "select * from users where user = ".$_POST['user']." AND pass = ".$_POST['pss'].";";
$query = mysql_query($select);
if($query){
if (mysql_num_rows($query)>0){
$row = mysql_fetch_assoc($query);
$_SESSION['user'] = $row['user'];
$_SESSION['pss'] = $row['pass'];
$_SESSION['id'] = $row['id'];
$_SESSION['pagina'] = $row['pagina'];
header("location: ".$row['pagina']);
}else{
echo "<script language=javascript>alert('utente inesistente');</script>";
}
}else{
echo "<script language=javascript>alert('errore di connessione. riprova più tardi');</script>";
}
?>
e nella pagina di controllo metterai
Codice PHP:
<?php
session_start();
header('location: '.$_SESSION['pagina']);
?>
cmq per creare delle personal page per ogni utente, ti consiglio di farlo attraverso l'uso del db.
Quindi creare una sola pagina dedicata all'area personale di un utente e successivamente popolarla con i dati dell'utente autenticato.