14. oktober 2010 - 21:02Der er
25 kommentarer og 1 løsning
session Porblem ??
Hey er der nogen der kan hjælpe mig med et lille problem, jeg er ved at lave et login system det virker okay men når jeg vil gå ind og vil læse min post på siden så logger den delvis ud for jeg kan godt gå en side tilbage så er jeg logget ind igen. jeg bruger det her på alle mine sider som skal beskyttes
<?PHP session_start(); include("includes/db.php"); if(!isset($_SESSION['username'])) die("Du skal logge ind for at se denne side"); $ko = $_SESSION['username'];
-> #2: Jeg kan godt forstår hvis #1 er forvirret, for indrykningen af koden tyder på, at linjen med $ko-variablen også skal indgå i if-sætningen!
Svar: ---- Er det bare mig, der mener, at $_SESSION['username'] altid vil få isset() til at returnere true når han ved login sætter den (også selvom den bliver = "") .. jeg tror flg. vil virke bedre:
<?PHP session_start(); include("includes/db.php"); if( empty($_SESSION['username']) ) die("Du skal logge ind for at se denne side"); $ko = $_SESSION['username'];
Er gerne den jeg selv bruger, og har virket fint for mig hidtil. Til tider bruger jeg også en $_SESSION['logged_in'] som indeholder en boolean værdi. I såfald kan man jo bare bruge en:
if(!$_SESSION['logged_in']) eller if($_SESSION['logged_in'] == false)
cronaldo har fuldstændig ret, grunden til min kommentar var indrykningen der tydede på $ko hørte med. Generelt synes jeg nu også at det er pænt at bruge {} i sin kode for at lette læsbarheden. Men det er jo i så fald en smagssag.
Du har ret såfremt han tjekker om der er returneret nogle rækker - hvis det tjek ikke er med så vil isset 100% ikke virker - og da jeg ikke tror det er meningen, at "username" må være tomt er !empty() helt optimal!
hey tak for de mange indlæg :D jeg brugte det her <?PHP session_start(); include("includes/db.php"); if( empty($_SESSION['username']) ) { die("Du skal logge ind for at se denne side"); $ko = $_SESSION['username']; } og det lader til at virke fint.
det der med $ko er bare fordi jeg ikke rigtig vidste hvad jeg skulle kalden den smiler
her er hele den kode jeg bruger i toppen af alle de sider som skal være beskydes og kun kan ses hvis man er logget ind
<?PHP session_start(); include("includes/db.php"); if( empty($_SESSION['username']) ) { die("Du skal logge ind for at se denne side"); $ko = $_SESSION['username']; }
$bruger = mysql_query("select * from brugere WHERE username='$ko'")or die(mysql_error()); while ($row1 = mysql_fetch_array($bruger)){
$profilID = $row1["id"]; } ?> og så bruger jeg bare $profilID længernede af siden
Jamen så er det hele jo fint, hvis du har testet både ved at være logget ind, og ved ikke at være logget ind og det virker efter hensigten så er målet jo nået.
Variablen er ikke tom - du kan godt definere variablen indenfor løkker og benytte den udenfor.. Fandt jeg ud af gennem praksis - jeg havde samme mening som dig tidligere, men det virker mærkværdigvis!
Lol - det havde jeg slet ikke lagt mærke til :D Nej, jeg bøjer mig i støvet - faktisk lidt sjovt. ;) Du har hundrede procent ret - den skal udenfor løkken så :P
tja det er ved at være gammelt så men det virker for det meste så ved ikke hvordan jeg skal fordele pointne. er der nogen der vil harve nogen for i kom da alle med forslag :D
vi kom vist ikke rigtig nogen vegne her - jeg springer over
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.