Kezdőoldal » Számítástechnika » Weblapkészítés » Egy elmés megoldás az alábbiakra?

Egy elmés megoldás az alábbiakra?

Figyelt kérdés

A weboldalamon szeretném azt megoldani, hogy:


ha be van jelentkezve akkor mondjuk opcio1.php -t includoljuk be, ha nincs akkor meg az opcio2.php -t.


Ezt hogy oldanátok meg?


Session -k ilyesmik:

$_SESSION['username']=$username;

$_SESSION['loggedin']="true";


--------------------------------------------

PHP -hoz alap szinten értek.. De gyorsan tanulok! :)

--------------------------------------------


ha más kérdés lenne a kódommal kapcsolatban válaszolok!



2014. júl. 27. 16:29
 1/7 anonim ***** válasza:
79%
include(($_SESSION['loggedin'])?('opcio1.php'):('opcio2.php'));
2014. júl. 27. 16:43
Hasznos számodra ez a válasz?
 2/7 A kérdező kommentje:
más megoldás?
2014. júl. 27. 17:19
 3/7 anonim ***** válasza:

if(loggedin){

include(opc1.php)

}else{

include(opc2.php)

}


Vagy

$opcio = 'opc1.php';

if(logged) $opcio = 'opc2.php';


include($opcio);



de ha az opciót úgy érted, hogy a vendégnek login screen van csak, akkor

if(loggedin) redirect(..)

else{

bejelentkezés/reg

}



a vizsgálást én úgy csinálnám, hogy if(isset($_SESSION['username']))

nem tudom miért kell a loggedin logikai változó, sok helyen látom, ha valaki tudja hogy mire jó/tényleg felesleges, az világosítson fel :)

2014. júl. 27. 19:00
Hasznos számodra ez a válasz?
 4/7 anonim ***** válasza:

> ha be van jelentkezve akkor mondjuk opcio1.php -t includoljuk be, ha nincs akkor meg az opcio2.php -t.


#1-es kódja pont ezt csinálja, amit leírtál. Miért nem jó?

2014. júl. 27. 19:00
Hasznos számodra ez a válasz?
 5/7 anonim ***** válasza:

#3 -as: Mindkettő felesleges. :-)

Ha igazán jót akarunk csinálni, akkor belépéskor egy adatbázisba tároljuk a PHPSESSID -t, user ID -t, belépés idejét, utolsó frissítést, és mondjuk IP címét.

Majd mikor oldal lekérdezés történik adatbázisban össze vetjük a PHPSESSID -t a táblával, és ha van aktív login, akkor user ID -vel társítva, kitudjuk hámozni ki van belépve.

Ha meg kilép jelőljük hogy kijelentkezet és hogy nem érvényes a belépés.

Így ha vissza kell nézni a felhasználó honnan volt belépve, meg lesz egyből az IP címe.

kliens oldalon pedig semmi nincs ami véletlen is rozskezekbe kerülhetne :-)

2014. júl. 27. 20:38
Hasznos számodra ez a válasz?
 6/7 Drone007 ***** válasza:
79%

Azt figyeltem meg, hogy a legtöbben nem gondolják át mi is a cél, és milyen módon is kellene azt elérni.


Célszerű a programozási feladatokhoz lejegyezni a folyamatokat. A legjobb, ha felvázolsz egy folyamatábrát, amin végigköveted, hogy mik a fontosabb lépések, amiknek az eredményeihez el akarsz jutni.


Esetünkben:


// INICIALIZÁCIÓ

1. indítsuk/folytassuk a munkafolyamatot (session_start())

2. létezik már a 'logged' session? ha nem létezik állítsd 0 értékre.


// KIÉRTÉKELÉSEK

3. érkeztek post adatok a bejelentkezési űrlapról (ez csak $_SESSION['logged'] == 0 esetén állhat fenn)

3.a. ha érkeztek adatok, akkor ellenőrizd, ha valid, akkor a user ID-jét töltsük a 'logged' session-be


4. érkeztek kijelentkezési adatok?

4.a. ha érkeztek, a 'logged' session-t állítsuk 0-ra


// MEGJELENÍTÉSI RÉSZ

5. ha a 'logged' 0, mutasd a bejelentkezési űrlapot

6. ha a 'logged' nem 0, mutasd a bejelentkezett adatait, a kijelentkezés gombot, esetleg egyéb tartalmakat


A folyamatleírás alapján már viszonylag egyszerű elkészíteni a bejelentkezést, arra kell csupán figyelni, hogy az inicializáció és kiértékelési részeket minden alkalommal betöltse a honlap függetlenül attól, hogy be van-e jelentkezve vagy nincs. Ezeket külön fájlban is meg lehet oldani, és az index elején egy include_once() hívással beágyazhatjuk.

2014. júl. 27. 21:34
Hasznos számodra ez a válasz?
 7/7 A kérdező kommentje:
köszönöm a válaszokat!
2014. júl. 30. 19:09

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!