Allora: io ho adottato il tuo sistema di login con qualche modifica:
Codice PHP:
<?
//variabili di connessione
require 'config.inc.php';
require 'connect.php';
?>
<form action="<? $_SERVER[PHP_SELF]; ?>?login=ok"
enctype="application/x-www-form-urlencoded" method="post">
<strong>Username</strong><input name="user" type="text" />
<strong>Password</strong>
<input name="pass" type="password" />
<input type="submit" value="Entra" />
</form><?// recupero di valori inviati dal form: user e pass
$user = $_POST['user'];
$pass = $_POST['pass'];
$risp = "ok";
$login = $_GET['login'];
// questo serve per evitare di ricevere subito un messaggio dallo script
if ( $login == $risp ) {
// controllo che entrambi i valori siano stati compilati
if ( $user && $pass ) {
// effettuo l'escape per i valori speciali per evitare problemi con le query
$user = mysql_real_escape_string($user);
$pass = mysql_real_escape_string($pass);
// preparo una query cioè una richiesta al database che vede se esistono i
// valori appena inseriti nella tabella creata precedentemente
$sql = "SELECT id FROM utenti WHERE Username = '$user' AND Password = '$pass'";
$res = mysql_query($sql) or die (mysql_error());
// ora se i dati inseriti sono quelli esatti presenti all'interno della tabella possiamo far effettuare il login
if ( $res ) {
// ora creo una sessione con l'id dell'utente che lo farà restare connesso tutto
// il tempo della navigazione alle pagine protette da login
while($row = mysql_fetch_array($res)) {
session_start();
$idutente = $row['idutente'];
$nomeutente = $row['username'];
$_SESSION['id_utente'] = $idutente;
$_SESSION['nome_utente'] = $nomeutente;
// e infine reindirizzo l'utente nella pagina protetta da login
header("location: index.php");
}
} else {
echo "Username o Password errati";
}
} else {
echo "Non sono stati compilati tutti i dati obbligatori";
}
}
?>
L'unica cosa è che io ho impostato nello script sottostante che "if ( $_SESSION['id_utente'] && $_SESSION['nome_utente'] )" mi visualizza la scritta logout con il rispettivo collegamento, altrimenti, ACCEDI e REGISTRATI. Cosa non và? Se vuoi prova sul sitoenkantar.altervista.org/index.php?view=login ad accedere con user Prova e passw prova e vedrai...
Codice PHP:
<a href="index.php?view=chisiamo">CHI SIAMO</a> | <a href="index.php?view=contatti">CONTATTI</a> |
<?php
session_start();
if ( $_SESSION['id_utente'] && $_SESSION['nome_utente'] ){
echo '<a href="index.php?view=login">ACCEDI</a> | <a href="index.php?view=registration">REGISTRATI</a>';
}else{
echo '<a href="index.php?view=loguot">LOGOUT</a>';
}
?>
<br>
<br>
<br>
<?php
switch($_GET['view']) {
case 'articoli':
include ("INCLUDE/view.php");
echo '<br><br><br><br><a href="index.php?view=new"><h3>Clicca qui</a> per postare un nuovo articolo!</h3>';
break;
case 'registration':
include ("INCLUDE/registration.php");
break;
case 'new':
include ("INCLUDE/autentificazione.php");
include ("INCLUDE/insert.php");
break;
case 'add':
include ("INCLUDE/save.php");
break;
case 'regok':
include ("INCLUDE/registra.php");
break;
case 'chisiamo':
echo "Pagina non disponibile";
echo "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";
break;
case 'contatti':
echo "Pagina non disponibile";
echo "<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";
break;
case "login":
include ("INCLUDE/login.php");
break;
case "loginsuccess":
include ("INCLUDE/entra.php");
break;
case "logout":
include ("INCLUDE/logout.php");
break;
default:
?>
<table width="101%" border="0">
<tr>
<td><img src="images/viaggi.jpg" width="200" height="150" alt="Immagine" class="left" /></td>
<td><h2> </h2>
<h2> </h2>
<h2><strong>Articoli</strong></h2>
<p>Avete Fatto un viaggio da sogno e lo volete raccontare a tutta la comunità? </p>
<p>Cosa aspettate ad entrare in questa sezione e descrivercelo in ogni minimo dettaglio?</p>
<p> </p></td>
<td> </td>
</tr>
<tr>
<td><h2><strong>Fotografie</strong></h2>
<p>Se avete delle belle fotografie di vostri viaggi questa è la sezione adatta a voi. Mostrate le vostre foto al resto della comunità. Ogni mese le più belle verranno selezionate per il logo del sito. <br>
<?php
session_start(); //Apro la sessione
if ($_SESSION['admin'] != 'OK') //Se l'utente non ha effettuato il login
{
echo '<a href="index.php?view=login">ACCEDI</a> | <a href="index.php?view=registration">REGISTRATI</a>';
}
else
{
echo '<a href="index.php?view=loguot">LOGOUT</a>';
}
?>
</p></td>
<td ><img src="images/cave_dwellings_of_cappadocia_turkey.jpg" width="200" height="150" alt="Immagine" class="right" /></td>
<td> </td>
</tr>
<tr>
<td><br><br><img src="images/egitto 1.jpg" width="200" height="150" alt="Immagine" class="left" /></td>
<td><h2><strong>Diari</strong></h2>
<p>Questa sezione non l'ho capita.</p></td>
<td> </td>
</tr>
</table>
<table width="100%" border="0">
<tr>
<td><h2><strong>Viaggi & Miraggi</strong></h2>
<p>Per non perdervi le uscite della nostra rivista questa è la sezione ideale.</p></td>
<td>
<h2><img src="images/cina3.png" width="200" height="150" alt="Immagine" class="right" /></h2>
<h2> </h2>
<p> </p></td>
<td> </td>
</tr>
<tr>
<td><img src="images/Edenpics-com_002-027-Oceano-Atlantico-e-rocce-scoscese-Portogallo-Un-posto-sulla-costa.jpg" width="200" height="150" alt="Immagine" class="left" /></td>
<td ><h2><strong>Destinazioni</strong></h2>
<p>Non l'ho capita.</p></td>
<td> </td>
</tr>
<tr>
<td><h2><strong>Le vostre segnalazioni</strong></h2>
<p>Segnalateci Hotel, residence, ristoranti o altro dove avete avuto un soggiorno piacevole.<br>
</p></td>
<td><h2><br><img src="images/1208268300roma001b.jpg" width="200" height="150" alt="Immagine" class="right" /></h2></td>
<td> </td>
</tr>
</table>
<br>
<?php
break;
}
?>