• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Problema risolto Session e Echo Session PHP

AnonyTrack

Utente Attivo
Autore del topic
16 Gennaio 2012
410
56
Miglior risposta
0
Salve ragazzi!

Non so perchè ma su altervista non mi funzionano le sessioni di login.

Cioè ho creato un sistema registrazione e login e funziona, ma se devo creare un echo non va.

Cioè nella parte alta della pagina, per esempio c'è scritto: Benvenuto, (nome_utente) !

Per far si che appare il nome utente ho provato a mettere: <?php echo $_SESSION['username']; ?>

oppure altre variabili che riportano al nome.
Screen Errore:
Perfavore, Entra oppure Registrati per vedere i Link!


Quale codice potrei utilizzare come sostituzione?
Grazie.
 
Usa i print no?
Perfavore, Entra oppure Registrati per vedere i Link!

echo e print sono la stessa cosa, solo che col secondo può essere stampata una sola stringa. Tutto qui.

Salve ragazzi!

Non so perchè ma su altervista non mi funzionano le sessioni di login.

Cioè ho creato un sistema registrazione e login e funziona, ma se devo creare un echo non va.

Cioè nella parte alta della pagina, per esempio c'è scritto: Benvenuto, (nome_utente) !

Per far si che appare il nome utente ho provato a mettere: <?php echo $_SESSION['username']; ?>

oppure altre variabili che riportano al nome.
Screen Errore:
Perfavore, Entra oppure Registrati per vedere i Link!


Quale codice potrei utilizzare come sostituzione?
Grazie.

Assicurati di aver messo session_start(); all'inizio della pagina.
 
echo e print sono la stessa cosa, solo che col secondo può essere stampata una sola stringa. Tutto qui.



Assicurati di aver messo session_start(); all'inizio della pagina.

sisi l'ho messo.

il codice è:

<?php

include('core.php');
include('session.php');

session_start();

$username = $_SESSION['username'];

?>

e di seguito dove lo richiedo: <?php echo $username; ?>
 
Innanzitutto quando inizi la sessione mettici prima anche:

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

Poi, per stampare il nome attraverso le sessioni devi comunque eseguire una query:

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

le variabili $username e $password chiaramente dovranno contenere il $_POST['username'] e $_POST['password'] inviati dal form del login.

Ora possiamo proseguire con l'assegnazione delle sessioni:

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

Così dovrebbe andare ;)
 
Innanzitutto quando inizi la sessione mettici prima anche:

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
È la seconda volta in una settimana che vedo utilizzare questa funzione che, se utilizzata solo così, non serve a nulla, anzi, al massimo porta a problemi. Nessun parametro, nessun buffer, nessuna funzione di callback e niente ob_end_flush() associata. C'è per caso qualche guida o manuale che devo consigliare da evitare come la peste?

Per il resto le funzioni mysql_* sono deprecate e recuperare le informazioni da database non è l'unico modo di gestire le sessioni.
 
È la seconda volta in una settimana che vedo utilizzare questa funzione che, se utilizzata solo così, non serve a nulla, anzi, al massimo porta a problemi. Nessun parametro, nessun buffer, nessuna funzione di callback e niente ob_end_flush() associata. C'è per caso qualche guida o manuale che devo consigliare da evitare come la peste?

Per il resto le funzioni mysql_* sono deprecate e recuperare le informazioni da database non è l'unico modo di gestire le sessioni.

Beh, do per scontato che se lo inserisce nello script decida lui poi come finire il tutto... Poi, nel caso un giorno volesse implementare anche una sola funziona AJAX direi che è utile!

Per le funzioni mysql saranno pure deprecate, ma il 99% del web ancora quelle usa e svolgono ancora il loro lavoro egregiamente direi!
 
Ultima modifica:
Beh, do per scontato che se lo inserisce nello script decida lui poi come finire il tutto... Poi, nel caso un giorno volesse implementare anche una sola funziona AJAX direi che è utile!

Per le funzioni mysql saranno pure deprecate, ma il 99% del web ancora quelle usa e svolgono ancora il loro lavoro egregiamente direi!
Beh, il fatto è che darei il minimo essenziale per risolvere il problema senza andare a toccare altri aspetti della implementazione del suo programma. Per AJAX, ugualmente, non c'è ne bisogno di base. :emoji_slight_smile:

Se son deprecate è perché presto saranno abbandonate anche da PHP. Non ha senso usare vecchie funzioni, poco orientate alla sicurezza e a pattern di programmazione migliori solo perché molto usate in passato. ;) E no, diversi siti utilizzano framework o librerie esterne che vengono aggiornate, quindi non azzarderei mai una percentuale così alta. ;) Meno che chi segue guide obsolete e non ha molta esperienza di programmazione.
 
Beh, il fatto è che darei il minimo essenziale per risolvere il problema senza andare a toccare altri aspetti della implementazione del suo programma. Per AJAX, ugualmente, non c'è ne bisogno di base. :emoji_slight_smile:

Se son deprecate è perché presto saranno abbandonate anche da PHP. Non ha senso usare vecchie funzioni, poco orientate alla sicurezza e a pattern di programmazione migliori solo perché molto usate in passato. ;) E no, diversi siti utilizzano framework o librerie esterne che vengono aggiornate, quindi non azzarderei mai una percentuale così alta. ;) Meno che chi segue guide obsolete e non ha molta esperienza di programmazione.

Beh, innanzitutto suggerirgli funzioni, per esempio, MySQLi per la programmazione ad oggetti mi sembra esagerato visto che non sa ancora programmare... Poi per le funzioni base capirai che cambia, basta aggiungere una i in quelle che gli ho scritto sopra e il risultato è esattamente lo stesso. Questo discorso si può fare in grandi siti, in un semplice script per il login non penso sia così terribile usare l'ormai "obsoleto" MySQL...
 
Problema risolto!

Avevo dimenticato qualche parametro da aggiungere al file .htaccess il chè non mi funzionavano le sessioni, ora sì mi appare perfino il mio nome al login nelle pagine :emoji_slight_smile:

Grazie lo stesso a tutti, dopo mesi e mesi che impazzisco e di abbandono del mio sito adesso posso ricominciare ahaha :emoji_slight_smile:

Potete chiudere, grazie.
@TBH @Ragazzo_Devil