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.203
207
63
Lombardia
ti suggerisco,

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

ciao
marino
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
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 2
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
felino Mac OS e Client Mail: Stato non in linea Mac e Software 1
I nome utente non esiste nel database PHP 1
M Drag and Drop non capisco le sequenze... Javascript 1
L Suggerimento Pagespeed per non vedenti HTML e CSS 0
F comando di inclusione file audio in I-Pad non funziona HTML e CSS 1
M Immagini non usate WordPress 0
B Non riesco a trovare i cognomi con i caratteri speciali in Access (Microsoft 365) MS Access 0
G Numero zero null non deve visualizzare nulla PHP 0
F Paypal _xclick IPN non risponde PHP 1
R Variabile non risconosciuta dentro una funzione PHP 1
C ACCESS Aprire maschera se valore non presente in una combo MS Access 7
E Alert non viene mostrato PHP 1
felino Hardisk WD SATA 1TB 3.5" non si avvia! Hardware 4
K Scrip non funzionante Javascript 1
R jquery che cambia css di un elemento non mi funziona sulla pagina caricata da ajax Ajax 5
zorro CREATE TABLE non funziona PHP 6
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
Sevenjeak Php8 non carica estenzioni PHP 0
R query DELETE non cancella i record PHP 1
otto9due Input text: accetta solo numeri e non può essere vuoto. Javascript 9

Discussioni simili