Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]Dodanie do bazy statusu użytkownika
Forum PHP.pl > Forum > Przedszkole
jacus24
Witam chciałbym zrobić aby przy poprawnym logowaniu użytkownika do pola status w bazie było dodane 1 co będzie oznaczać że jest online. Jednak dopiero uczę się i mam z tym mały problem. Zrobiłem tak ale, tylko loguje użytkownika jednak nie dodaję tej 1 do pol status.
  1. <?php
  2. if (isset($_POST['submit'])) {
  3. $query = 'SELECT login,haslo FROM uzytkownicy WHERE login=\"'.$_POST['login'].'\" AND haslo = \"'.$_POST['haslo'].'\"';
  4. $result = mysql_query($query)
  5.  or die(mysql_error());
  6.  
  7.  if (mysql_num_rows($result) == 1) {
  8.  $_SESSION['user_logged'] = $_POST['login'];
  9.  $_SESSION['user_password'] = $_POST['haslo'];
  10. header(&#092;"Location: \" . $_POST['redirect']);
  11.  
  12. if(mysql_query($query) == 1)
  13. {
  14. $insert = &#092;"INSERT INTO uzytkownicy
  15.  (status)
  16.  VALUES
  17.  ('1')&#092;";
  18. $insertresults = mysql_query($insert)
  19. or die(mysql_error());
  20. }
  21. } else {
  22. // formularz logowania
  23. ?>

Proszę o podpowiedź gdzie popelniam błąd
NEONIX
sprawdz:
  1. <?php
  2. if (isset($_POST['submit'])) {
  3. $query = 'SELECT login,haslo FROM uzytkownicy WHERE login=\"'.$_POST['login'].'\" AND haslo = \"'.$_POST['haslo'].'\"';
  4. $result = mysql_query($query)
  5.  or die(mysql_error());
  6.  
  7.  if (mysql_num_rows($result) == 1) {
  8.  $_SESSION['user_logged'] = $_POST['login'];
  9.  $_SESSION['user_password'] = $_POST['haslo'];
  10.  
  11.  
  12. if(mysql_num_rows($query) == 1)
  13. {
  14. $insert =$insert ="UPDATE uzytkownicy SET `status`='1' where login='.$_POST['login'].'";
  15. $insertresults = mysql_query($insert)
  16. or die(mysql_error());
  17. }
  18. } else {
  19. // formularz logowania
  20. ?>
nowotny
Cytat(jacus24 @ 16.02.2008, 18:34:11 ) *
Proszę o podpowiedź gdzie popelniam błąd


Funkcją header() wywalasz użytkownika na inną stronę... tym samym cały kod poniżej tej funkcji nie ma okazji się wykonać...
jacus24
Ok działa. Jeszcze jedno pytanko czy przy wylogowaniu też dać update tylko że na 0 czy inaczej to rozwiązać?

Już zrobiłem i wszytsko działa. Dziękuje za pomoc.
NEONIX
tak, daj update na zero że jest wylogowany i to w taki sposób, ponieważ teraz nie posługujesz się $_POST['login'] tylko $_SESSION['user_logged']
  1. <?php
  2. $wyloguj="UPDATE uzytkownicy SET `status`='0' where login='. $_SESSION['user_logged'].'"
  3. if(mysql_query($wyloguj)){
  4. print "Zostałeś poprawnie wylogowany";
  5. } else { mysql_error();
  6. }
  7. ?>
mizE`
Polecam stosować angielskie nazwy, a poza tym mało bezpieczne to logowanie. blinksmiley.gif
Temat: SQL Injection Insertion
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.