Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: aiuto con $GLOBALS

  1. #1
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316

    aiuto con $GLOBALS

    ciao, sto smanettando con questo array perchè vorrei capire se sia possibile tramite php (e senza dover inserire del codice manualmente in ogni pagina interessata) redirezionare tutte le pagine del sito ad un'altra pagina, qualora si verifichino delle condizioni.
    ad esempio poniamo che io oggi pomeriggio voglia effettuare una manutenzione del mio sito e voglio evitare che durante l'operazione, gli utenti possano interagire con il sito: entro nel sito come gestore, c'è un menù a tendina con le voci 'manutenzione on', 'manutenzione off'. Se seleziono off il sito è online normalmente, se invece seleziono on invece viene effettuato il redirezionamento delle pagine del sito.

    al momento questo è il mio codice non funzionante.
    Imposto la variabile nella pagine del gestore del sito.
    codice:
    //imposto la mia variabile globale
    $manu = $_POST['manu'];
    echo $manu;
    
    $GLOBALS['manutenzione'] = $manu; //on o off
    e questo è il codice in testa alla pagina pubblica che voglio redirezionare

    codice:
    <?php
    if($GLOBALS['manutenzione'] == 'on'){
        header('Location: manutenzione.html');
        exit;
    }
    ?>
    dove sto sbagliando? le pagine sono nella stessa directory

    se avete altri consigli su come gestire questo tipo di operazione, sono ben accetti!
    grazie,
    L.
    Ultima modifica di leaf; 14-05-2015 a 15:15

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Nella parte amministrazione del mio sito ho una pagina dove setto se il sito è online o offline in una tabella.
    Poi ho uno script che viene incluso all'inizio di ogni pagina (infatti il mio sito ha solo due pagine anche se sembrano decine). Leggo la tabella e se il sito è offline reindirizzo ad una pagina (parametrizzata anche essa nella parte amminstrazione).
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316
    ok grazie..è più o meno quello che voglio fare io..ma se è offline tu (gestore) puoi accederci comunque giusto? e cosa fa di preciso lo script?

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Innanzitutto. Il mio account sul mio sito è settato come amministratore.

    Quando mi logo nella parte amministrazione, è solo in questo caso, setto una variabile di sessione con un certo valore. Se passo in offline, lo script presente sul sito "normale" guarda se la persona che vede le pagine è amministratore o meno.

    Se non lo è allora viene reindirizzato alla pagina "offline" mentre se lo è continua a vedere il sito... ma c'è una scritta scorrevole che compare in ogni pagina dicendo che il sito è offline per non dimenticare di rimetterlo online.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316
    Quote Originariamente inviata da badaze Visualizza il messaggio
    guarda se la persona che vede le pagine è amministratore o meno.
    ok..credo di aver capito tranne questo passaggio..come fa il sito a sapere che un utente che sta guardando una pagina pubblica è o meno admin? le mie pagine pubbliche al momento non controllano se l'admin è collegato o meno (di fatto non gli interessa perchè sono pubbliche)

    cioè, il mio sito è diviso in 2 parti: una pubblica e una privata. Io dovrei settare una variabile di sessione quando mi loggo nella parte privata..a questo punto imposto il sito come offline. però come faccio a dire alla pagina pubblica di redizionare? non posso chiaramente usare la variabile di sessione ma mi servirebbe (da quel che ho capito) una variabile superglobale..da qui la mia domanda iniziale..

    grazie,
    L.

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Presenza o meno della variabile di sessione. Quest'ultima viene settata solo quando mi collego nella parte amministrazione. Quindi se vai sul mio sito non ci sarà quella variabile e se il sito è offline allora vedrai la pagina che ti dice che il sito non è disponibile.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  7. #7
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316
    ok dovrei aver capito..quindi quando faccio il login creo la variabile
    codice:
    $_SESSION['offline'] = 'offline';
    e poi nelle pagine che mi interessano (cioè quelle pubbliche) controllo se è settata
    codice:
    if(isset("_SESSION['offline']))
         header(...);
    però..questo è praticamente il codice che stavo usando in precedenza ma non mi pareva funzionasse..nello specifico, dal mio menù a tendina imposto la variabile
    codice:
    $m = $_POST['m'];
    $_SESSION['manutenzione'] = $m; //m è true
    e poi in ogni pagina pubblica controllo se è true o false. se è true redireziona
    codice:
    if($_SESSION['manutenzione'] == true){
        header('Location: manutenzione.html');
        exit;
    }
    ho riprovato ora e infatti non funziona. cioè funziona solo sul mio pc dal quale ho impostato il valore 'true' alla variabile. sul mio altro pc non funziona (cioè non avviene alcun redirect)

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Normale. Io mi baso anche su una tabella. E' la tabella che dice se il sito è offline o meno.
    La variabile di sessione serve solo a fare in modo che tu, collegato da amminsitratore, possa vedere il sito mentre quei che non l'hanno hanno il redirect.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  9. #9
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    codice:
    Lettura tabella
    se il sito è offline {
      se $_SESSION['amministratore'] è settata e se != 'SI' {
        redirect
      } 
    }
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  10. #10
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316
    ah ok..ora credo di aver capito..quindi tu hai una tabella apposita nel db..e nelle pagine pubbliche controlli se il valore è settato o meno..però mi pare un po' intricata come cosa....non c'è un metodo più semplice, tipo usare una variabile superglobale e controllare quella, come dicevo all'inizio?

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 © 2025 vBulletin Solutions, Inc. All rights reserved.