Sessioni

Bruschetta95

Utente Attivo
8 Feb 2014
58
0
0
www.wesharegame.com
Ciao a tutti,
ho un problema con le sessioni, allora quando un'utente entra parte la sessione e infatti se stampo l'id lo stampa tranquillamente, poi quando vado in un'altra pagina la sessione resta e stampa in modo perfetto l'id, ma quando ritorno nella prima pagina la sessione non c'è più e non riesce più a stampare l'id! io prima di far partire la sessioneho verificato che l'input type submit del login non sia vuoto con empty, quindi credo sia per questo che quando ritorno non c'è più la sessione perchè ovviamente lui mi dice prima non era vuoto ma se vieni da una pagina dove non c'è il login è vuoto e quindi non faccio niente..giusto??
quindi dopo tutta questa spiegazione confusa.. volevo sapere come fare per far si che nella prima pagina funzioni sempre la sessione??
Grazie a tutti :)
 
Controlla che la riga session_start(); sia all'inizio del codice prima che qualunque altra cosa sia "stampata" a video.
Poi potresti fare un check per vedere se la variabile di sessione in cui memorizzi l'id è vuota: se è vuota allora l'utente non è l'oggetto altrimenti si
 
è tutto come dici te però secondo me l'errore sta nel fatto che se io dico :
PHP:
<?php
session_start();
if (empty($_POST['invioa']))
{
		
}
else
lui dice che se l'input invio del login è vuoto non va a vedere sotto l'else ma si ferma li e quindi la sessione non prende i datri che ci sono scritti dopo che sono questi
PHP:
$idsessione = $id;
$_SESSION['id'] = $idsessione;
dove $id è preso in questo modo
PHP:
$usernamea = $_POST['usernamea'];
$passworda = $_POST['passworda'];
$riga = (mysql_fetch_assoc(mysql_query("SELECT *FROM idutenti where username = '$usernamea'")));
$id = $riga["id"];
 
Invece di fare l'if sul dato POST fallo su $_SESSION["id"]. Io scriverei:

PHP:
if($_SESSION["id"]==null)
{
//se l'utente non è loggato
}else{
//se l'utente è loggato
}
 
Ultima modifica di un moderatore:
Guarda come hai detto tu non mi funzionava però ho fatto in questo modo e mi funziona:
PHP:
<?php
	session_start();
	
	if (!empty($_POST['invio']))
	{
		$usernamesessione = $_POST['username'];
		$_SESSION['username'] = $usernamesessione;
		echo "Ciao $usernamesessione";
	}
	else 
	{	
		if ($_SESSION['username']==null)
		{
		echo "non vai bene";
		}
		else
		{
			echo "Ciao".$_SESSION['username']."";
		}
	}
	

?>
ossia il funzionamento funziona ma mi da un'errore di questo tipo quando accedo senza essere loggato:
Notice: Undefined index: username in C:\xampp\htdocs\sito\home.php on line 12.

posso anche lasciarlo stare questo errore??? ma questi errori li vedo solo io o li possono vedere anche gli utenti???
 
Mi riporti per favore la line 12? Così non riesco a contarle e l'editor di sicuro ti mostra la numerazione delle righe.
L'errore non puoi ignorarlo: quello che vedi tu lo vedono anche gli utenti!

Questa è la pagina a cui rimanda il form con metodo post giusto? Se si puoi postare per piacere anche le linee del form?

Grazie
 
ciao
intanto modifica
PHP:
if ($_SESSION['username']==null)
        {
        echo "non vai bene";
        }
        else
        {
            echo "Ciao".$_SESSION['username']."";
        }
così
PHP:
if (!isset($_SESSION['username']))
        {
        echo "non vai bene";
        }
        else
        {
            echo "Ciao".$_SESSION['username']."";
        }
 
Grazie della spiegazione... per il post avevo provato a mettere !isset non sapendo cosa significava ma mi dava problemi... ci riproverò adesso che funziona tutto.. ti faccio sapere e grazie ancora!
 

Discussioni simili