[risolto] Problema sessioni php e login

otto9due

Utente Attivo
22 Feb 2014
529
21
28
Anzitutto buonasera, sono nuovo del forum e da poco ho iniziato a "programmare" ( se così possiamo dire ) qualcosina per conto mio..
Ho sviluppato un sistemino, tipo pagina di cortesia, che raccoglie in un database i nome e email utente che vogliono essere avvisati dell'apertura di un determinato sito web.
Una volta raccolti i dati, ho creato un'area riservata, dalla quale mando una mail a tutte le mail presenti nel database ( caricate dai vari utenti ) ..
Detto questo vengo al problema.. Ho studiacchiato un pochetto le sessioni, ed ho creato un pannello di login che dovrebbe permettermi di accedere al pannello di controllo, che rinvia ( una volta inseriti i dati..) ad una pagina di controllo che dovrebbe effettuare il login..
PHP:
.........
$username = $_POST['username']; 
$password = sha1($_POST['password']);
        
try
      {
        $sql ='SELECT COUNT(*) FROM login WHERE username =:username AND password =:password';
        $s = $pdo->prepare($sql);
        $s->bindValue(':username', $username);
        $s->bindValue(':password', $password);
        $s->execute();
      }
      catch (PDOException $e)
      {
        $error = 'Error: ' . $e->getMessage();
        include '../ERRORDB/error.html.php';
        exit();
      }     
      
      $row = $s->fetch();
      
      if ($row[0] > 0){
          
          $SESSION['loggedin'] = 1;
          $SESSION['username'] = $username ;
          $SESSION['password'] = $password ;
      }else{
          unset($SESSION['loggedin']);
          unset($SESSION['username']);
          unset($SESSION['password']);
      }

    if ($SESSION['loggedin'] === 1 ){

       echo '<script language=javascript>document.location.href="../../PHP/controllruler.php"</script>'; 

    } else {

       echo '<script language=javascript>document.location.href="../../index.html"</script>';
    }
fino a qui in effetti funziona.. e la pagina sembra salvare la sessione, perchè mi reindirizza alla pagina giusta.. poi però quando vado nella pagina in cui vengo reindirizzato.. che necessita delle variabili di sessione per apparire.. ovvero:
PHP:
if ($SESSION['loggedin'] !== 1 ){
  echo "<h1>Area riservata, accesso negato.</h1>";
  echo "Effettua il login <a href='../PHP/login/login.php'><font color='orange'>qui</font></a>";
  die;
} elseif ($SESSION['loggedin'] === 1) {
  include 'connection.php';  
  try
{
  $sql = 'SELECT nome, email, data FROM user' ;
  $result = $pdo->query($sql);
}
catch (PDOException $e)
{
  $error = 'Error: ' . $e->getMessage();
  include 'error.html.php';
  exit();
}     
foreach ($result as $row)
{
  $utenti[] = array(
    'nome' => $row['nome'],
    'email' => $row['email'],
    'data' => $row['data']
  );
}
include 'controllpanel.php';
}
le variabili di sessione non vengono caricate..
ho fatto anche un test con var_dump per verificarne il contenuto, e questo risulta NULL.
Perchè secondo voi, in un'altra pagina utilizzando la stessa tecnica mi funziona?
P.S. in entrambe le pagine all'inizio subito dopo <?php c'è session_start();

Grazie in anticipo..
 
Ultima modifica di un moderatore:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
se non hai scritto male qui l'errore è di come scrivi la variabile di sessione, la sintassi è
$_SESSION['pinco']
con l'undescore da il dollaro e session
$SESSIONE è un semplice array
 

otto9due

Utente Attivo
22 Feb 2014
529
21
28
Grazieee

Non ci crederete ma è una giornata che esco pazzo.... Era proprio li l'errore... ma copiando e ricopiando da li.. continuavo a rifare il medesimo errore...
Grazie mille.. Risolto..:mavieni:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
consiglio, se puoi è non hai output html prima per reindirizzare al posto di
PHP:
echo '<script language=javascript>document.location.href="../../PHP/controllruler.php"</script>';
sarebbe meglio usare
header('location:controllruler.php);
il js è sempre comunque visibile
se hai degli output poui ridirigere il flusso usando
PHP:
<?php
ob_start();
//......
header('location:controllruler.php');
//.....
ob_end_flush();
?>
 

otto9due

Utente Attivo
22 Feb 2014
529
21
28
Graziee

Anzitutto volevo ringraziarti per la risposta.. Era da tempo che cercavo un buon forum in cui si parlasse di php annessi e connessi.. Mi sa che l'ho trovato..

Per quanto riguarda i javascript li ho levati, era una delle 1000 prove che ho fatto oggi per far funzionare quel login :D .. Per quanto riguarda ob_start () non lo avevo mai incontrato ne studiato, ma mi piacerebbe approfondire.. Dove trovo qualcosa in proposito??
Grazie ancora!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
Dove trovo qualcosa in proposito??
come detto in un altro post (in cui mi sembra che tu abbia anche risposto) la mia fonte di informazioni è il manuale in line, tra l'altro è il manuale ufficiale fatto dagli sviluppatori di php e quindi aggiornatissimo
 
Discussioni simili
Autore Titolo Forum Risposte Data
tomorc [HTML] Problema con scroll bar (risolto) HTML e CSS 0
A [PHP] Problema query insert [RISOLTO] PHP 14
K [RISOLTO] Problema Griglia Php+Mysql PHP 13
elpirata [RISOLTO][Mysql] Problema insert valori apostrofati MySQL 1
Kolop [RISOLTO][PHP] Problema Pagination PHP 2
S Problema in PHP per invio file XML - RISOLTO- PHP 8
T [Photoshop] Problema creazione pennello personalizzato [RISOLTO] Photoshop 3
F [risolto] Problema javascript Internet Explorer Javascript 1
Alessandro Le Mura [risolto] PHP problema memorizzazione array PHP 4
S [risolto] Problema riempimento di una tabella PHP 6
P [risolto] Problema funzione raggruppamento di elementi Javascript 4
T [Javascript] [RISOLTO] Problema con Google Maps e "Zero_Results" Javascript 11
steak [RISOLTO] Problema con 'a:hover' HTML e CSS 12
Virginia86 [risolto] Problema select e verifica form PHP 38
M [RISOLTO]Problema controllo e passaggio di valori da una pagina all''altra PHP 4
H [RISOLTO]Problema connessione + insert mysqli PHP 10
O [risolto] Inserimento nuovo campo in mysql. Problema PHP 6
lsnight [RISOLTO] Problema con mouseout ed immagini Javascript 2
V [RISOLTO]Problema con il POST PHP 8
A [Risolto] Problema con un list box Classic ASP 2
M [Risolto]Problema con risposta json Sviluppo app per Android 6
C [RISOLTO] Problema somma td, prende solo il primo valore jQuery 7
C Problema Risolto Flash 0
L (risolto) MySQL 0
B getElementById su piu id(Risolto) Javascript 6
L Esercitarsi con Js [RISOLTO] Javascript 4
C [RISOLTO]Inserimento variabile php in input html PHP 20
L risolto visualizzazione e ordinamento dati PHP 1
moustache [RISOLTO] SQL PHP IIS PHP 8
Sergio Unia Ricezione email con destinatari multipli [Risolto] PHP 2
L update tabelle in php mysql [risolto] PHP 6
M Semplice visualizzatore di immagini [risolto con plugin wp] PHP 7
L [RISOLTO] Stampa a video risultato count in html PHP 13
L [RISOLTO] Eliminare una discussione creata PHP 3
B [PHP] recuperare IP dei server in load balancing [RISOLTO] PHP 3
S [RISOLTO] aggiorna tabella da select option asp classic Classic ASP 7
elpirata [RISOLTO][Javascript] Datapicker e autocompletamento campo input Javascript 2
elpirata [RISOLTO][Mysql] Contare le occorrenze in un campo tipo varchar MySQL 2
G [MS Access] Gestione biglietti [RISOLTO] MS Access 2
G [MS Access] Casella combinata & Query [RISOLTO] MS Access 4
G [MS Access] Query mese corrente con conteggio [RISOLTO] MS Access 2
M [RISOLTO]Windows media player non mi funziona più su win 10 pro 64 bit Windows e Software 2
C [RISOLTO][PHP] Errore di sintassi PHP 8
IT9-Gpp [RISOLTO] Leggere variabile restituita da success Ajax 3
C [RISOLTO][PHP] Funzione ONclick PHP 14
C [RISOLTO][PHP] Conteggio righe di una tabella PHP 4
N [PHP] Utilizzo variabili di sessione [Risolto] PHP 13
Tommy03 [RISOLTO][PHP] Webserver o devserver? PHP 2
Sergio Unia Recupero dati da una vecchia versione MySql [Risolto] MySQL 4
spider81man [PHP] Problemi cancellazione dato su DB [RISOLTO] PHP 1

Discussioni simili