[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
30
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
30
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
30
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
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 1
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0

Discussioni simili