[RISOLTO]ancora ..passaggio variabili

noblues

Nuovo Utente
20 Nov 2013
12
0
0
salve a tutti..so che sono state scritte migliaia di pagine sull'argomento..ma non ne vengo fuori
ho un form con mail e psw che funziona correttamente ma ho la necessità di riportare la var email su altre due pagine..
questo è il processo di controllo inviato dal form di login.php che funziona correttamente..
PHP:
<?php 
sec_session_start(); 
if(isset($_POST['email'], $_POST['p'])) { 
   $email = $_POST['email'];   
   $password = $_POST['p']; // Recupero la password criptata.
   if(login($email, $password, $mysqli) == true) {
//
        $_SESSION['mymail']= $_REQUEST['email'];//ho aggiunto...
//
      // Login eseguito
       header('Location: ../login.php?ok=1');
   } else {
      // Login fallito
      header('Location: ../login.php?error=1');
   }
} else { ...

?>
nella pag login.php do provato a mettere
PHP:
<?php 
session_start();
//ho provato a mettere sec_session_start() ma Fatal error: Call to undefined function...
?> 
...codice vario
<?php

if(isset($_GET['error'])) { 
echo "<font color='red'>Errore... dati errati!</font>";
}
if(isset($_GET['ok'])) { 
	//utente esiste
     echo "mi ricordo che la sessione è ".$_REQUEST['email']."<br />";
    echo "mi ricordo che la sessione è ".$_SESSION['mymail']."<br />"; 
    echo "<font color='blue'>va bene</font>";
}
?>
ma mi riporta solo le tre stringhe echo e le variabili vuote..
dove sbaglio ?
tks
 

skillsfactory

Utente Attivo
23 Nov 2012
50
0
0
ma cos'è quel sec_session_start() ??? non fa parte delle api ufficiali di php

prova così

PHP:
session_start(); 

if(isset($_POST['email'], $_POST['p'])) { 
   $email = $_POST['email'];   
   $password = $_POST['p']; // Recupero la password criptata.
   if(login($email, $password, $mysqli) == true) {
//
        $_SESSION['mymail']= $email;//ho aggiunto...
//
      // Login eseguito
       header('Location: ../login.php?ok=1');
   } else {
      // Login fallito
      header('Location: ../login.php?error=1');
   }
} else { ...



PHP:
<?php 
session_start();
//ho provato a mettere sec_session_start() ma Fatal error: Call to undefined function...
?> 
...codice vario
<?php

if(isset($_GET['error'])) { 
echo "<font color='red'>Errore... dati errati!</font>";
}
if(isset($_GET['ok'])) { 
    //utente esiste
    echo "mi ricordo che la sessione è ".$_SESSION['mymail']."<br />"; 
    echo "<font color='blue'>va bene</font>";
}
 

noblues

Nuovo Utente
20 Nov 2013
12
0
0
ma cos'è quel sec_session_start() ??? non fa parte delle api ufficiali di php

adesso che me lo fai notare:cool:..è una funzione che crea la sessione ma non so come modificare..:book:
PHP:
include 'functions.php';
sec_session_start(); // usiamo la nostra funzione per avviare una sessione php sicura
if(isset($_POST['email'], $_POST['p'])) { 
   $email = $_POST['email'];   
   $password = $_POST['p']; // Recupero la password criptata.
   if(login($email, $password, $mysqli) == true) {
         $_SESSION['mymail']= $_REQUEST['email'];...
functions.php
PHP:
function sec_session_start() {
        $session_name = 'mymail'; // Imposta un nome di sessione
        $secure = false; // Imposta il parametro a true se vuoi usare il protocollo 'https'.
        $httponly = true; // Questo impedirà ad un javascript di essere in grado di accedere all'id di sessione.
        ini_set('session.use_only_cookies', 1); // Forza la sessione ad utilizzare solo i cookie.
        $cookieParams = session_get_cookie_params(); // Legge i parametri correnti relativi ai cookie.
        session_set_cookie_params($cookieParams["lifetime"], $cookieParams["path"], $cookieParams["domain"], $secure, $httponly); 
        session_name($session_name); // Imposta il nome di sessione con quello prescelto all'inizio della funzione.
        session_start(); // Avvia la sessione php.
        session_regenerate_id(); // Rigenera la sessione e cancella quella creata in precedenza.
}
il tutto scopiazzato da "Creare-uno-Script-Sicuro-per-il-Login-Usando-PHP..."
 
Ultima modifica di un moderatore:

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Ok il codice che hai pubblicato sta bene.
Ti basta inserire questa riga nel primo codice:
PHP:
   $email = $_POST['email'];   //questa c'è già
$_SESSION['email']=$email; // questa è da aggiungere
A questo punto in qualsiasi pagina ti basta richiamare quella funzione sec_session_start() e poi dopo potrai utilizzare la variabile $_SESSION['email'] che conterrà la mail.
Prova e fammi sapere.
 

noblues

Nuovo Utente
20 Nov 2013
12
0
0
Ok il codice che hai pubblicato sta bene.
allora se ho ben capito..:book: ho fatto cosi..
1° file:login.php
PHP:
<?php 
include 'secure/functions.php';
sec_session_start() ;
?> 
//codice html

<form action="secure/process_login.php" method="post" name="login_form">//parametri mail e pws
 <input type="button"... </form>
 <?php if(isset($_GET['ok'])) {?>
<?php echo "mi ricordo che la sessione è ".$_SESSION['mymail']."<br />"; ?> //riga 537
2)chiamata dal form
PHP:
<?php 
include 'functions.php';
session_start(); //provato anche senza..non cambia
if(isset($_POST['email'], $_POST['p'])) { 
   $email = $_POST['email'];   
   $password = $_POST['p']; // Recupero la password criptata.
   if(login($email, $password, $mysqli) == true) {
       $_SESSION['mymail']= $email;
 header('Location: ../login.php?ok=1');
la risposta è... 'OK' :crying::crying:
Notice: Undefined index: mymail
C:\xampp\htdocs\test\login.php on line 537
---
funziona correttamente solo eliminando la chiamata alla funzione sec_session_start() e usando session_start() standard su ogni file..ma a quel punto mancano i parametri di controllo sulla sessione..non so proprio come fare
ciao
 

skillsfactory

Utente Attivo
23 Nov 2012
50
0
0
cmq sec_session_start() puoi sostituirla con session_start() in fin dei conti non fa nulla di veramente utile
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
In realtà è utile per settare i cookie.
Per quanto riguarda la sessione puoi settare il nome in session_name().
Poi per vederla prova a stampare quello che ti restituisce la funzione session_name() e hai fatto.
 

noblues

Nuovo Utente
20 Nov 2013
12
0
0
In realtà è utile per settare i cookie.
Per quanto riguarda la sessione puoi settare il nome in session_name().
Poi per vederla prova a stampare quello che ti restituisce la funzione session_name() e hai fatto.
sono riuscito facendo partire la funzione solo da login.php ed eliminando alcune chiamate della function()
PHP:
<?php 
include 'secure/functions.php';
sec_session_start();
session_start();
?>
Codice:
function sec_session_start() {
       // $session_name = 'mymail'; // Imposta un nome di sessione
       // session_name($session_name); // Imposta il nome di sessione con quello prescelto all'inizio della funzione.
        //session_start(); // Avvia la sessione php.
quindi direi che il tutto funziona come dovrebbe..
grazie:beer:
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Se commenti quelle righe allora sono inutili anche altre funzioni come questa:
PHP:
session_name($session_name);
Quindi puoi commentare anche questa.
 

noblues

Nuovo Utente
20 Nov 2013
12
0
0
Se commenti quelle righe allora sono inutili anche altre funzioni come questa:
PHP:
session_name($session_name);
Quindi puoi commentare anche questa.
beh! ho lasciato
Codice:
function sec_session_start() {
        $secure = false; // Imposta il parametro a true se vuoi usare il protocollo 'https'.
        $httponly = true; // Questo impedirà ad un javascript di essere in grado di accedere all'id di sessione.
        ini_set('session.use_only_cookies', 1); // Forza la sessione ad utilizzare solo i cookie.
        $cookieParams = session_get_cookie_params(); // Legge i parametri correnti relativi ai cookie.
        session_set_cookie_params($cookieParams["lifetime"], $cookieParams["path"], $cookieParams["domain"], $secure, $httponly); 
        session_regenerate_id(); // Rigenera la sessione e cancella quella creata in precedenza.

non so se carica i parametri...(come faccio a saperlo ??) forse dovrei mettere nel login.php prima session_start() poi la funzione
PHP:
<?php 
include 'secure/functions.php';
session_start();
sec_session_start();

?>
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Se non li commenti li carica. Però il session_start() messo prima della chiamata della funzione non dovrebbe servire.
 
Discussioni simili
Autore Titolo Forum Risposte Data
F [risolto] ancora name sul submit HTML e CSS 3
L (risolto) MySQL 0
B getElementById su piu id(Risolto) Javascript 7
L Esercitarsi con Js [RISOLTO] Javascript 4
C [RISOLTO]Inserimento variabile php in input html PHP 20
L risolto visualizzazione e ordinamento dati PHP 1
moustache [RISOLTO] SQL PHP IIS PHP 8
Sergio Unia Ricezione email con destinatari multipli [Risolto] PHP 2
L update tabelle in php mysql [risolto] PHP 6
M Semplice visualizzatore di immagini [risolto con plugin wp] PHP 7
L [RISOLTO] Stampa a video risultato count in html PHP 13
L [RISOLTO] Eliminare una discussione creata PHP 3
tomorc [HTML] Problema con scroll bar (risolto) HTML e CSS 0
A [PHP] Problema query insert [RISOLTO] PHP 14
B [PHP] recuperare IP dei server in load balancing [RISOLTO] PHP 3
K [RISOLTO] Problema Griglia Php+Mysql PHP 13
S [RISOLTO] aggiorna tabella da select option asp classic Classic ASP 7
elpirata [RISOLTO][Javascript] Datapicker e autocompletamento campo input Javascript 2
elpirata [RISOLTO][Mysql] Problema insert valori apostrofati MySQL 1
elpirata [RISOLTO][Mysql] Contare le occorrenze in un campo tipo varchar MySQL 2
G [MS Access] Gestione biglietti [RISOLTO] MS Access 2
G [MS Access] Casella combinata & Query [RISOLTO] MS Access 4
G [MS Access] Query mese corrente con conteggio [RISOLTO] MS Access 2
M [RISOLTO]Windows media player non mi funziona più su win 10 pro 64 bit Windows e Software 2
C [RISOLTO][PHP] Errore di sintassi PHP 8
IT9-Gpp [RISOLTO] Leggere variabile restituita da success Ajax 3
Kolop [RISOLTO][PHP] Problema Pagination PHP 2
C [RISOLTO][PHP] Funzione ONclick PHP 14
C [RISOLTO][PHP] Conteggio righe di una tabella PHP 4
N [PHP] Utilizzo variabili di sessione [Risolto] PHP 13
Tommy03 [RISOLTO][PHP] Webserver o devserver? PHP 2
Sergio Unia Recupero dati da una vecchia versione MySql [Risolto] MySQL 4
spider81man [PHP] Problemi cancellazione dato su DB [RISOLTO] PHP 1
A [RISOLTO]Inserimento Immagini da pc a MySql PHP 15
A [PHP] RISOLTO Invio Mail con Tabella PHP 2
felino Risolto - [Wordpress][WooCommerce] PayPal Checkout e campi di fatturazione WordPress 2
elpirata [PHP][RISOLTO] Sommare gli importi estratti da un ciclo while PHP 3
elpirata [PHP][RISOLTO] Effettuare la somma dei tempi di lavorazione PHP 3
elpirata [PHP] [RISOLTO]Sovrascrivere testo in una tabella PHP 2
A [RISOLTO]Recuperare dati inviati con json tramite php PHP 4
C [RISOLTO][PHP] Passaggio variabili senza refresh di pagina PHP 7
elpirata [PHP][RISOLTO] Errore di tipo Notice: Undefined index - Come risolvere quando si hanno tante var PHP 10
S Problema in PHP per invio file XML - RISOLTO- PHP 8
A [Javascript] [RISOLTO] Doppio "submit", in uno stesso "Form" , che puntino ad "action" diversi Javascript 1
marino51 [Risolto]videochat di messenger ha smesso di funzionare sul telefonino Smartphone e tablet 1
A [Javascript] [HTML] RISOLTO...Allungare un box all'apertura della pagina No Mouse over Javascript 9
ken_korn [Javascript][Risolto] browser.tab.Tabs.favIconUrl non funziona Javascript 5
A [RISOLTO] HighChart e PHP PHP 4
A [RISOLTO] PHP Selezionare tutti i file con stessa estensione PHP 2
A [RISOLTO] Table elaborata da codice PHP con dati da DB non visualizzata in IFRAME PHP 15

Discussioni simili