[php] passare variabile

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
salvatore100
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 622
Iscrizione: domenica 7 giugno 2009, 12:44

[php] passare variabile

Messaggio 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???
Avatar utente
kelev
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1766
Iscrizione: giovedì 4 settembre 2008, 0:27

Re: [php] passare variabile

Messaggio da kelev »

Crei un link del genere:

Codice: Seleziona tutto

http://tuosito.it/pagina2.php?ViaLibera=valore
E nella pagina2.php:

Codice: Seleziona tutto

<?php

$var = htmlentities($_GET['ViaLibera']);
echo $var;

?>
"E alla fine sei da solo, dove vai, con chi brindi?"
salvatore100
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 622
Iscrizione: domenica 7 giugno 2009, 12:44

Re: [php] passare variabile

Messaggio 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?
Avatar utente
kelev
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1766
Iscrizione: giovedì 4 settembre 2008, 0:27

Re: [php] passare variabile

Messaggio 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).
"E alla fine sei da solo, dove vai, con chi brindi?"
salvatore100
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 622
Iscrizione: domenica 7 giugno 2009, 12:44

Re: [php] passare variabile

Messaggio da salvatore100 »

mi potresti fare un esempio per favore
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: [php] passare variabile

Messaggio da Zoff »

Che relazione c'è tra le pagine?
Una è inclusa nell'altra? C'è un redirect? Viene caricata dall'utente?
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: [php] passare variabile

Messaggio da Zoff »

??? Beh ha scritto solo "passo il controllo" non ha descritto come passa da una pagina all'altra...
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
salvatore100
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 622
Iscrizione: domenica 7 giugno 2009, 12:44

Re: [php] passare variabile

Messaggio da salvatore100 »

Zoff,
devo passare questa variabile (ViaLibera) ad un' altra pagina. ed e' l'utente a caricare quest'altra pagina
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: [php] passare variabile

Messaggio 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
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
salvatore100
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 622
Iscrizione: domenica 7 giugno 2009, 12:44

Re: [php] passare variabile

Messaggio 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
AlexDiste
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2299
Iscrizione: martedì 18 agosto 2009, 9:25

Re: [php] passare variabile

Messaggio 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
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: [php] passare variabile

Messaggio 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...
Ultima modifica di Zoff il mercoledì 17 febbraio 2010, 12:52, modificato 1 volta in totale.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
salvatore100
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 622
Iscrizione: domenica 7 giugno 2009, 12:44

Re: [php] passare variabile

Messaggio da salvatore100 »

ma questo:
unset($_SESSION)

dove lo devo mettere??
Nella pagina Amministrazione.php??
in che parte?
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: [php] passare variabile

Messaggio da Zoff »

In un punto qualsiasi dopo session_start()... Carichi una volta la pagina, poi lo togli subito...
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
salvatore100
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 622
Iscrizione: domenica 7 giugno 2009, 12:44

Re: [php] passare variabile

Messaggio 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
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: [php] passare variabile

Messaggio 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"...
Ultima modifica di Zoff il mercoledì 17 febbraio 2010, 13:30, modificato 1 volta in totale.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
salvatore100
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 622
Iscrizione: domenica 7 giugno 2009, 12:44

Re: [php] passare variabile

Messaggio 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
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: [php] passare variabile

Messaggio da Zoff »

:o Ho scritto "poi lo togli subito" serve solo per eliminare la variabile...
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
salvatore100
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 622
Iscrizione: domenica 7 giugno 2009, 12:44

Re: [php] passare variabile

Messaggio da salvatore100 »

si, ma come lo devo togliere subito???
cosa intendi dire?
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: [php] passare variabile

Messaggio 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]
Ultima modifica di Zoff il mercoledì 17 febbraio 2010, 13:52, modificato 1 volta in totale.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 2 ospiti