Pagina 1 di 2
[php] passare variabile
Inviato: martedì 16 febbraio 2010, 18:45
da salvatore100
Salve a tutti.
Ho un problema.
Ho una variabile, $ViaLibera, che e' il risultato di una serie di operazioni eseguita nella pagina1.php
Ora devo passare questa variabile, ad un altra pagina2.php.
Come devo fare???
Re: [php] passare variabile
Inviato: martedì 16 febbraio 2010, 20:05
da kelev
Crei un link del genere:
E nella pagina2.php:
Codice: Seleziona tutto
<?php
$var = htmlentities($_GET['ViaLibera']);
echo $var;
?>
Re: [php] passare variabile
Inviato: martedì 16 febbraio 2010, 20:17
da salvatore100
allora mi spiego meglio.
Io ho una pagina Registrazione.html, dove vi e' una form che acquisisce:
User
Password
Dopodiche passo il controllo ad un'altra pagina: AccessoRiservato.php,
che effettua le operazioni di controllo necessarie sul database.
Se il login e la password sono giusti, si deve passare alla pagina di "amministrazione".
Ora il mio problema e' che a questa pagina di "amministrazione", nel modo in cui ho fatto io, si puo' sempre accedere (basta conoscere l'URL).
Io invece non voglio che sia cosi'.
Come devo fare?
Re: [php] passare variabile
Inviato: martedì 16 febbraio 2010, 20:20
da kelev
Nella pagina di amministrazione crei un controllo e vedi se il cookie e' settato (controlli il cookie che hai settato se il login e' andato a buon fine).
Re: [php] passare variabile
Inviato: martedì 16 febbraio 2010, 20:21
da salvatore100
mi potresti fare un esempio per favore
Re: [php] passare variabile
Inviato: martedì 16 febbraio 2010, 20:44
da Zoff
Che relazione c'è tra le pagine?
Una è inclusa nell'altra? C'è un redirect? Viene caricata dall'utente?
Re: [php] passare variabile
Inviato: martedì 16 febbraio 2010, 22:42
da Zoff
??? Beh ha scritto solo "passo il controllo" non ha descritto come passa da una pagina all'altra...
Re: [php] passare variabile
Inviato: mercoledì 17 febbraio 2010, 8:31
da salvatore100
Zoff,
devo passare questa variabile (ViaLibera) ad un' altra pagina. ed e' l'utente a caricare quest'altra pagina
Re: [php] passare variabile
Inviato: mercoledì 17 febbraio 2010, 10:23
da Zoff
salvatore100 ha scritto:
Zoff,
devo passare questa variabile (ViaLibera) ad un' altra pagina. ed e' l'utente a caricare quest'altra pagina
Allora come suggerito da kelev ti conviene memorizzare l'esito del login in una sessione.
Per info sulle sessioni:
http://www.php.net/manual/en/book.session.php
Re: [php] passare variabile
Inviato: mercoledì 17 febbraio 2010, 10:50
da salvatore100
oko, vedi io come fatto.
file AccessoRiservato.php
ecco solo dei frammenti di codice:
Codice: Seleziona tutto
$numrighe=mysql_num_rows($dati);
if ($numrighe==1)
{
session_start();
$_SESSION['ViaLibera'] = 1;
echo "<h3>$UserName, benvenuto/a nell'area privata del sito!.</h3><br><a href='Amministrazione.php?ViaLibera=$ViaLibera'>Entra</a>";
}
ora, l'utente che ha eseguito con successo Login e password, clicca sul link "Entra" e va in Amministrazione.php
Ecco il file:
Codice: Seleziona tutto
<?php
session_start();
if ($_SESSION['ViaLibera'] != 1)
{
echo "Non sei autorizzato a visualizzare la pagina";
exit();
}
echo "<p align='center'>Menù Amministrazione</p>";
?>
Funziona, pero' se si conosce L'URL, si entra lo stesso nell'amministrazione
Re: [php] passare variabile
Inviato: mercoledì 17 febbraio 2010, 10:54
da AlexDiste
cookie e sessioni sono leggermente più sicuri di metodi get ma si può comunque interagire con loro da browser, specie con estensioni tipo firebug e firephp, al punto che puoi crearti sessioni non settatate da php, non è meglio fargli passare il dato in post
più che altro questo lo chiedo anche per un mio progetto in cui tutto il db si amministra da pagine php, quindi lo devo bindare bene
Re: [php] passare variabile
Inviato: mercoledì 17 febbraio 2010, 12:50
da Zoff
salvatore100 ha scritto:
Funziona, pero' se si conosce L'URL, si entra lo stesso nell'amministrazione
Se fai il controllo sulla variabile di sessione non dovrebbe... Prova a svuotare la sessione con unset($_SESSION) e vedere se puoi veraemente entrare...
Oppure più semplicemente se hai un altro pc prova a connetterti...
AlexDiste ha scritto:
cookie e sessioni sono leggermente più sicuri di metodi get ma si può comunque interagire con loro da browser, specie con estensioni tipo firebug e firephp, al punto che puoi crearti sessioni non settatate da php, non è meglio fargli passare il dato in post
più che altro questo lo chiedo anche per un mio progetto in cui tutto il db si amministra da pagine php, quindi lo devo bindare bene
In generale meno informazioni sensibili girano per la rete meglio è...
Se si salvassero le sessioni sul server (es. su DB) e si facesse circolare solo il session_id penso sarebbe la condizione migliore...
Ma poi dipende da caso a caso...
Re: [php] passare variabile
Inviato: mercoledì 17 febbraio 2010, 13:09
da salvatore100
ma questo:
unset($_SESSION)
dove lo devo mettere??
Nella pagina Amministrazione.php??
in che parte?
Re: [php] passare variabile
Inviato: mercoledì 17 febbraio 2010, 13:11
da Zoff
In un punto qualsiasi dopo session_start()... Carichi una volta la pagina, poi lo togli subito...
Re: [php] passare variabile
Inviato: mercoledì 17 febbraio 2010, 13:26
da salvatore100
scusa la mia ignoranza, ma non ho capito dove metterlo??
In quale pagina:
AccessoRiservato.php
o
Amministrazione.php
Potresti farmi un esempio, secondo il codice che ti ho postato precedentemente
Re: [php] passare variabile
Inviato: mercoledì 17 febbraio 2010, 13:27
da Zoff
È indifferente... Lo puoi mettere dove vuoi, ad esempio:
[php]Menù Amministrazione";
?>[/php]
Carica la pagina poi toglilo subito e vedrai che finché non fai login vedrai il messaggio "Non sei autorizzato a visualizzare la pagina"...
Re: [php] passare variabile
Inviato: mercoledì 17 febbraio 2010, 13:30
da salvatore100
scusa, ma cosi facendo non mi fa vedere la pagina di amministratore in nessun modo.
Anche quando mi loggo con user e password esatti
Re: [php] passare variabile
Inviato: mercoledì 17 febbraio 2010, 13:30
da Zoff

Ho scritto "poi lo togli subito" serve solo per eliminare la variabile...
Re: [php] passare variabile
Inviato: mercoledì 17 febbraio 2010, 13:32
da salvatore100
si, ma come lo devo togliere subito???
cosa intendi dire?
Re: [php] passare variabile
Inviato: mercoledì 17 febbraio 2010, 13:35
da Zoff
cancelli la riga o la commenti -.-
Comunque evitiamo il problema:
[php]Non sei autorizzato a visualizzare la paginaLogin';
exit();
}
?>
Menù Amministrazione
Logout
[/php]