Visualizzazione risultati 1 fino 5 di 5

Discussione: redirect dopo login

  1. #1
    Guest

    Predefinito redirect dopo login

    ciao a tutti
    ho un piccolo problema con un script che sto provando ovvero un login per un area riservata
    funziona tutto bene tranne che quando ci si logga non mi dirotta sulla pagina protetta ma devo scriverla io manualmente sul browser.

    nell'action del form sostituisco la stringa php_self con il link della mia pagina protetta ma non mi fa accedere nonostante la stessa password

    se lascio per l'appunto la stringa php_self funziona ma non ho il redirect

    ecco il codice:
    Codice PHP:
    <?
    session_start
    ();
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Login</title>

    </head>

    <body>
    <?
    function check($user,$password){
    include(
    "utenti.php");

    foreach(
    $utenti as $user_ => $password_){
    if ((
    $user==$user_) AND ($password==$password_)) {
    return
    true;
    }
    }

    return
    false;
    }

    function
    form_login(){
    ?>
    <form id="login" action="<?=$PHP_SELF?>" method="post">
    <div style="text-align:center;margin-left:auto;margin-right:auto;">
    Utente:<br>
    <input type="text" name="utente" size="20" maxlength="255"><br>
    Password:<br>
    <input type="password" name="password" size="20" maxlength="255"><br><br>
    <input type="submit" value=" OK ">
    </div>
    </form>
    <? }

    if(isset(
    $_POST["utente"])){
    if (
    check($_POST["utente"],$_POST["password"])){
    $_SESSION["utente"] = $_POST["utente"];
    $_SESSION["password"] = $_POST["password"];
    echo
    "ora sei loggato!";
    }else{
    form_login();
    }
    }else{
    form_login();
    }
    ?>

    </body>
    </html>
    ho provato anche a inserire un refresh nel meta tag ma con il risultato che mi fa accedere alla pagina protetta anche se non digito la password, pazzesco!

  2. #2
    Guest

    Predefinito

    Prova a lasciare il campo vuoto

  3. #3
    Guest

    Predefinito

    nada de nada.
    il problema persiste, effettuo il login ma non mi dirotta alla pagina protetta

  4. #4
    Guest

    Predefinito

    Modifica questo:
    Codice PHP:
    if(isset($_POST["utente"])){
    if (
    check($_POST["utente"],$_POST["password"])){
    $_SESSION["utente"] = $_POST["utente"];
    $_SESSION["password"] = $_POST["password"];
    echo
    "ora sei loggato!";
    }else{
    form_login();
    }
    }else{
    form_login();
    }
    con questo:
    Codice PHP:
    if(isset($_POST["utente"])){
    if (
    check($_POST["utente"],$_POST["password"])){
    $_SESSION["utente"] = $_POST["utente"];
    $_SESSION["password"] = $_POST["password"];
    echo
    "ora sei loggato!";
    header("Location: tuapagina.php"); // modifica con l'url della pagina protetta
    }else{
    form_login();
    }
    }else{
    form_login();
    }

  5. #5
    Guest

    Predefinito

    FUNZIONA!!!

    ecco cosa mi mancava, l'header; io provavo con a href
    spero che non mi faccia i soliti scherzetti che dopo un po' non funziona più

    Grazie davvero di cuore

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •