Problema main / index ?
Problema main / index ? postato il 21/04/2016 11:26:59 nel forum programmazione, open source e hosting
Salve ragazzi,
Vorrei implementare questa cosa nella mia land.
Se per esempio l'url per registrarsi alla mia land è www.land.it/index.php, mi registro entro nella land tramite login arrivo alla pagina www.land.it/main.php?page=mappaclick&map_id=1.
se però nell'url ridigito www.land.it/index.php non mi ritorna al gioco come da prassi comune nei game browser. quindi come faccio a far in modo che se loggati ( e ovviamente non sia scaduta la pagina) ritorni al main ?
grazie e buon game a tutti
Pagine → 1
21/04/2016 11:41:31
non ho bene bene capito il tuo problema e del perchè dovresti rimettere index.php ma ti basta fare un check su una variabile di sessione prima di iniziare a creare la pagina index.
if <varibile di sessioe che dice sono già loggato è TRUE> { <vai a main> }
else { <prosegui su index e login> }
è questo che intendevi?
21/04/2016 11:49:30 e modificato da pamela4e il 21/04/2016 11:56:35
allora se io mi son loggato nel gioco e riscrivo url www.land.it non mi entra nel main ma nell'index cosa sbagliata perchè se uno non è "arrivato" riclicca su login e gli da ovviamente l'errore che è già loggato non so se riesco a spiegarmi
quindi secondo me il controllo dovrebbe esser fatto nella index controllando se l'utente è gia loggato mandarlo al main.
quindi si effettivamente è proprio quello che hai scritto tu che devo fare. riusciresti a darmi il codice e la posizione coerente dove metterlo ? se non vi è di disturbo
21/04/2016 11:57:30
si allora dovresti risolvere semplicemente facendo un test all'inizio della pagina index.
procedendo per passi:
Dopo il login imposterai una variabile di sessione che definisce online il personaggio, chessò,
$_SESSION['dentro'] = TRUE
nella pagina index fai un semplice test del tipo:
if ($_SESSION['dentro']) {
<carica pagina main>
}
else {
<visualizza login>
}
in questa maniera se entri per la prima volta nella land fai il login normale, se invece torni dopo aver già fatto il login (per esempio hai chiuso la pagina ma non il browser), ti manda direttamente alla main
21/04/2016 12:09:29 e modificato da pamela4e il 21/04/2016 12:39:47
quindi dopo per esempio
/*Redirigo alla pagina del gioco*/
header('Location: main.php?page=mappaclick&map_id='.$_SESSION['mappa'], true);
$_SESSION['dentro'] = TRUE
e aggiungo la variabie.
poi nella index all'inizio inserisco
<?php
if ($_SESSION['dentro']) {
header('Location: main.php?page=mappaclick&map_id='.$_SESSION['mappa'], true);
}
else {
header("location: http://www.land.it/login.php");
}
$dont_check = FALSE;
$check_for_update = TRUE;
giusto ?
___
provato e se faccio cosi non funziona non mi rimanda al main :( come se non vedesse ( effettivamente come potrebbe ) la variabile dentro
21/04/2016 14:19:15
puteola mi ha anticipato. Ora dovrebbe andare, giusto?
21/04/2016 14:37:37
allora nel login
/*setto la variabile di presenza*/
$_SESSION['dentro'] = TRUE;
/*Redirigo alla pagina del gioco*/
header('Location: main.php?page=mappaclick&map_id='.$_SESSION['mappa'], true);
}else
{
nel index:
<?php
if ($_SESSION['dentro']) {
header('Location: main.php?page=mappaclick&map_id='.$_SESSION['mappa'], true);
}
else { ---CODICE PAGIN MAIN-- }
non funziona ... :0
21/04/2016 14:39:52 e modificato da dyrr il 21/04/2016 14:40:13
senza usare altre variabili di sessione si può usare $_SESSION['login'] come variabile di controllo per una cosa del genere. C'è anche da aggiungere prima di quell'if il far partire la sessione con un session_start() in quando la sessione nell'index.php non viene mai inizializzata.
Un altra cosa su cui bisogna far attenzione su un redirect del genere, è che il gdrcd usa l'index.php come front controller per tutte le pagine esterne del sito quindi tipo pe ril regolamento:
http://applications.lan/github/GDRCD/index.php?page=index&content=user_regolamento
e facendo un redirect come quello nell'if diventerebbero inaccessibili tutte quelle pagine in quanto se uno è ancora loggato andrebbe al main.php se sloggato al login, qualsiasi volta tenta di accedere all'index anche per le altre pagine
21/04/2016 14:42:44 e modificato da pamela4e il 21/04/2016 14:48:52
allora potresti esplicitare il codice così lo testo ?
invece per il discorso regolamento l'ho integrato all'interno così da evitare qualsiasi problema di quel tipo
dyrr come al solito grazie funziona :DD
21/04/2016 14:45:50 e modificato da dyrr il 21/04/2016 14:46:08
rièrendenso il codice suggerito alcuni post prima:
session_start();
if (isset($_SESSION['login'])) {
header('Location: main.php?page=mappaclick&map_id='.$_SESSION['mappa'], true);
}
else {
header("location: http://www.land.it/login.php");
}
21/04/2016 14:50:01
si ci ero arrivato provando da solo e funziona!
cosi :
session_start();
if ($_SESSION['login']) {
header('Location: main.php?page=mappaclick&map_id='.$_SESSION['mappa'], true);
}
else { --MAINCODE--
grandi ragazzi siete i migliori
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Cafuné ↗
World of the Sea Battle ↗
Wuthering Waves ↗
Exclusive Villa GdR ↗
The Coven ↗
Fallen Gods ↗
Tibia ↗
Tiles Survive ↗
AlterEgo ↗
Hero Wars ↗