Buongiorno,
All'interno di una webapp in php vorrei implementare un forum. Quello che mi rimane ostico è capire come gestire le sessioni a partire da un login. Quello che vorrei ottenere è un risultato che mi permettesse di identificare, al caricamento della pagina desiderata, una sessione che mi stampi qualcosa del tipo "Benvenuto donpelajo", perchè sul resto (costruzione del forum) penso di aver capito cosa fare.
Vi descrivo un attimo la situazione
login.php
<form method="post" action="">
</form>
login_statements.php
if (isset($_POST['submit'])) {
require ('connect.php');
$sql = $db->prepare("SELECT * FROM dipendenti WHERE username = :username AND password =assword") or die ('Ciao1');
$sql->execute(array(':username'=>$_POST['username'],'assword'=>$_POST['password']));
if ($sql->rowCount() > 0) {
$_SESSION['username'] = $_POST['username'];
$_SESSION['password'] = $_POST['password'];
header('Location: personale_page.php');
echo 'Reindirizza alla pagina personale';
} else {
header('Location: login_form.php');
}
}
ora correggetemi se sbaglio... io in questo modo sto dicendo che i parametri della sessione sono quelli che ho inserito, quindi se nel db sono presenti entri e gli associ le rispettive variabili di sessione. Fin qui funziona così?
Se è Ok allora entro in
personale_page.php
<ul class="personalUl">
[*]Buongiorno dipendente, accedi alla sezione di tuo interesse[*]Entra nel forum[*]Connettiti alla chat[/list]
Se è forum.php
echo "Buongiorno ". $_SESSION['username'];
if (isset($_GET['discu'])) {
$sql = $db->prepare("INSERT INTO threads (discu) VALUES (:discu)") or die ('Ciao1');
$sql->execute(array(':discu'=>$_GET['discu']));
}
$sql = $db->prepare("SELECT discu FROM threads") or die ('Ciao1');
$sql->execute();
$result = $sql->fetchAll();
foreach($result as $value) {
echo "<div style='width:200px; height:50px; border:1px solid black;'>";
echo "
{$value['discu']}</p>";
echo "</div>";
}
Domanda: Perchè in forum.php 'username' è un undefined index? Come si risolve?
Grazie,
Alessandro