problema lettura cookie

processore

Utente Attivo
11 Ott 2012
51
0
0
salve.
sto implementando un sistema di login in php.
e vorrei mettere la possibilita di restare loggato anche quando uno chiude la pagina.
quando uno si logga ho messo un chekbox se viene spuntato la pagina di login crea un cookie per ricordare user e pass,
poi quando si riapre il sito la pagina controlla se esiste quel cookie se esiste rimette in sessione user e pass e l'utente e gia loggato , altrimenti chiede di fare il login.
solo che ho un problema creo il cookie poi faccio una stampa della variabile $_cookie e mi stampa il contenuto quindi penso che il cookie e stato creato correttamente.
pero quando vado nella index e cerco di stampare il contenunto del cookie mi da errore , poi cerco di fare if(isset($_cookie)){echo("prova")}
e non mi stampa niente , mentre se faccio cosi if(!isset($_cookie)){echo("prova")} mi stampa prova.

questo e il codice della creazione del cookie:

PHP:
if(isset($_POST['ricorda'])){
		
		$nome= stripslashes($_POST['utente']);
		$pass = $_POST['password'];
		$cok =$nome."%%".$pass;
		setcookie("login",$cok,time()+31536000);
	
		}

questo e quello della index :

PHP:
<?php
							
                                         if(!isset($_SESSION['utente'])) {
											 if(isset($_COOKIE["login"])){
											
											//include 'funzioni/cookie.php';
											echo("ciao");
											
											}
											else{
										
											
                        	?>	
?>	
                        	
                            <img src="img/logo.gif" /><span id="benvenuto">Benvenuto! <a href="accedi.php">Accedi</a> o <a href="registrazione.php">registrati</a></span>
                            <?php } 
								} 
								?>

cosa devo fare ?
grazie
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
se non erro così a naso perchè prima ti legge se esiste la sessione (che sparisce quando esci dal bw) quindi non ti legge il cookie
 

processore

Utente Attivo
11 Ott 2012
51
0
0
pero se faccio cosi.

PHP:
if(!isset($_SESSION['utente'])) {
											 if(!isset($_COOKIE["login"])){
											
											//include 'funzioni/cookie.php';
											echo("ciao");
											
											}
mi stampa ciao.
quindi nel primo if entra.
non riesco a capire .
ce qualche altro metodo oppure questo e l'unico modo per restare loggato ?

e come se il cookie non esiste perche non lo trova.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
da quello che ho capito, se non ho capito male, io proverei a fare così
PHP:
<?php
session_start();
if(isset($_SESSION['utente']) || isset($_COOKIE["login"])) {//esiste la sessione o già passato e rientrato quindi può accedere
?>
	<img src="img/logo.gif" /><span id="benvenuto">Benvenuto! <a href="accedi.php">Accedi</a></span>
<?php
}else{//non registrato
?>
	<a href="registrazione.php">registrati</a>
<?php
}
?>
poi nella pag accedi.php e in tutte le altre riservate in cui solo l'utente registrato può navigare
PHP:
<?php
session_start();
if(isset($_SESSION['utente']) || isset($_COOKIE["login"])) {//esiste la sessione o già passato e rientrato
	//.........tutto quello che devi fare..............
}else{//tentativo di accesso fraudolento (es url diretto alla pagina tipo http://www.tuo_sito.it/accedi.php)
	header("location:index.php");
	exit();
}
?>
 

processore

Utente Attivo
11 Ott 2012
51
0
0
ho fatto come hai detto tu e ho modificato il codice in questo modo.
PHP:
<?php
								if(isset($_SESSION['utente']) || isset($_COOKIE["login"])) {
							?>
								<img src="img/logo.gif" /><span id="benvenuto">Benvenuto, <?php echo $_COOKIE["login"];  ?> (<b><?php echo $_SESSION['utente'];  ?></b>)! <a href="funzioni/logout.php">Esci</a> </span>
                                
                              <?php
								}
								else{
				
                        	?>	
                        	
                            <img src="img/logo.gif" /><span id="benvenuto">Benvenuto! <a href="accedi.php">Accedi</a> o <a href="registrazione.php">registrati</a></span>
                            <?php } 
								
								?>

ho messo questo pezzo di codice Benvenuto, <?php echo $_COOKIE["login"]; ?>
per vedere se mi stampa il contenuto del cookie e invece nella index mi da questo errore.

Benvenuto,
Notice: Undefined index: login in C:\Programmi\EasyPHP-5.3.8.1\www\sito\index.php on line 31
 

processore

Utente Attivo
11 Ott 2012
51
0
0
ho risolto.
grazie mille per l'aiuto :).
il problema era che il cookie lo creava una funzione che si trovava nella cartella funzioni quindi il cookie lo salvava dentro questa cartella.
mentre la funzione $_cookie lo cercava nella stessa cartella dove si trovava l'index.
e ho risolto mettendo quando creo il cookie il percorso e facendolo creare nella root.
 
Ultima modifica:

processore

Utente Attivo
11 Ott 2012
51
0
0
e possibile dare il percorso alla funzione $_cookie per leggere un cookie in una cartella diversa dalla root ??
perche vorrei creare una cartella apposta per i cookie
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ti cito dal manuale php

The path on the server in which the cookie will be available on. If set to '/', the cookie will be available within the entire domain. If set to '/foo/', the cookie will only be available within the /foo/ directory and all sub-directories such as /foo/bar/ of domain. The default value is the current directory that the cookie is being set in.
bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )
 

processore

Utente Attivo
11 Ott 2012
51
0
0
quindi se non ho capito male per leggere i cookie da qualsiasi cartella li devo mettere per forza nella root
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
invece, da quello che ho capito io, se metti il nome di una cartella i cookie li salvi nella cartella

PHP:
<?php
setcookie( "pinco" , "pallo" , 3333333 , "mia_cartella_cookie");
//.......
?>

p.s.
almeno credo, il sistema migliore è "prova e vedi"
 

processore

Utente Attivo
11 Ott 2012
51
0
0
si questo lo avevo capito.
quello che non riesco a capire è se io salvo i cookie per esempio nella cartella cookie.
poi quando cerco di leggere i cookie per esempio da una pagina che si trova nella root. come faccio a leggere i cookie ??
perche se io scrivo $_cookie[login] lui cerca i cookie nella cartella root.
non riesco a capire come farli leggere dalla cartella cooki.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
forse c'è un qui pro quo.
i cookie (alias biscottini) vengono salvati sul pc dell'utente. tu parli della root del sito sul server dove è ostato?
dove vengono salvati dipende, mi sembra, anche dal bw, es. firefox li salva in
C:\Documents and Settings\Tuonomeutente\Impostazioni locali\Dati applicazioni\Mozilla\Firefox\Profiles\
ma sempre sul pc utente
 
Discussioni simili
Autore Titolo Forum Risposte Data
P Problema con lettura filesystem del client da server! Upload multiplo foto. PHP 5
G Problema lettura textarea da servlet Java 2
L Problema con lettura dati da selezione multipla in php PHP 8
LaKanka Problema lettura file feed xml PHP 2
E Problema con la lettura di un file di testo Classic ASP 3
F problema php scrittura e lettura file PHP 2
Z problema lettura/scritture file txt PHP 11
I Sto progettando nuovi siti utilizzando bootstrap e devo dire funziona bene, l'unico problema e la maschera -moz- HTML e CSS 0
K Problema form update PHP 2
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
S Problema nel ciclare un json Javascript 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
K Problema Inner join PHP 1
F firefox problema http Linux e Software 0
N Problema con position absolute e overflow HTML e CSS 4
E Problema jquery Success jQuery 2
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
E problema selezione sfumata Photoshop 2
K [PHP] Problema con variabili concatenate. PHP 1
A Problema filtro fluidifica Photoshop Photoshop 1
H Problema Bordi Scontorno Photoshop 1
O problema con query PHP 4
R Problema installazione Realtek WiFi USB rtl8821 Reti LAN e Wireless 0
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
Y Problema percorso file in rete PHP 1
N Problema SEO "L'URL non si trova su Google" SEO e Posizionamento 4
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
P Problema acquisizione clienti Webdesign e Grafica 1
F NetBeans problema creazione progetto Java Windows e Software 0
M Problema con Try Catch PHP 0
C problema seo + cerco esperto SEO e Posizionamento 11
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
A Problema, non so, di scale() o transform, oppure altro? HTML e CSS 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
R problema con else PHP 0
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
I PROBLEMA: Sostituzione sito XAMPP E-Commerce 0
T problema data 30/11/-1 PHP 0
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4

Discussioni simili