HTML.it è il sito italiano del web publishing

Problema (penso) redirect php.



scegli un altro forum
    Indietro   Ricarica   Avanti Invia una risposta

Autore
Discussione     
LucaGessi
Utente di HTML.it



Registrato il: May 2012

Provenienza:

Messaggi: 21


ICQ:

MSN:

Skype:


Problema (penso) redirect php.
Salve a tutti.
Sul mio sito ho creato uno script per il login solo che noto dei problemi con la disconnessione dell'utente.
Con alcuni broswer funziona(chrome, internet explorer), mentre con altri (opera, firefox) no. Con le versioni mobile per smartphone android e safari funziona perfettamente.
Vi spego in cosa consiste.
Dalla home l'utente clicca su il link accedi e viene indirizzato alla pagina accedi.php.
Qui c'è un form con username, password e bottone per conferma. Al click del bottone, se il campo username non è vuoto parte una richiesta ajax che controlla se password e username sono presenti nel database, in caso affermativo elimina tutte le sessioni esistenti nella relativa tabella, crea un id univico e lo inerisce nella tabella poi lo invia per POST alla stessa pagina. Ora con l'invio per POST della chiave appena inviata, prima del tag <head> uno script php controlla se effettivamente è presente l'id nella tabella sessioni e in caso affermativo aggiunge un cookie con l'id e si viene reindirizzati con header('location ') alla home page dove ci si presenta loggati.
Ora con chrome se si clicca sul pulsante di disconnessione tutto funziona, veniamo reindirizzati alla pagina logout.php, la quale, ovviamente prima del tag <head> , controlla la presenza del cookie, ne acquisisce il valore, lo cerca nella tabella sessioni cancella le righe con quel id univoco. Infine veniamo inderizzati nuovamente alla home page e siamo disconnessi.
Il problema che si verifica con opera e altri è che cliccando su il pulsante di disconnessione sembra che siamo automaticamente reindirizzati alla home page senza che si esegue lo script php che cancella la sessione.
Prima di usare un semplice redirect usavo, il redirect 301 MOVE PERMANENT, ma credo di essermi sbagliato sul suo utilizzo.
Vi posto il codice relativo alla pagina logout.php
codice:
<html>
	<?php
		error_reporting(E_ALL);
		include_once "/membri/letsgetout/script/php/login.php";
		$login = new login();
		$login->logout();
		header("Location: index.php");
	?>

Questa chiama la funzione logout della classe login, che è così strutturata:
codice PHP:

public function logout(){
        
$this->connetti();
        
$id $_COOKIE['lgo_session_id'];
        
$res $this->action("DELETE FROM sessioni WHERE uid='$id'");
        
$this->disconnetti();
    }


Aggiungo che credo sia redirect il problema, pur non sapendo benissimo la funzione del 301, perchè se nella pagina logout.php cancello proprio la riga header('location: ') vengo lo stesso inderizzato.

Grazie per l'aiuto.

Ultima modifica ad opera dell'utente LucaGessi il 03-07-2012 alle 09:21

Segnala ad un moderatore | IP: Collegato | Permalink

LucaGessi è offline Old Post 03-07-2012 09:09
Clicca qui per vedere il profilo dell'utente LucaGessi Clicca qui per inviare all'utente LucaGessi un messaggio privato Visualizza ulteriori messaggi scritti dall'utente LucaGessi Aggiungi l'utente LucaGessi alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
RoTeam
Utente di HTML.it



Registrato il: May 2012

Provenienza:

Messaggi: 1348


ICQ :

MSN :

Skype :


Sei sicuro che sia il redirect?
Hai provato a fare una chiamata in ajax con l'attuale script che usi
ad una semplice pagina php per farti restituire l'output o altro, funziona su tutti i browser?

Segnala ad un moderatore | IP: Collegato | Permalink

RoTeam è offline Old Post 03-07-2012 10:54
Clicca qui per vedere il profilo dell'utente RoTeam Clicca qui per inviare all'utente RoTeam un messaggio privato Visualizza ulteriori messaggi scritti dall'utente RoTeam Aggiungi l'utente RoTeam alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
LucaGessi
Utente di HTML.it



Registrato il: May 2012

Provenienza:

Messaggi: 21


ICQ :

MSN :

Skype :


Non penso sia la chiamata ajax il problema, infatti l'unica chiamata ajax è quella che controlla i dati inseriti e in caso sono corretti inserisce la nuova riga nella tabella del database. Questo lo fa!! Controllo passo per passo con phpadmin e anche con opera, dopo l'esecuzione della chiamata ajax viene inserito una nuova riga nella tabella e il cookie, il problema penso sia nel logout.

La cosa veramente strana è che seppure ho eliminato la riga nello script php che reindirizza alla home, con opera vengo lo stesso indirizzato!!!

Se volete provare vi creo un account di prova.
Utente prova
Password provaprova
www.letsgetout.altervista.org
E' una cosa assurda, ma potrebbe essere un problema del server?

Segnala ad un moderatore | IP: Collegato | Permalink

LucaGessi è offline Old Post 03-07-2012 11:05
Clicca qui per vedere il profilo dell'utente LucaGessi Clicca qui per inviare all'utente LucaGessi un messaggio privato Visualizza ulteriori messaggi scritti dall'utente LucaGessi Aggiungi l'utente LucaGessi alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
RoTeam
Utente di HTML.it



Registrato il: May 2012

Provenienza:

Messaggi: 1348


ICQ :

MSN :

Skype :


Citazione:
Originariamente inviato da LucaGessi
Non penso sia la chiamata ajax il problema, infatti l'unica chiamata ajax è quella che controlla i dati inseriti e in caso sono corretti inserisce la nuova riga nella tabella del database. Questo lo fa!! Controllo passo per passo con phpadmin e anche con opera, dopo l'esecuzione della chiamata ajax viene inserito una nuova riga nella tabella e il cookie, il problema penso sia nel logout.

La cosa veramente strana è che seppure ho eliminato la riga nello script php che reindirizza alla home, con opera vengo lo stesso indirizzato!!!

Se volete provare vi creo un account di prova.
Utente prova
Password provaprova
www.letsgetout.altervista.org
E' una cosa assurda, ma potrebbe essere un problema del server?

Se avevi usato il redirect 301 per diverso tempo potrebbe essere dovuto anche al server
aspetta un po o fai altre prove in un altra pagina

Segnala ad un moderatore | IP: Collegato | Permalink

RoTeam è offline Old Post 03-07-2012 11:13
Clicca qui per vedere il profilo dell'utente RoTeam Clicca qui per inviare all'utente RoTeam un messaggio privato Visualizza ulteriori messaggi scritti dall'utente RoTeam Aggiungi l'utente RoTeam alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
LucaGessi
Utente di HTML.it



Registrato il: May 2012

Provenienza:

Messaggi: 21


ICQ :

MSN :

Skype :


Quindi era sbagliato usare il redirect 301 vero??
Serve solo a reindirizzare quando le pagine sono vecchie?

Segnala ad un moderatore | IP: Collegato | Permalink

LucaGessi è offline Old Post 03-07-2012 11:20
Clicca qui per vedere il profilo dell'utente LucaGessi Clicca qui per inviare all'utente LucaGessi un messaggio privato Visualizza ulteriori messaggi scritti dall'utente LucaGessi Aggiungi l'utente LucaGessi alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
RoTeam
Utente di HTML.it



Registrato il: May 2012

Provenienza:

Messaggi: 1348


ICQ :

MSN :

Skype :


Citazione:
Originariamente inviato da LucaGessi
Quindi era sbagliato usare il redirect 301 vero??
Serve solo a reindirizzare quando le pagine sono vecchie?

Serve per fare una specie di redirect permanente, ad esempio in pagine che
devi sostituire con quelle nuove, se trasferisci un dominio o cosi via

Segnala ad un moderatore | IP: Collegato | Permalink

RoTeam è offline Old Post 03-07-2012 11:22
Clicca qui per vedere il profilo dell'utente RoTeam Clicca qui per inviare all'utente RoTeam un messaggio privato Visualizza ulteriori messaggi scritti dall'utente RoTeam Aggiungi l'utente RoTeam alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
LucaGessi
Utente di HTML.it



Registrato il: May 2012

Provenienza:

Messaggi: 21


ICQ :

MSN :

Skype :


Quindi era completamente sbagliato l'utilizzo che ne facevo.
Per di più ho riprovato e ora sembra funzionare quindi forse era proprio quello il problema.

Segnala ad un moderatore | IP: Collegato | Permalink

LucaGessi è offline Old Post 03-07-2012 11:26
Clicca qui per vedere il profilo dell'utente LucaGessi Clicca qui per inviare all'utente LucaGessi un messaggio privato Visualizza ulteriori messaggi scritti dall'utente LucaGessi Aggiungi l'utente LucaGessi alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
LucaGessi
Utente di HTML.it



Registrato il: May 2012

Provenienza:

Messaggi: 21


ICQ :

MSN :

Skype :


Ho aspettato qualche giorno ma il problema si presenta ancora!
Cosa potrebbe essere?
Dite che se fosse il redirect se cambiassi la cartella in cui risiede la pagina logout.php funzionerebbe?

Segnala ad un moderatore | IP: Collegato | Permalink

LucaGessi è offline Old Post 05-07-2012 17:44
Clicca qui per vedere il profilo dell'utente LucaGessi Clicca qui per inviare all'utente LucaGessi un messaggio privato Visualizza ulteriori messaggi scritti dall'utente LucaGessi Aggiungi l'utente LucaGessi alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
RoTeam
Utente di HTML.it



Registrato il: May 2012

Provenienza:

Messaggi: 1348


ICQ :

MSN :

Skype :


Citazione:
Originariamente inviato da LucaGessi
Ho aspettato qualche giorno ma il problema si presenta ancora!
Cosa potrebbe essere?
Dite che se fosse il redirect se cambiassi la cartella in cui risiede la pagina logout.php funzionerebbe?

A me non fa nessun redirect, ho fatto l'accesso con l'account di prova, fa il logout
ma per l'appunto non il redirect, inoltre da un errore se si fa accesso diretto
alla pagina da sloggato, $_COOKIE['lgo_session_id'] controlla prima che esista
quando lo recuperi

Segnala ad un moderatore | IP: Collegato | Permalink

RoTeam è offline Old Post 05-07-2012 17:49
Clicca qui per vedere il profilo dell'utente RoTeam Clicca qui per inviare all'utente RoTeam un messaggio privato Visualizza ulteriori messaggi scritti dall'utente RoTeam Aggiungi l'utente RoTeam alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
LucaGessi
Utente di HTML.it



Registrato il: May 2012

Provenienza:

Messaggi: 21


ICQ :

MSN :

Skype :


Il redirect ora non lo fa perchè in questo momento lo script non ha la riga header(location ) per provare, mentre all'errore non lo avevo riscontrato, ora provo!
A me non da nessun errore???
Come è possibile?

Credo che debba aggiornare la pagina, perchè ora effettivamente c'è il controllo sulla presenza del cookie.Ho corretto if(_COOKIE[...]) con if(isset(_COOKIE[...]).

Ultima modifica ad opera dell'utente LucaGessi il 05-07-2012 alle 18:06

Segnala ad un moderatore | IP: Collegato | Permalink

LucaGessi è offline Old Post 05-07-2012 18:02
Clicca qui per vedere il profilo dell'utente LucaGessi Clicca qui per inviare all'utente LucaGessi un messaggio privato Visualizza ulteriori messaggi scritti dall'utente LucaGessi Aggiungi l'utente LucaGessi alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
cicciaramba
Utente di HTML.it



Registrato il: Jul 2012

Provenienza:

Messaggi: 256


ICQ :

MSN :

Skype :


Ti risulta così difficile leggere il regolamento prima di postare???

Segnala ad un moderatore | IP: Collegato | Permalink

cicciaramba è offline Old Post 05-07-2012 19:32
Clicca qui per vedere il profilo dell'utente cicciaramba Clicca qui per inviare all'utente cicciaramba un messaggio privato Visualizza ulteriori messaggi scritti dall'utente cicciaramba Aggiungi l'utente cicciaramba alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
LucaGessi
Utente di HTML.it



Registrato il: May 2012

Provenienza:

Messaggi: 21


ICQ :

MSN :

Skype :


Ho letto sia il regolamento generale che lo spefico di questo forum.
Cosa ho scritto di sbagliato?
Ho anche modificato i messaggi senza aggiungerne di nuovi.

Segnala ad un moderatore | IP: Collegato | Permalink

LucaGessi è offline Old Post 05-07-2012 23:23
Clicca qui per vedere il profilo dell'utente LucaGessi Clicca qui per inviare all'utente LucaGessi un messaggio privato Visualizza ulteriori messaggi scritti dall'utente LucaGessi Aggiungi l'utente LucaGessi alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
LucaGessi
Utente di HTML.it



Registrato il: May 2012

Provenienza:

Messaggi: 21


ICQ :

MSN :

Skype :


Allora, ho provato a mettere logout.php in una cartella diversa e ora funziona quindi si può considerare risolto il problema per il bene del forum e di cicciaramba.

Grazie RoTeam per l'aiuto.

Segnala ad un moderatore | IP: Collegato | Permalink

LucaGessi è offline Old Post 06-07-2012 10:23
Clicca qui per vedere il profilo dell'utente LucaGessi Clicca qui per inviare all'utente LucaGessi un messaggio privato Visualizza ulteriori messaggi scritti dall'utente LucaGessi Aggiungi l'utente LucaGessi alla tua lista degli utenti amici Modifica / Cancella il messaggio Rispondi quotando   Torna su
Tutte le ore sono con fuso orario CET. Ora sono le 16:46.     

    Ultima discussione   Prossima discussione Invia una risposta
Versione per la stampa | Invia il thread via email | Ricevi aggiornamenti sul thread | Scarica il thread
 

Cerchi un argomento specifico e hai fretta? Usa il motore di ricerca