Problema reinidirizzamento index.php

di il
12 risposte

Problema reinidirizzamento index.php

Salve,
Ho un problema con la pagina index.php.
In pratica non mi reindirizza alla pagina di login in caso di sessione utente inesistente. Posto parte del codice:

<?php 
	include("header.inc.php");
	include("navigation.php");
?>
	<div id="contenuto">
	<?php
		if (isset($_SESSION['username'])) {
        ....resto del codice....
                } else { header("Location: login.php"); }
        ....altro....
        ?>
        </div>
   
<?php include("footer.inc.php"); ?>
Ho provato anche ad eliminare la condizione e inserirla tra header e footer in modo da controllare in tutte le pagine ma niente...
Chi mi saprebbe aiutare? Probabilmente ho il problema davanti agli occhi ma non riesco a risolverlo...

12 Risposte

  • Re: Problema reinidirizzamento index.php

    Il redirect deve essere chiamato prima di qualsiasi altro contenuto in output. Il tag <div> che hai messo fa si che la funzione header() generi un errore

    Inviato dal mio GT-I9100 utilizzando Tapatalk
  • Re: Problema reinidirizzamento index.php

    Probabilmente anche i due include che metti prima richiamano qualche output

    Inviato dal mio GT-I9100 utilizzando Tapatalk
  • Re: Problema reinidirizzamento index.php

    alle80 ha scritto:


    Il redirect deve essere chiamato prima di qualsiasi altro contenuto in output. Il tag <div> che hai messo fa si che la funzione header() generi un errore

    Inviato dal mio GT-I9100 utilizzando Tapatalk
    Ti ringrazio per avermi risposto. Ho provato come hai detto tu, ho messo
    
    <?php if (isset($_SESSION['username'])) { ?>
    <div id="contenuto">
    ...resto del codice...
    </div>
    <?php } else { header("Location: login.php"); } ?>
    
    Ma c'è sempre il problema...non reindirizza. Ho anche tolto la condizione dalla pagina index e messo in header.inc.php e footer.inc.php la condizione ma addirittura non si apre la pagina, pagina bianca.
  • Re: Problema reinidirizzamento index.php

    Ah credo che la location debba essere un URL assoluto "http://ecceter"...

    Inviato dal mio GT-I9100 utilizzando Tapatalk
  • Re: Problema reinidirizzamento index.php

    Hai provato a mettere la funzione header in una pagina da sola?

    Inviato dal mio GT-I9100 utilizzando Tapatalk
  • Re: Problema reinidirizzamento index.php

    alle80 ha scritto:


    Ah credo che la location debba essere un URL assoluto http://ecceter...

    Inviato dal mio GT-I9100 utilizzando Tapatalk
    Il problema c'è sempre.
  • Re: Problema reinidirizzamento index.php

    Prova questo da solo e vedi se ti da errori

    <?php error_reporting(E_ALL); header("Location: login.php"); die(); ?>

    Inviato dal mio GT-I9100 utilizzando Tapatalk
  • Re: Problema reinidirizzamento index.php

    Sull'URL assoluto ho detto una cavolata, perdonami

    Inviato dal mio GT-I9100 utilizzando Tapatalk
  • Re: Problema reinidirizzamento index.php

    Ho provato come hai detto, ma reindirizza tranquillamente...probabilmente c'è un problema nel codice che non riesco a trovare. Se ti posto il codice di tutta la pagina index su pastebin o simili puoi dare uno sguardo?
    E' abbastanza importante perchè se entrano nel sito risultano già loggati senza una sessione e quindi non va al login e mi crea abbastanza problemi.
  • Re: Problema reinidirizzamento index.php

    Quindi non è che da errore sul redirect, semplicemente non lo fa quando te lo aspetti, ma continua con il contenuto della pagina

    Inviato dal mio GT-I9100 utilizzando Tapatalk
  • Re: Problema reinidirizzamento index.php

    Si, sembra di si. Cosa mi consigli? cosa posso fare?
  • Re: Problema reinidirizzamento index.php

    RISOLTO!!!! In pratica prima dell'header non ci possono essere OUTPUT...bisogna modificare il php.ini modificando output_buffering impostandolo ad On, ovviamente solo chi ha i permessi di modificare il file da root, altrimenti per ovviare a questo, basta aggiungere sulla prima riga ob_start(); e ora funziona alla grande.
Devi accedere o registrarti per scrivere nel forum
12 risposte