Sessioni

ilsuomillennio

Nuovo Utente
25 Ago 2016
6
0
1
43
Buongiorno a tutti voi.
Credo sia la prima volta che scrivo, non ricordo di averlo fatto in passato. In ogni modo.
Grazie in anticipo e scusate se profanerò con il mio essere un autodidatta la materia della programmazione.

Detto ciò.

Il mio problema è questo:

Sono alle prese con le sessioni session_start();
Questo è il codice:

un FORM rimanda ad una pagina di controllo che questo misero costrutto, come esempio
PHP:
<?php

session_start();

$username="esempio";

$password="123456";


    if(isset($_POST['password'])and(isset($_POST['username'])))

    {

        if ($_POST['username']=='esempio'and$_POST['password']=='123456')

        {

        header ("location: streaming-dcn.php");

        }

      

    else{


    $messaggio="<font color='red'>

    <b>ATTENZIONE! Dati mancanti o errati!</b></font>";

        {

        header ("location: login-streaming-dcn.php");

        }

    }

    }

?>


Se il controllo delle variabili va a buon fine vengo rimandato alla pagina.

Nel caso non dovessi essere loggato andando al link diretto dovrei effettuare il controllo sulla sessione ed ho scritto questo:


<?php

session_start();

if(isset($SESSIO['login']))// inizio controllo sessione aperta

{

if(isset($_POST['logout']))

{

    header("location: logout-streaming-dcn.php");

}

else{

    header("location: streaming-dcn.php");

    }

}// fine controllo sessione aperta


?>
MA FACENDO LA PROVA, SCRIVENDO IL LINK DIRETTO DELLA PAGINA PROTETTA NON MI RIMANDA AL LOGIN MA MI FA ACCEDERE LIBERAMENTE :((((((( BAIPASSANDO IL LOGIN

Oltretutto, ho costruito un form per il logout
<form name="logout" action="logout-streaming-dcn.php" method="POST">
<input type="submit" name="logout" value="Esci"/>
</form>

che rimanda alla pagina che dovrebbe distruggere la sessione e rimandarmi alla index
<?php
session_unset();
session_destroy();

{
header ("location:index.php");
}
?>

Ma i risultati non sono quelli desiderati.
CERTAMENTE QUESTO CODICE E' PESSIMO MA VI CHIEDO DI AVERE PAZIENZA
Potete aiutarmi a risolvere?
Grazie mille.
 
Ultima modifica di un moderatore:
Ciao, nel secondo codice che hai messo hai scritto un if che controlla se c'è una sessione aperta ma non hai messo l'else che ti mandi alla pagina di login, quindi forse è per questo che entri nella pagina riservata in ogni caso
 
@ilsuomillennio

Da regolamento del forum, come tutti noi sei tenuto ad usare il tag
PHP (2).png
quando posti del codice php, oppure la funzione codice dalla barra degli strumenti
box inserisci.png

Inoltre IMPORTANTE: Prima di creare una nuova discussione o di rispondere alle discussioni esistenti ricordati di leggere attentamente il Regolamento del Forum e l'eventuale regolamento specifico della sezione!
Grazie

Per questa volta te lo sistemo io ma mi raccomando per il futuro
 
se ho capito cosa vuoi fare, comincia da qui,
PHP:
<?php
session_start();
$_POST['username'] = "esempio";
$_POST['password'] = "123456";

    if( isset($_POST['password']) and isset($_POST['username']) )
    {
        if ( $_POST['username'] == 'esempio' and $_POST['password'] == '123456' )
        {
//----------QUI DEVI MEMORIZZARE QUALCOSA IN "$_SESSION" PER FAR SAPERE ALLO SCRIPT SUCCESSIVO CHE LOGIN = OK
            header ("location: streaming-dcn.php");
        }
        else
        {
            $messaggio = "<font color='red'><b>ATTENZIONE! Dati mancanti o errati!</b></font>";
//----------QUI DEVI MEMORIZZARE IL MESSAGGIO IN "$_SESSION" PER FARLO ARRIVARE ALLO SCRIPT SUCCESSIVO
            header ("location: login-streaming-dcn.php");
        }
    }
?>
 

Discussioni simili