Bene per il codice, ma ancora non hai spiegato qual'è il problema che hai incontrato .
Ad una prima lettura ci sono comunque alcune cose che vanno riviste:
Codice PHP:
if (!session_is_registered(myusername)) {
Questa sintassi è deprecata in PHP 5.3.0 e rimossa in PHP 5.4.0. Va sostituita, ad esempio con:
Codice PHP:
if (!isset($_SESSION['myusername'])) {
Le funzioni mysql_* sono deprecate, vanno sostituite con mysqli o PDO.
La seguente "stringa"... non è una stringa, è un errore di sintassi:
Codice PHP:
// Wrong
"SELECT * FROM users where username="$_SESSION['username']";"
// Correct
"SELECT * FROM users WHERE username='" . $_SESSION['username'] . "';"
Dovresti inoltre controllare che la query abbia successo (vedi mysql_query):
Codice PHP:
$result = mysql_query("...");
if (!$result) {
die('Invalid query: ' . mysql_error());
}
Nella parte in HTML stai cercando di stampare la risorsa restituita dalla query, ovvero un oggetto opaco che contiene potenzialmente una (porzione di) tabella. Immagino tu voglia stampare solo il nome utente, quindi:
Codice PHP:
$user = mysql_fetch_array($result, MYSQL_ASSOC);
if (!$user) {
die('No users with given username');
}
...
echo $user['username'];
Nell'ultima riga, al posto di 'username', devi utilizzare il nome che hai assegnato al campo della base di dati in cui memorizzi il nome utente.
Dal brano di codice, sembra che tu stia utilizzando una tabella per il layout della testata del sito. Questo va contro le specifiche di HTML5, ed è pratica scoraggiata per vari motivi. L'uso di CSS è preferibile.