Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Redirect dopo login

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    104

    Redirect dopo login

    Ciao a tutti,
    subito dopo il login vorrei fare in modo che l'utente venga reindirizzato nella stessa pagina (aggiornata ovviametne) da dove si è loggato.

    Attualmente nel file login ho questo codice che reindirizza alla index.php

    switch(auth_get_option("TRANSICTION METHOD")){
    case AUTH_USE_LINK:
    header("Refresh: 5;URL=index.php?uid=".$uid);
    break;
    case AUTH_USE_COOKIE:
    header("Refresh: 5;URL=index.php");
    setcookie('uid', $uid, time()+3600*365);
    break;
    case AUTH_USE_SESSION:
    header("Refresh: 5;URL=index.php");
    $_SESSION['uid'] = $uid;
    break;

    Qualcuno mi sa dire cosa posso mettere al posto di INDEX.PHP per reindirizzare nella stessa pagina di provenienza?

    Grazie

    Lollo

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    come URL di redirect puoi usare quello che ti restituisce $_SERVER['HTTP_REFERER']

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    104
    grazie per il suggerimento.
    Nel codice che ho postato sopra ho provato a sostituire index.php con il codice che mi hai indicato tu, ovvero $_SERVER['HTTP_REFERER']
    Ma purtroppo non funziona...

    Ho provato a cercare su internet e non ho trovato granché. Spero che quello che voglio fare si possa fare con header refresh...

    hmmmm..... che dici?

  4. #4
    Originariamente inviato da Lollo1974
    grazie per il suggerimento.
    Nel codice che ho postato sopra ho provato a sostituire index.php con il codice che mi hai indicato tu, ovvero $_SERVER['HTTP_REFERER']
    Ma purtroppo non funziona...

    Ho provato a cercare su internet e non ho trovato granché. Spero che quello che voglio fare si possa fare con header refresh...

    hmmmm..... che dici?
    Ciao,
    potresti basarti sulla pagina da cui proviene...cioè, ovvio che sia così, ma intendo dire...
    Quando l'utente è su una pagina, ti salvi in qualche modo dove si trova. Quando si sposta su un'altra pagina, aggiorni quella informazione. Dopo il login quindi puoi sapere dove si trovava e reindirizzarlo

    Entra nel sito -> salvi "pagina = index.php"
    Va in test -> salvi "pagina = test.php"
    Va in login o usa un box di login. Qui ovviamente NON modifichi il dato, quindi pagina == test.php
    Login OK (ancora, nessun cambio del dato, pagina == test.php) -> reindirizzi a pagina, cioè a test.php


  5. #5
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    un esempio del codice che intendevo, sempre tenendo a mente che il referer potrebbe essere modificato lato client (ci sono vari metodi per farlo)
    Codice PHP:
    <?php
    $from 
    $_SERVER['HTTP_REFERER'];

    $user "pippo";
    $pwd "pippo";

    if(
    $_POST['user'] === $user && $_POST['pwd'] === $pwd) {
        
    $uid md5($user);
        
    header("Location:$from?uid=$uid");
    }
    else {
        
    header("Location:error.php");
    }
    ?>
    oppure usi il processo che ha illustrato Dascos

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    104
    Grazie per il suggerimento,
    ma non credo che funzioni. E poi non saprei come implementralo...

    Vedete, la aprte del codice che dovrei modificare è la seguente:

    case AUTH_LOGEDD_IN:
    switch(auth_get_option("TRANSICTION METHOD")){
    case AUTH_USE_LINK:
    header("Refresh: 2;URL=index.php?uid=".$uid);
    break;
    case AUTH_USE_COOKIE:
    header("Refresh: 2;URL=index.php");
    setcookie('uid', $uid, time()+3600*365);
    break;
    case AUTH_USE_SESSION:
    header("Refresh: 2;URL=index.php");
    $_SESSION['uid'] = $uid;
    break;
    }
    echo '<div align="center">Ciao '.$user['username'].' ... attendi il reindirizzamento</div>';
    break;

    Naturalmente al posto di index.php dovrei inserire qualche altra cosa, ma non penso che possa metterci l'ultimo codice che mi avete postato.
    Suggerimenti?
    Grazie

    Lollo

  7. #7
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Perdonami, ma non capisco: nel tuo codice fai un header - refresh e lo inoltri su una pagina (index.php + il parametro GET).
    Ecco, se quella pagina (index.php) diventa dinamica (il mio $from...) che cosa non funziona? Devi mettere $from fuori dal tuo switch() e poi lo richiami nei tuoi header refresh.

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    104
    Intanto ti ringrazio per la pazienza e vado a esporti meglio il mio problema.
    Il problema nasce dal fatto che il modulo del login/logout l'ho inserito nella header, incluso in tutte le pagine del sito.
    Il sito è caratterizzato da una home page, da 15 sezioni generate dinamicamente e da due pagine statiche.
    Ora, avendo la header in tutte le pagine, il login è possibile effetturalo in qualisasi sezione del sito, quindi sia nella index, sia in page1, sia in page 2.... fino alla page 15.
    Da qui il mio problema:

    - come faccio a dirgli nel codice di lasciare l'utente che effettua il login nella pagina in cui si trova? Deve essere un'indicazione general. Non posso dirgli di rimanere nella page 1, altrimenti se uno effettua il login nella page 2 viene reindirizzato alla page 1.

    Forse prima non mi ero spiegato bene.

    Riesci a darmi una mano?

    Grazie

    Lollo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.