[PHP] Reindirizzamento pagina se la password immessa è corretta

enzogar

Nuovo Utente
3 Ago 2016
30
0
6
Buongiorno.
Ho una domanda per chi, a differenza mia, ha dimestichezza con il php.

Per poter accedere ad alcune pagine del mio sito, protette da una password (che viene richiesta in un'altra pagina php), uso il seguente codice php, in testa alla pagina:

<?php
session_start();
if (!isset($_SESSION['login'])) {
header("Location: password_non_corretta.php");
}
?>

Se la password è corretta, si visualizza il restante contenuto della pagina, altrimenti si viene reindirizzati alla pagina "password_non_corretta.php".

Fin qui tutto ok.
Ora però vorrei modificare il codice, affinchè reindirizzi ad una determinata pagina se la password è corretta (quindi, il contrario di ciò che fa adesso il codice).

Potete dirmi come devo modificare il codice php?
Grazie.
 

AdeKnite

Utente Attivo
3 Ago 2016
161
35
28
27
Ciao,
volendo mantenere il tuo codice originale, ti basta aggiungere un else e reindirizzare.

PHP:
<?php

session_start();

if (!isset($_SESSION['login'])) {
    header("Location: password_non_corretta.php");
} else {
    header("Location: altra_pagina.php");
    exit;
}

?>

Tutto ciò però va bene OVVIAMENTE solo nel caso in cui, una volta sbagliata la password, la variabile di sessione login non viene settata.
 

enzogar

Nuovo Utente
3 Ago 2016
30
0
6
Grazie per la risposta.
Però vorrei se possibile una soluzione più diretta, mi spiego: se alla prima condizione risulta che la password è corretta, si viene reindirizzati ad un'altra pagina, mentre se la password non è corretta si continua e si visualizza il contenuto della pagina che ospita il codice di controllo, quindi ci deve essere un solo reindirizzamento nel caso la password risulti corretta.

Non ho nessuna dimestichezza con il php, ma ad occhio basterebbe modificare if (!isset($_SESSION['login'])) in modo che questa if rilevi se la password è corretta...
 

enzogar

Nuovo Utente
3 Ago 2016
30
0
6
C'è qualcuno che mi può dire come modificare quella if del codice in modo tale che se la password è corretta si viene reindirizzati alla nuova pagina?
Grazie.
 

AdeKnite

Utente Attivo
3 Ago 2016
161
35
28
27
Semplicemente..
PHP:
<?php
session_start();
if (isset($_SESSION['login'])) {
header("Location: password_corretta.php");
}
?>

Ripeto che, con questo codice, si presuppone che la variabile di sessione login non venga settata in caso di password errata. In caso contrario, il reindirizzamento avverrebbe comunque nonostante la password inserita, per cui consiglio di valorizzare $_SESSION['login'] con TRUE se la password è corretta, con FALSE altrimenti, basando quindi la condizione sul valore assunto da tale variabile.
 

enzogar

Nuovo Utente
3 Ago 2016
30
0
6
Ok, ti ringrazio. Nel dettaglio, il codice dovrebbe fare questo: nel sito ho alcune pagine a cui il visitatore può accedere liberamente, senza aver digitato nessuna password, pagine ad accesso libero che mostrano solo una parte del contenuto. . Poi ci sono alcune pagine del sito a cui si accede con una password.
Da queste pagine, il visitatore che ha digitato la password, può andare anche sulle altre pagine ad accesso libero, se però antra in queste pagine dopo che si è loggato (dopo che ha digitato la password), andrà reindirizzato alle equivalenti pagine che mostreranno in più il contenuto protetto.

Quindi, il visitatore che entra la prima volta nella pagina che contiene quel codice, se non ha digitato la password, accederà a quella pagina che ha solo il contenuto parziale, mentre se entra in quella pagina dopo aver digitato la password (su altre pagine del sito), andrà immediatamente reindirizzato alla pagina che conterrà il contenuto completo...
 

enzogar

Nuovo Utente
3 Ago 2016
30
0
6
Era solo per spiegarti cosa dovrebbe fare quel codice. Ma una domanda te la voglio fare: quando dici:"valorizzare $_SESSION['login'] con TRUE se la password è corretta, con FALSE altrimenti, basando quindi la condizione sul valore assunto da tale variabile", quindi il codice

<?php
session_start();
if (isset($_SESSION['login'])) {
header("Location: password_corretta.php");
}
?>

come diventa?
 

AdeKnite

Utente Attivo
3 Ago 2016
161
35
28
27
La questione non si pone in questa pagina, bensì quando viene valutata la password immessa dall'utente.

In ogni caso si tratta solamente di un piccolo accorgimento tanto per stare sicuri, ma può anche funzionare benissimo così.
 
Discussioni simili
Autore Titolo Forum Risposte Data
P [PHP] Reindirizzamento post Login PHP 3
Task Mc Aiuto per reindirizzamento in php PHP 7
A [PHP] Reindirizzamento al path precedente integrale PHP 4
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4
M Problemi con la stampa dei valori in php PHP 1
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 0
D passare valori da database sql a php PHP 1
L Ricezione dei dati su file php da modulo html PHP 6
E Inviare variabile a PHP da ciclo in JS Javascript 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
F menù select dinamico da db in php PHP 3
L Problemi form Pagina php HTML e CSS 3
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
F Il codice php è giusto? PHP 2
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
A invio massivo dati a file php Javascript 4
Z MySql injection PHP PHP 1
V PHP form intersecate PHP 0
I [Offro][Retribuito] Programmatore Php Offerte e Richieste di Lavoro e/o Collaborazione 0
P Funzione jQuery Ajax invio file a php jQuery 1
C Dopo chiusura del tag php la stringa html va a capo PHP 1
E Transaction php PHP 11
B ciclare file xml con PHP PHP 1
L Estrazione dati php Database 6
A Aiuto per pagina php PHP 0
E Php select option e ajax PHP 23
I Aiuto php Dependent Lookup PHP 0
T arretramento versione PHP... PHP 3
D problema php mysql PHP 1
D problema php mysql PHP 1
E Barra di avanzamento codice PHP PHP 4
G creazione menu a tendina e invio a pagina php PHP 1
A inserire variabile php colore in div html PHP 2
Z Video protetto con PHP PHP 0
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
I Eecuzione di javascript in ciclo foreach php. PHP 7
S Libreria PHP per creare file dwg o dxf PHP 0
A [cerco - retribuito] Sviluppatore Php freelance per progetti vari Offerte e Richieste di Lavoro e/o Collaborazione 2
L Google chart php mysql PHP 2
R Download file multipli da directory php PHP 0
F pagina dinamica PHP PHP 3
P Rimozione automatica url da sitemap.xml con PHP PHP 1
L php tinymce mi duplica la classe label PHP 3
S Errore PHP - Notice: Undefined index ... PHP 14
N file manager da php 5 a 7 PHP 15
M Utilizzare la funzione mysql_num_rows() in PHP 5 PHP 3

Discussioni simili