Ownmen Posted September 5, 2007 Report Share Posted September 5, 2007 (edited) Sveiki, esmu galīgs nwebie php un MySQL, tāpēc lūdzu palīdzību šeit. Redzēju vienu līdzīgu topiku, bet īsti neizpartu. Tātad esmu uzrakstījis register un login skriptu, bet ir problēma ar logout.php. Problēma: spiežu iziet, viss notiek, bet kad pārlūkā spiež pogu back, viņš iemet mani atpakaļ logged_in.php failā... Vajadzētu būt tā, ka paliek tajā pašā login.php failā. dzirdēju kaut ko par session_destroy, bet nemāku pielietot īsti, tāpēc varbūt variet man izpalīdzēt. login.php <?php include('db_connect.php'); session_start(); $email = htmlspecialchars($_POST['email']); $password = md5($_POST['password']); $query = "select * from members where email='$email' and password='$password'"; $result = mysql_query($query); if (mysql_num_rows($result) != 1) { echo 'Nepareizs e-pasts vai parole!'; include("index.php"); } else { $_SESSION['email'] = "$email"; include('logged_in.php'); } ?> logout.php <?php $_SESSION['email'] = ""; header('location: index.php'); ?> help? Edited September 11, 2007 by Ownmen Link to comment Share on other sites More sharing options...
Kristabs Posted September 5, 2007 Report Share Posted September 5, 2007 logout.php <?php session_start(); session_destroy(); header('location: index.php'); ?> Link to comment Share on other sites More sharing options...
Ownmen Posted September 6, 2007 Author Report Share Posted September 6, 2007 bet viņš tā pat iemet mani atpakaļ tajā logged_in.php Link to comment Share on other sites More sharing options...
andrisp Posted September 6, 2007 Report Share Posted September 6, 2007 Tev iekš tā logged_in.php faila notiek pārbaude vai lietotājs ir ielogojies ? Nu tipa: if (empty($_SESSION['email'])) { die(); // vai arī redirekts } Link to comment Share on other sites More sharing options...
Ownmen Posted September 6, 2007 Author Report Share Posted September 6, 2007 logged_in.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>Sākums</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> Čau, <?php $result = mysql_query("SELECT * FROM members WHERE email = '$email'"); while($row = mysql_fetch_array($result)) { echo $row['name'] . " " . $row['surname']; } ?>!<br /> Viss kārtībā (zied atkal zemenes :D), esi iekšā!<br /> A hujakš, te tak nekā nav :DDDDDDDDD!<br /> <a href='logout.php'>iziet</a> </body> </html> bet man liekas, ka vajadzētu tajā login.php nevis incude šito failu bet aiznest uz header... bet hvz Link to comment Share on other sites More sharing options...
andrisp Posted September 6, 2007 Report Share Posted September 6, 2007 1) Tev tajā logged_in.php taču vispār nav nekādu pārpaužu. Tāpēc jau nospiežot back pogu tu tiec atpakaļ. 2) Ja tu selektē vienu rindu (cik saprotu, email ir unikāls?), tad kāda jēga izmantot while() ? Link to comment Share on other sites More sharing options...
Ownmen Posted September 6, 2007 Author Report Share Posted September 6, 2007 labi, mēģināšu kaut ko uzveidot... Link to comment Share on other sites More sharing options...
Ownmen Posted September 11, 2007 Author Report Share Posted September 11, 2007 (edited) nu man tagad visa šī lieta strāda, un tikko pabeidzu online.php (Rāda kas pieslēdzies no reģistrētajiem lietotājiem) un it kā uztaisīju ļoti vienkāršu fīču - cik vispār tagad lietotāji pieslēgušies: $on = mysql_fetch_row(mysql_query("SELECT * FROM members WHERE online = 'Y'")); echo "Pašlaik pieslēgušies: ".$on[0]; Tikai viena lieta - ja neviens nav pieslēdzies, nerāda '0'... kā lai dabū, ka rāda? EDIT: Un vēl viena lieta... nu es pieslēdzos un ķipa datubāzē tabulas kolonnā 'online' mani apdeito kā 'Y', un kad spiežu online.php, kur rāda kas online, mani arī tur protams rāda, bet vai ir iespēja, lai mani tur nerādītu? Edited September 11, 2007 by Ownmen Link to comment Share on other sites More sharing options...
andrisp Posted September 11, 2007 Report Share Posted September 11, 2007 (edited) Tu esi pārliecināts, ka pat tad, kad kāds ir pieslēdzies, tev tas kodiņš izdrukā pareizo skaitu ? Pēc manas saprašanas tu vienkārši izdrukā pirmās atgrieztās rindas pirmā lauka vērtību. Es darītu kaut kā šādi: list($online_user_count) = mysql_fetch_row(mysql_query("SELECT COUNT(*) FROM members WHERE online = 'Y'")); echo "Pašlaik pieslēgušies: ".$online_user_count; Par to otru problēmu: neko nesapratu. Edited September 11, 2007 by andrisp Link to comment Share on other sites More sharing options...
Grey_Wolf Posted September 11, 2007 Report Share Posted September 11, 2007 Tikai viena lieta - ja neviens nav pieslēdzies, nerāda '0'... kā lai dabū, ka rāda? a kaa tu zini ka neraada? tiko sac skatiities pats tachu esi Online ;) to otro problemu noceko skaitu -1 noceko sleptos lietotajus (ko jaslepj) un pie vinju nikiem neamz neparbaudi vai ir Online... Link to comment Share on other sites More sharing options...
Ownmen Posted September 11, 2007 Author Report Share Posted September 11, 2007 nu rādīja jau pareizi, bet tavs jau labāks, protams, tāpēc paldies (Rāda arī 0 tagad :)) un par otro problēmu... nu tur kur piemēram forumā rāda visus lietotājus kopā, kas pieslēgušies, vai ir iespēja, ka mani tur nerādītu... Link to comment Share on other sites More sharing options...
andrisp Posted September 11, 2007 Report Share Posted September 11, 2007 Iekš selekta ieliec, ka WHERE online = 'Y' AND id != $tavs_lietotaaja_id. Un vienalga kaut kā neticās, ka #8 postā iepostētais kods varētu rādīt pareizu skaitu. :/ Link to comment Share on other sites More sharing options...
v3rb0 Posted September 11, 2007 Report Share Posted September 11, 2007 piekrītu ka #8 posta scripts rāda pareizu pirmā lietotaja id. Link to comment Share on other sites More sharing options...
Ownmen Posted September 11, 2007 Author Report Share Posted September 11, 2007 Iekš selekta ieliec, ka WHERE online = 'Y' AND id != $tavs_lietotaaja_id. Un vienalga kaut kā neticās, ka #8 postā iepostētais kods varētu rādīt pareizu skaitu. :/ Ļoti jauki, viss notiek :) Link to comment Share on other sites More sharing options...
Recommended Posts