- Home
- Categorie
- Coding e Sistemistica
- PHP
- passaggio di variabili da un file ad un'altro senza form action
-
passaggio di variabili da un file ad un'altro senza form action
Salve ho bisogno di passare dei risultati che ho messo in 2 variabili $query e $titolo, e mi trovo in un file1.php come faccio a passare queste 2 variabili al file2.php senza che siano visibili o in sicurezza senza usare un form-action?
Ho provato con le sessioni ma forse per mia incompetenza non ci sono riuscito.Grazie
-
Prima di utilizzare (sia in scrittura che in lettura) le variabili di sessione hai "iniziato la sessione"?
Ciao
-
si l'ho fatto nel fil di esecuzione della login dopo il form-login.
login di esecuzione.php dove inizializzo la sessione
[PHP]
<?php
session_start();if(!get_magic_quotes_gpc()) {
$login=mysql_real_escape_string($_POST['login']);
}
else {
$login=$_POST['login'];
}
$pwd=$_POST['password'];//richiamo il database e verifico login e password
session_register('autorizzato');
if(($num)>0) {
//Login Successfull
$_session["autorizzato"] = 1;header("location: pagina1.php");
exit();
}else {
//Login failed
$_session["autorizzato"] = 0;
header("location: login-failed.php");
exit();
}?>
[/PHP]come posso fare? ad esempio se voglio portarmi dietro il nome del loggato in pagina1.php come faccio?
-
session_start() và riportato (prima di qualsiasi output) anche in pagina1.php e più in generale in tutte le pagine nelle quali intendi utilizzare variabili di sessione...
Attento, è $_SESSION e non $_session.
Ti consiglierei di farti restituire tutti gli errori (e eventuali warning) con un http://it2.php.net/set_error_handlerCiao
-
si si il session start lo metto ad ogni pagina anzi meglio ancora mi richiamo un file dove c'è la session_start() più altre cose, su questo non ci piove, in pratica è in ogni pagina. N.B. il session maiucolo o minuscolo è indifferente gia testato.
Faccio un esempio per vedere se va bene e se ci siamo capiti, se nel file precedente faccio:
[PHP]
SESSION_REGISTER('loggato');
$_SESSION["loggato"] =$_POST['login'];
[/PHP]Ora nel file successiva pagina2.php :
[PHP]
//se richiamo
echo $_POST['LOGGATO'];
//mi dovrebbe stampare il loggato
[/PHP]è giusto ? a me non funziona:x
-
:?Forse non ho ben capito cosa vuoi ottenere...
Comunque prova a sostituire:
[PHP]echo $_POST['LOGGATO'];[/PHP]
con
[PHP]echo $_SESSION['LOGGATO'];[/PHP]Ciao
-
quello che vorrei fare è passare l'utente loggato ,da questo file file1.php al file2.php senza usare form, in maniera sicura
file1.php
[php]
<?php
session_start();if(!get_magic_quotes_gpc()) {
$login=mysql_real_escape_string($_POST['login']);
}
else {
$login=$_POST['login'];
}
$pwd=$_POST['password'];//richiamo il database e verifico login e password
session_register('autorizzato');
if(($num)>0) {
//Login Successfull
$_session["autorizzato"] = 1;header("location: file1.php");
exit();
}else {
//Login failed
$_session["autorizzato"] = 0;
header("location: login-failed.php");
exit();
}?> [/php]
lil valore si trova in
$login=$_POST['login'];
[PHP]
$login=$_POST['login'];
[/PHP]
come posso fare a passarlo in file.php in maniera sicura?
-
Ti faccio un esempio per farti vedere come funzionano le variabili di sessione...
pagina1.php
[php]
<?
session_start();
$_SESSION["loggato"] = "prova";
?>
<a href="pagina2.php">pagina succ</a>
[/php]pagina2.php
[php]
<?
session_start();
echo $_SESSION["loggato"];
?>
[/php]Aprendo pagina1.php e cliccando sul link vedrai che il valore di $_SESSION["loggato"] viene passato dalla prima alla seconda pagina.
-
GRAZIE io richiamavo $_post['loggato'] , mi ero perso per una cavolata, scusa e grazie ancora
-
Nessun problema...
Ciao