![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 3 Dołączył: 26.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Piszę właśnie skrypt logowania się użytkowników. Mam z nim pewien problem. Mianowicie, niezależnie od tego jakiego użytkownika chcę zalogować loguje się zawsze jeden i ten sam pierwszy użytkownik w bazie danych. Zupełnie nie mogę sobie poradzić z tym skryptem. Proszę o pomoc. Kod <?php if (isset($_POST['user_email']) and isset($_POST['user_password']) ) { include("config.php"); @mysql_connect ("$mysql_host", "$mysql_user", "$mysql_password") or die ("Nie można połączyć się z MySQL"); @mysql_select_db ("$mysql_db") or die ("Nie można połączyć się z bazą $mysql_db"); mysql_query("SET NAMES 'utf8'"); $email=mysql_real_escape_string(trim($_POST['user_email'])); $password=mysql_real_escape_string(trim($_POST['user_password'])); if ($email!="" and $password!="") { $password = sha1(md5($password)); $query="SELECT * FROM users WHERE user_email='$email' and user_password ='$password'"; $temp=mysql_query($query) or die("<strong>Wystąpił błąd</strong>"); $num=mysql_num_rows($temp); $temp=mysql_fetch_array($temp); $id=$temp['id']; if ($num==1) { $result = mysql_query ("SELECT * FROM users WHERE user_email='$email' and user_password ='$password'"); if ($result && $record = mysql_fetch_assoc ($result)) { foreach($record as $key => &$value) {$value = stripslashes($value);} $user_active = $record['user_active']; $user_email = $record['user_email']; $user_id = $record['user_id']; } if ($user_active == 0) { session_start(); $_SESSION['sesja']="ok"; $_SESSION['user_email'] = $user_email; $_SESSION['user_id'] = $user_id; header('Location: index.php?panel=ok'); } else { echo"<strong>Błąd logowania!</strong><p>Nie jesteś aktywowany! Odbierz maila z linkiem aktywacyjnym.</p>"; } } else echo ('<strong>Błąd logowania!</strong><p>Podales złe dane! Spróbuj zalogować się ponownie.</p>'); } } else{ ?> <form action="#" method="post"> <fieldset> <div class="divform"><label>E-mail:</label> <input name="user_email" type="text" value="" /></div> <div class="divform"><label>Hasło:</label> <input name="user_password" type="password" value="" /></div> <div class="divform"><label><?php echo "<a href=\"http://$domain/index.php?register=ok\">Zarejestruj się</a>"; ?></label><input type="submit" value="Zaloguj się" /></div> </fieldset> </form> <?php }?> Poradziłem już sobie z tym problemem. Mam jednak jeszcze jeden problem jak ustawić jedną sesję dla wszystkich subdomen? Ten post edytował tadek92 22.05.2009, 18:02:57 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat jak ustawić jedną sesję dla wszystkich subdomen? Było, poszukaj. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 3 Dołączył: 26.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Szukałem na forum i nie mogłem znaleźć, a problem z logowanie z nów wrócił. Teraz jak zaloguje się na danego użytkownika to a początku jest dobrze, a jak przełączę na inną podstronę to automatycznie zmienia mi użytkownika nie mam pojęcia dlaczego tak się dzieje.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat to automatycznie zmienia mi użytkownika nie mam pojęcia dlaczego tak się dzieje. Zmienia, czy wylogowuje? Cytat Szukałem na forum i nie mogłem znaleźć Szukaj przez Google na forum (masz logo ![]() -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 3 Dołączył: 26.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zmienia użytkownika na innego. A co do sesji to poszukam przez Google.
Tą dziwną sytuację z logowaniem możecie zobaczyć na tej stronie: http://webcreat.pl/ zalogujcie się tam jako ffupload@gmail.com haslo 1234. Potem jak się wejdzie na stronę główną, a następnie na stronę wszyscy użytkownicy lub z powrotem do panelu to zmienia się użytkownik dlaczego się tak dzieje. Proszę o pomoc bo nie mogę sobie wogóle z tym poradzić. O i jeszcze jedno spostrzeżenie jak zaloguję się na pierwszego użytkownika to wszystko w porządku. sprawdźcie sami email oksi3w@gmail.com hasło haslo Jak uzunąłem <?php session_start(); ?> ze strony index.php to wszystko w porządku ale musi być tam to wpisane bo tam też muszę gdzie nie gdzie sprawdzić czy sesja jest. Ale znów jak to zostawie to jak wejde na index.php ze strony panel.php, a potem z powrotem na strone panel.php to wartość sesji się zmienia i niewiem dlaczego. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 1 Dołączył: 23.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj przenieść session_start(); na początek pliku, powinno pomóc.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 3 Dołączył: 26.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zmieniłem trochę plik login.php usunąłem z niego session_start(), a zostawiłem tylko w index.php,
ale nadal dzieje się to samo jak wejdę na stronę, która includuje plik user.php to wszystko się wali. plik login.php Kod <?php if (isset($_POST['user_email']) and isset($_POST['user_password']) ) { include("config.php"); @mysql_connect ("$mysql_host", "$mysql_user", "$mysql_password") or die ("Nie można połączyć się z MySQL"); @mysql_select_db ("$mysql_db") or die ("Nie można połączyć się z bazą $mysql_db"); mysql_query("SET NAMES 'utf8'"); $email=mysql_real_escape_string(trim($_POST['user_email'])); $password=mysql_real_escape_string(trim($_POST['user_password'])); if ($email!="" and $password!="") { $password = sha1(md5($password)); $query="SELECT * FROM users WHERE user_email='$email' and user_password ='$password'"; $temp=mysql_query($query) or die("<strong>Wystąpił błąd</strong>"); $num=mysql_num_rows($temp); $temp=mysql_fetch_array($temp); $id=$temp['user_id']; if ($num==1) { $result = mysql_query ("SELECT * FROM users WHERE user_email='$email' and user_password ='$password'"); if ($result && $record = mysql_fetch_assoc ($result)) { foreach($record as $key => &$value) {$value = stripslashes($value);} $user_active = $record['user_active']; $user_email = $record['user_email']; $user_id = $record['user_id']; } if ($user_active == 0) { $_SESSION['sesja']="ok"; $_SESSION['user_email'] = $user_email; $_SESSION['user_id'] = $user_id; header('Location: panel.php'); } else { echo"<strong>Błąd logowania!</strong><p>Nie jesteś aktywowany! Odbierz maila z linkiem aktywacyjnym.</p>"; } } else echo ('<strong>Błąd logowania!</strong><p>Podales złe dane! Spróbuj zalogować się ponownie.</p>'); } } else{ ?> <form action="#" method="post"> <fieldset> <div class="divform"><label>E-mail:</label> <input name="user_email" type="text" value="" /></div> <div class="divform"><label>Hasło:</label> <input name="user_password" type="password" value="" /></div> <div class="divform"><label><?php echo "<a href=\"http://$domain/index.php?register=ok\">Zarejestruj się</a>"; ?></label><input type="submit" value="Zaloguj się" /></div> </fieldset> </form> <?php }?> plik index.php Kod <?php session_start(); $_SESSION['user_id'] = $_SESSION['user_id']; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <meta name="author" content="Ugly Templates - Free web templates - www.uglytemplates.com" /> <meta name="keywords" content="wdsf" /> <meta name="description" content="fasfasf" /> <link rel="stylesheet" type="text/css" href="style.css" media="screen,projection" /> <link rel="shortcut icon" href="favicon.ico" /> <title>safa</title> <link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" /> <script src="js/prototype.js" type="text/javascript"></script> <script src="js/scriptaculous.js?load=effects,builder" type="text/javascript"></script> <script src="js/lightbox.js" type="text/javascript"></script> <script type="text/javascript"> <!-- function displayWindow(url, width, height) { var Win = window.open(url,"displayWindow",'width=' + width + ',height=' + height + ',resizable=0,scrollbars=yes,menubar=no, left=350,top=250' ); } //--> </script> </head> <body> <!----><div id="head"> <div id="blackline"><div> <?php include("menu.php"); ?> </div></div> <!----></div> <!-- end head --> <div id="greenback1"><div id="greenback2"> <!----><div id="content"><div id="contentin"> <form id="search" method="get" action=""><fieldset> <input id="searchtext" type="text" name="phrase" /> <input id="searchimage" type="submit" value="Szukaj" /> </fieldset></form> <!-- end search --> <div id="leftcol"> <div id="logo"> <h1><a href="#">Katalog</a></h1> <p>Katalog portfolio</p> </div> <div id="aboutme"><div> <h3>Najnowszy użytkownik</h3> <img src="aboutmephoto.gif" alt="Me" /> <p><strong>Name:</strong> My name</p> <p><strong>Location: </strong>Paris</p> <p>Thanks for visiting my blog. I hope you will it interesting. "This and That and More of the Same" strives to show striking images along with intriguing human interest stories. The "Memories" blog displays images of family while "Why Ask For the Moon When We Have the Stars" is devoted to friends.</p> <p class="taright"><a class="arrow" href="#">View my complete profile</a></p> </div></div> <!-- end aboutme--> <h3 class="cat">Kategorie użytkowników</h3> <ul id="menu"> <?php $result = mysql_query ("SELECT * FROM categories;"); while ($result && $record = mysql_fetch_array ($result)) { foreach($record as $key => &$value) {$value = stripslashes($value);} $cat_id = $record['cat_id']; $cat_name = $record['cat_name']; echo "<li><a href=\"index.php?category=$cat_id&cat_name=$cat_name\">$cat_name</a></li>"; } ?> </ul> <h3 class="cat">Ostatnio dołączyli</h3> <a class="adbox" href="#"><img src="ads.gif" alt="" /></a> <a class="adbox" href="#"><img src="ads.gif" alt="" /></a> <a class="adbox" href="#"><img src="ads.gif" alt="" /></a> <a class="adbox" href="#"><img src="ads.gif" alt="" /></a> <a class="adbox" href="#"><img src="ads.gif" alt="" /></a> <a class="adbox" href="#"><img src="ads.gif" alt="" /></a> <div class="floathelp"> </div> </div> <!-- end leftcol --> <div id="rightcol"><div id="rightcolin"> <?php include("content.php"); ?> </div></div> <!-- end rightcol rightcolin --> <!----><div class="floathelp"> </div></div></div> <!-- end content contentin --> </div></div> <!-- end greenback1 greenback2 --> <!----><div id="footer"> <div id="f1"><div id="f2"> <div id="footerin"> © 2003-2008 MySite.com - <a href="#">Menu link 1</a> | <a href="#">Menu link 1</a> | <a href="#">Menu link 1</a> | <a href="#">Menu link 1</a> | <a href="#">Menu link 1</a> </div> </div></div> <div id="footer2"><div>Created by <a href="http://www.uglytemplates.com/">Ugly Templates</a> - Sponsored by: <a href="http://spanelsko.poznejte.cz/">Poznejte Španělsko</a> and <a href="http://www.abouttravelblog.com/">About Travel Blog</a></div></div> <!----></div> <!-- end footer --> <div id="designhelp">UT01-CSS-HACK</div></body> </html> plik user.php winowajca? Kod <div class="article"><h2>Wszyscy użytkownicy</h2> <p>Lista wszystkich zarejestrowanych użytkowników.</p> </div> <?php include("config.php"); @mysql_connect ("$mysql_host", "$mysql_user", "$mysql_password") or die ("Nie można połączyć się z MySQL"); @mysql_select_db ("$mysql_db") or die ("Nie można połączyć się z bazą $mysql_db"); mysql_query("SET NAMES 'utf8'"); $result = mysql_query ("SELECT * FROM users ORDER BY user_data DESC;"); while ($result && $record = mysql_fetch_array ($result)) { foreach($record as $key => &$value) {$value = stripslashes($value);} $user_id = $record['user_id']; $user_name = $record['user_name']; $user_domain = $record['user_domain']; $user_data = $record['user_data']; $user_surname = $record['user_surname']; $user_description = $record['user_description']; $user_photo = $record['user_photo']; $user_active = $record['user_active']; $user_email = $record['user_email']; $user_adress = $record['user_adress']; $user_postalcode = $record['user_postalcode']; $user_city = $record['user_city']; $user_phone = $record['user_phone']; $user_shortdescription = substr($user_description, 0, 300); if ($record['user_active']==0) { echo "<div class=\"article\"> <h2><a href=\"http://www.$user_domain.$domain/\">$user_name $user_surname</a></h2> <img src=\"userphoto/$user_photo\" alt=\"$user_name $user_surname\" height=\"155\" class=\"aligntoleft\" /> <p style=\"height: 155px;\">$user_shortdescription</p> <p class=\"taright\"><a class=\"arrow\" href=\"http://www.$user_domain.$domain/\">czytaj dalej</a></p> <p class=\"info\">Zarejestrowany: $user_data</p> </div>"; } } ?> Proszę o przeanalizowanie kodu i pomoc w tej sprawie bo męczę się z tym już od piątku i nic nie mogę wymyślić. Za pomoc z gory dziękuję. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 176 Pomógł: 18 Dołączył: 5.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Według mnie, sesję startujesz w chwili logowania, a nie w chwili odpalenia strony. Dlatego
dajesz w login.php, a nie w index.php |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 3 Dołączył: 26.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Nie to na pewno nie to o czym piszesz jest przyczyną tego problemu. Jestem pewien że odpowiedzialny za to jest plik user.php, tylko nie wiem co w nim jest złe że zmienia dane w sesji. Jak wyłączyłem includowanie tego pliku to wszystko było w porządku. Natomiast jeśli uruchomie ten skrypt to wali się sejsa i automatycznie zmienia się użytkownik na pierwszego zarejestrowanego użytkownika w serwisie.
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 176 Pomógł: 18 Dołączył: 5.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Pokaż cały plik user.php
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 3 Dołączył: 26.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
To jest cały plik user.php inlcuduje go do index.php przez plik content.php, ale plik content.php jest dobry bo jak usune w nim includowanie user.php to wtedy jest dobrze.
Napewno coś w tym pliku user.php jest źle, ponieważ mam inne pliki o podobnej strukturze plik newusers.php który wyświetla najnowszych użytkowików i plik search.php. One mają ten fragment kodu odpowiedzialny za wypisanie danych użytkowników i to chyba przez to wartość sesji się zmienia, ale nie wiem czemu, ponieważ nazwy zmiennych są różne. Czy naprawde nikt nie ma pojęcia co jest nie tak z tym skryptem Bardzo proszę o pomoc. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 308 Pomógł: 13 Dołączył: 31.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Po co to $_SESSION['user_id'] = $_SESSION['user_id']; w index.php ? Trochę bez sensu...
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 3 Dołączył: 26.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
No wiem że to jest bez sensu ale zrobiłem tak bo myślałem że dzięki temu wartość sesji mi się nie zmieni, jednak to nic nie dało. Z tym i bez tego jest ten sam problem. Jestem bezradny już nie wiem co mam robić.
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 176 Pomógł: 18 Dołączył: 5.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
W pliku user.php nie wypisujesz nigdzie żadnych informacji przechowywanych w sesji to niby dlaczego on jest zły?
Może gdzieś w kodzie zamiast = dałeś == Pozdrawiam |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 108 Pomógł: 3 Dołączył: 26.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
sprawdzałem nie ma żadnego błędu (chyba) i co mam teraz zrobić napisać od nowa przecież to nie ma sensu. Proszę o pomoc bo męczę się z tym już prawie od tygodnia
Już sobie poradziłem z tym problemem. Został mi jeszcze jeden, chodzi mi o utrzymywanie sesji między subdomenami, żeby po zalogowaniu na stronie www.domena.pl sesja utrzymywała się na stronach www.subdomena1.domena.pl itd. Szukałem na forum i niby coś znalazłem ale i tak nie wiem jak to zrobić. Byłbym bardzo wdzięczny jeśli ktoś by mi coś doradził. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 02:24 |