Visualizzazione risultati 1 fino 1 di 1

Discussione: Questa pagina non reindirizza in modo corretto

  1. #1
    Guest

    Predefinito Questa pagina non reindirizza in modo corretto

    Salve, stranamente la pagina mi va in "loop" infinito.. Ovvero compare questo errore del browser:

    Firefox ha rilevato che il server sta reindirizzando la richiesta per questa pagina in modo che non possa mai essere completata.

    Credo che sia dovuto da questa riga, ma non capisco..

    Codice PHP:
    <?php
    session_start
    ();

    if(
    file_exists('install.php')) {

    if(
    file_exists('mybeatpoll_settings.php')) {
    unlink('install.php');
    } else {
    header ('Location: install.php?step=1');
    }
    } else {
    include(
    'mybeatpoll_settings.php');
    $action = ($_GET['action']) ? $_GET['action'] : null;
    if(!isset(
    $_SESSION['username'])) {
    header('Location: ?action=login');
    } else {
    header('Location: ?action=home');
    }

    if(
    $action != "home" && $action != "add" && $action != "edit" && $action != "delete" && $action != "login") {
    if(isset(
    $_SESSION['username'])) {
    header ('Location: ?action=home');
    } else {
    header('Location: ?action=login');
    }
    }
    }

    ?>
    Praticamente devo far in modo che se esisiste il file install.php , c'è un controllo dove se esiset il file mybeatpoll_settings.php cancella il file install e basta, ma se invece non esiste rimanda alla pagina install.php?step=1. Poi.. se la sessione username non è 'creata', rimanda alla pagina corrente che abbia come paramentro dell' action "login", se invece è esistente rimanda alla pagina corrente con action "home". Se poi ancora il valore di "action" è differente da home, add, edit, delete e login fa nuovamente un controllo sulla sessione, dove se c'è rimanda all' "action=login", se invece c'è rimanda ad "action=home".



    IN parole povere:



    Se non hai effettuato il login e il file install.php esiste, ma mybeatpoll_settings no, vieni rimandato a install.php.

    Se non hai effettuato il login e il file install.php esiste, ma anche mybeatpoll_settings, vieni cancellato install.php. (Forse qui dovrei aggiungere un header per refrehsare la pagina..)

    Se non hai effettuato il login e l' action è differente da quelle sopra elencate, vieni rimandato a index.php?action=login.

    Se hai effettuato il login e il file install.php esiste, ma mybeatpoll_settings no, vieni rimandato a install.php.

    Se hai effettuato il login e il file install.php esiste, ma anche mybeatpoll_settings, vieni cancellato install.php.

    Se hai effettuato il login e l' action è differente da quelle sopra elencante, vieni rimandato a index.php?action=home.

    Se non si trovano errori posso postare tutto il resto del codice.


    ------------ EDIT -----------

    Risolto.. la parte che dava problemi è:

    Codice PHP:
    if(!isset($_SESSION['username'])) {
    header('Location: ?action=login');
    } else {
    header('Location: ?action=home');
    }
    Non ho capito il motivo ma ho risolto mettendo dei controlli sulla variabile nei vari case dell' action.
    Ultima modifica di mybeatnews : 06-08-2011 alle ore 23.51.29

Regole di scrittura

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