Reindirizzamento non va

stefano862

Nuovo Utente
5 Dic 2013
26
0
0
Ciao, sto facendo un progetto in php mvc ma senza framework. Ho organizzato i file in questo modo:
- directory public: ci sono i file accessibili dall'esterno
- directory View: ci sono i file .php ma essenzialmente e' solo html
- direcory Model: contiene i file relativi alla connessione al database, e le classi che definiscono gli oggetti, per esempio la classe User.php
- directory Controller: contiene una classe 'generica' Controller e varie classi Controller piu' specifiche.

Ho creat una pagina di login (View/Login.php) con un form il cui action manda a public/index.php. In index.php c'e' questo codice:
PHP:
		$controller = new LoginController();
		$view = $controller->invoke();
		$view->render();
invoke() e' una funzione in Controller/LoginController.php che legge i dati inseriti dall'utente e li controlla, se sono corretti (esiste un utente nel database con tale username e password) allora crea due variabili
globali e fa un redirect:
PHP:
		$_SESSION['logged_in'] = 1;
		$_SESSION['username'] = $username;
		header("refresh: 0; url = ../public/home.php");
		exit();
public/home.php fa questo:
PHP:
		$controller = new HomeController();
		$view = $controller->invoke();
		$view->render();
HomeController e' una classe che estende Controller. Il costruttore di Controller guarda se esistono le variabili
PHP:
$_SESSION['logged_in']
e
PHP:
$_SESSION['username']
.
Se esistono ok, se non esistono reindirizza a index.php.

Il mio problema e' che la riga
PHP:
header("refresh: 0; url = ../public/home.php");
non reindirizza.
Spiego meglio: quando inserisco dei dati corretti (utente registrato) reindirizza per brevissimo tempo a home.php ma poi ritorna a index.php.
Invece dovrebbe reindirizzare a home.php e rimanerci, non tornare a index.php.
ho provato anche aggiungendo
PHP:
<?php ob_start();
all'inizio del file e
PHP:
ob_end_flush();
prima di
PHP:
header("Location: $url", true, 302);
ma niente. Ho provato anche con
PHP:
header("refresh: 0; url=../public/home.php");
..

Come posso risolvere questo problema?
 
Ultima modifica:

marino51

Utente Attivo
28 Feb 2013
3.041
192
63
Lombardia
ti suggerisco,

PHP:
$url = "Location: http://localhost/.../public/home.php"
header($url);
exit();

ciao
marino
 

marino51

Utente Attivo
28 Feb 2013
3.041
192
63
Lombardia
scusa ... pensavo che il problema fosse causato da "refresh"
non ho altra idea se non dirti, guarda nel codice di home.php
ciao
 

flameseeker

Utente Attivo
27 Nov 2013
699
0
0
Da come descrivi l'applicazione e il problema sembra che esso dipenda dal fatto che la sessione non viene mantenuta tra una pagina e l'altra.

In View/Login.php, prima di inizializzare il LoginController e in public/home.php, prima di inizializzare l'HomeController hai inizializzato la sessione con session_start() ?
 
Discussioni simili
Autore Titolo Forum Risposte Data
D [WordPress] Reindirizzamento funziona su Chrome ma non su Firefox WordPress 0
G Reindirizzamento dominio che non si disattiva Domini 0
P reindirizzamento non corretto PHP 5
R reindirizzamento accesso facebook Social Media Marketing 1
P [PHP] Reindirizzamento post Login PHP 3
P Reindirizzamento errori url Web Server 0
L iis reindirizzamento globale a una directory virtuale Web Server 0
E [PHP] Reindirizzamento pagina se la password immessa è corretta PHP 9
A Forzare reindirizzamento con ajax Ajax 0
C Reindirizzamento automatico ad una pagina del proprio sito dopo condivisione su facebook PHP 1
P problemi di refresh per reindirizzamento pagina PHP 6
C Reindirizzamento htaccess HTML e CSS 2
F reindirizzamento sottodiminio SEO e Posizionamento 2
IImanuII Reindirizzamento URL forwarding WordPress 4
K Cambio indirizzo dominio e reindirizzamento 301 Domini 1
G Reindirizzamento a ogni diversa cartella per ogni utente PHP 22
Task Mc Aiuto per reindirizzamento in php PHP 7
M [VBulletin] La pagina web ha generato un loop di reindirizzamento CMS (Content Management System) 0
N Problama reindirizzamento automatico lingua Javascript 1
Monital Reindirizzamento con session_start PHP 5
nim reindirizzamento dopo login PHP 7
A [PHP] Reindirizzamento al path precedente integrale PHP 4
S reindirizzamento a url dopo pagamento HTML e CSS 0
R Errore di reindirizzamento Web Server 0
F Problema di reindirizzamento con alcune form PHP 4
T Avatar e Reindirizzamento PHP 7
I Reindirizzamento Discussioni Varie 3
B Reindirizzamento Classic ASP 3
Y Reindirizzamento ad una pagina Javascript 1
D Reindirizzamento HTML e CSS 3
N dati tabella non presi PHP 0
P Pagina modifica record che non funziona PHP 0
Shyson AUTO_INCREMENT non si aggiorna MySQL 2
Shyson Codice wp-login non funziona PHP 2
S WORDPRESS NON FA INSTALLARE PIU NULLA WordPress 9
Shyson Non mi fa accedere al sito WordPress 12
N Non Autorizzato. Dovresti rimuovere il parametro customize_messenger_channel per visualizzare l'anteprima in frontend. WordPress 1
R INSERT INTO tabella non funziona Classic ASP 2
A Problema, non so, di scale() o transform, oppure altro? HTML e CSS 0
felino Conversione da MPG a MP4: audio non sincronizzato Windows e Software 1
F Telecamere Wi-Fi non si connettono A nvr IP Cam e Videosorveglianza 0
G Finestra di dialogo che non si apre - programma NUENDO Windows e Software 0
L php mysql non salva solo id PHP 21
D Pagina non trovata Wordpress WordPress 7
S connesso, internet non disponibile ( con extebder tp-link850) Reti LAN e Wireless 0
F Script java elenco alfabetico non funziona Javascript 3
F Script non funzionante. Devo elencare in ordine alfabetico un elenco di nominativi, ma lo script non Javascript 2
L Estrazione dati casuali non doppioni MySQL 1
napuleone non si chiude il thead e non si apre il tbody Javascript 0
napuleone non si aggiorna textarea in tempo reale Javascript 3

Discussioni simili